AI 제작 가이드

SI 회사에 엑셀 관리대장을 업무 시스템으로 옮기는 개발 맡기기

엑셀 대장을 업무프로그램으로 옮길 때 필요한 거래처코드·날짜·중복행 검사, 기존 업무와의 병행 대조, 누락 복구 방법을 설명합니다. SI 회사에 소프트웨어 개발을 발주할 때 정할 자료와 인수 기준도 짚습니다.

핵심 요약

1. 오래된 엑셀 대장을 업무프로그램으로 옮기고, 원본과 새 화면의 결과를 대조합니다. 2. pandas로 시트를 읽고 dbt로 오류 행을 검사하며, PostgreSQL 트랜잭션으로 데이터 반영을 묶습니다. 3. 거래처코드·날짜·중복행 판정과 누락 복구 절차는 업무 기준에 맞춰 직접 개발합니다.

엑셀 대장 이관은 파일을 올리는 것만으로 끝나지 않습니다. 같은 거래처가 다른 코드로 기록되거나 날짜 형식이 섞이면 새 프로그램에서도 혼란이 이어집니다. SI 회사에 소프트웨어 개발을 맡길 때는 옮길 자료와 인수 기준을 함께 정해야 합니다. 아래 이관 기능에는 업무별로 별도 개발할 로직이 필요합니다.

pandas로 엑셀 시트를 읽고 항목 연결하기

발주 준비 자료로는 거래처코드·거래일·전표번호·금액이 담긴 최근 마감 월의 매입·매출 대장을 요청합니다. 두 번째로는 거래처코드·거래처명·사용 여부를 정리한 거래처 기준표를 받습니다. 이 두 자료를 비교하면 거래 내역에만 등장하는 코드와 옮겨야 할 항목을 확인할 수 있습니다.

pandas의 read_excel은 엑셀의 한 개 또는 여러 시트를 표 형태의 데이터인 DataFrame으로 읽을 수 있습니다. 읽어 온 열을 새 프로그램의 항목에 연결하는 화면과 규칙은 직접 개발합니다. 담당자가 ‘거래일자’를 ‘거래일’에 연결하면 미리보기에서 원본 값과 옮겨질 값을 함께 보여줍니다. 검수할 때는 시트별 읽은 행 수를 확인하고, 합계 행이나 메모 행이 거래 내역에 섞이지 않았는지 살핍니다.

SI 회사 기능 구현 요약
자료: 트램스 · SI 회사 기능 구현 요약

거래처코드·날짜·중복행 검사 만들기

dbt data tests는 SQL이라는 데이터 조회문으로 잘못된 행을 반환하는 검사를 작성할 수 있습니다. 어떤 행을 오류로 볼지는 업무에 맞춰 정해야 합니다. 거래처 기준표에 없는 코드와 필수 날짜가 빈 행을 찾아 ‘확인 필요 목록’에 표시하도록 개발합니다. 코드 ‘0012’와 ‘12’를 같은 거래처로 볼지, 앞자리 0을 유지할지도 담당자의 기준을 받아 처리합니다.

날짜는 허용할 표기 형식을 정하고, 뜻이 모호하거나 달력에 없는 값은 자동으로 바꾸지 않고 확인 대상으로 돌립니다. 중복 여부는 거래처명만으로 판단하지 않고 전표번호와 거래 항목 등 합의한 조합으로 검사합니다. 같은 날 같은 금액의 거래가 두 번 발생할 수도 있기 때문입니다. 화면에는 원본 파일명·시트명·행 번호와 문제 사유를 보여주고, 승인된 수정만 반영되는지 검수합니다.

기존 대장과 새 업무 화면 병행 대조하기

병행 대조에는 기준 시점을 정한 엑셀 사본을 사용합니다. 이관 후 새 화면에서 같은 기간과 거래처를 조회해 건수와 금액을 비교하는 기능을 만듭니다. 합계가 같아도 서로 다른 거래가 빠지거나 중복될 수 있으므로, 전표별 거래처코드·날짜·금액도 대조하도록 구현합니다.

SI 회사 업무 처리 순서
자료: 트램스 · SI 회사 업무 처리 순서

‘대조 결과 보기’를 누르면 차이가 있는 거래와 원본 위치를 함께 표시합니다. 취소 거래나 반품을 합계에 포함하는 방식도 기존 업무 기준에 맞춰야 합니다. 병행 기간에는 어느 쪽을 기준 대장으로 사용할지 정하고, 기준 시점 이후 추가·수정된 내역을 별도로 모읍니다. 인수 조건에는 합계 일치뿐 아니라 설명되지 않은 차이가 없고, 승인한 예외마다 근거가 남는다는 기준을 넣습니다.

PostgreSQL 트랜잭션으로 이관 묶음 반영하기

PostgreSQL 트랜잭션은 여러 데이터 변경을 함께 반영하거나 취소하지만, 외부 API 호출까지 되돌리지는 않습니다. 이관 프로그램에서는 서로 연결된 거래처 등록과 거래 내역 저장을 하나의 처리 묶음으로 개발합니다. 담당자가 검사 결과를 확인한 뒤 ‘이관 실행’을 누르면 승인된 자료만 저장하게 합니다. 한 묶음에 포함할 범위는 자료 간 연결 관계와 재처리 단위를 기준으로 정합니다.

검수할 실패 사례로는 시험 자료를 저장하는 도중 오류를 발생시키는 경우를 넣습니다. 실패한 묶음의 일부만 남지 않고, 앞서 정상적으로 반영된 자료는 유지되는지 확인합니다. 외부 시스템 전송이 포함된다면 데이터 저장과 전송 결과를 따로 확인하는 절차도 필요합니다. 발주 범위에는 실패 안내 화면과 재시도 대상 확인 기능까지 포함합니다.

SI 회사 기술별 역할
자료: 트램스 · SI 회사 기술별 역할

누락 복구와 인수 책임을 화면·문서로 남기기

누락 복구는 전체 파일을 다시 올리는 대신, 빠진 거래를 골라 원본과 비교하는 기능으로 만듭니다. ‘누락 내역 다시 반영’을 누르면 이미 저장된 거래인지 먼저 검사하는 로직을 둡니다. 거래를 구분할 기준도 사전에 합의해야 재처리 과정에서 같은 거래가 두 번 들어가는 일을 막을 수 있습니다. 복구 후에는 해당 거래와 전체 대조 결과를 다시 확인합니다.

인수 자료에는 옮긴 파일·시트 목록, 항목 연결표, 검사 결과, 승인한 예외, 복구 결과를 포함합니다. 원본 값의 의미와 수정 승인은 발주 담당자가 맡고, 변환 규칙 구현과 오류 수정은 개발 담당자가 맡는 식으로 책임을 명시합니다. 원본 누락, 변환 오류, 이관 이후 사용자 수정도 구분해 처리 범위를 정합니다. 최종 전환 시점과 문제 발생 시 기존 업무로 돌아갈 조건까지 합의해야 운영 담당자가 후속 조치를 판단할 수 있습니다.

엑셀 대장 이관을 위한 소프트웨어 개발이 필요하다면 대장 샘플, 거래처 기준표, 연결할 업무프로그램과 현재의 마감·대조 방식을 정리해 문의해 주세요. 트램스 AI 제작 문의 (https://trams.co.kr/ai-si/contact/#inquiry)

참고 자료

  1. https://trams.co.kr/ai-si/
  2. https://pandas.pydata.org/docs/reference/api/pandas.read_excel.html
  3. https://docs.getdbt.com/docs/build/data-tests
  4. https://www.postgresql.org/docs/current/tutorial-transactions.html
TRAMS AI

비슷한 AI 서비스를
사업에 적용하고 싶으신가요?

아이디어와 필요한 기능을 알려주시면 제작 범위와 방법을 검토합니다.

프로젝트 문의