AI 제작 가이드

RPA로 거래명세서와 입고 수량 자동 대조하기

거래명세서와 입고 엑셀을 대조하는 RPA 개발 방법을 설명합니다. 파일 수집부터 주문번호·수량·단위 매핑, 미일치 행 검토, 오류 파일과 중복 접수 처리까지 발주 범위와 검수 기준을 짚습니다.

핵심 요약

1. 거래명세서와 입고 엑셀을 비교해 담당자가 미일치 행을 중심으로 확인하는 RPA를 만듭니다. 2. FastAPI로 파일을 받고 pandas로 엑셀을 읽으며, BullMQ로 작업 중복 등록을 제어합니다. 3. 주문번호 연결, 단위 환산, 오류 파일 분리와 재처리 기준은 업무 규칙에 맞게 직접 개발합니다.

물류 경리 담당자는 같은 주문의 자료라도 거래처마다 다른 열 이름과 수량 단위를 확인해야 합니다. 이 업무 자동화를 개발할 때는 어떤 자료를 같은 거래로 볼지 정하고, 판단할 근거가 없는 행은 담당자에게 돌려주는 흐름부터 잡습니다.

FastAPI로 파일 접수와 수집 경로 연결하기

자료 취득 경로는 담당자 업로드와 지정 폴더 자동 수집으로 나누어 개발 범위를 정합니다. 거래처가 파일을 놓는 공유 폴더나 기존 업무 시스템의 엑셀 내보내기 기능을 사용할 수 있는지 먼저 확인합니다. 자동 수집을 선택하면 정해진 시각에 해당 위치를 확인하고, 새 파일을 대조 작업에 넘기는 연결 기능을 직접 만듭니다.

FastAPI의 UploadFile은 업로드 파일을 받는 기능을 제공합니다. 이를 이용한 접수 화면에는 거래명세서와 입고 내역을 구분하는 선택란을 두고, 접근 권한과 파일 보관 기간은 별도로 구현합니다. 빈 파일이나 열리지 않는 파일은 대조 대상에서 분리하고, 파일명과 반려 사유, 다시 올릴 방법을 보여줍니다.

RPA 기능 구현 요약
자료: 트램스 · RPA 기능 구현 요약

pandas로 거래처마다 다른 엑셀 열 맞추기

개발 전에 요청할 첫 자료는 ‘주문번호·상품코드·출고수량·단위’가 들어 있는 거래명세서 엑셀 예시입니다. 두 번째는 ‘발주번호·품목코드·입고수량·입고일’이 있는 입고 엑셀 예시입니다. pandas의 read_excel은 엑셀의 한 개 또는 여러 시트를 표 형태인 DataFrame으로 읽을 수 있습니다.

읽어 온 표를 비교하려면 어느 시트를 사용할지, 제목 행이 어디인지, 합계 행을 제외할지 정하는 규칙을 직접 개발해야 합니다. 화면에서 거래명세서의 ‘주문번호’와 입고 내역의 ‘발주번호’를 연결하고 거래처별 설정으로 저장하게 합니다. 필수 열이 빠졌거나 같은 이름의 열이 여러 개라면 임의로 선택하지 않고, 누락되거나 겹친 열을 안내하는지 검수합니다.

주문번호와 단위 환산으로 비교 기준 만들기

주문번호가 같아도 여러 상품이 묶여 있을 수 있으므로 상품코드를 함께 비교하도록 만듭니다. 앞자리 0이나 주문번호 안의 기호를 지울지는 실제 번호 규칙을 확인한 뒤 결정합니다. 거래처 상품코드와 사내 품목코드가 다르면 대응표를 등록하고, 연결되지 않은 코드는 검토 목록으로 보냅니다.

RPA 업무 처리 순서
자료: 트램스 · RPA 업무 처리 순서

수량은 같은 단위로 바꾼 뒤 비교해야 합니다. 예를 들어 시험 자료에서 특정 품목의 1박스를 12개로 정했다면, 거래명세서의 3박스와 입고 내역의 36개를 같은 수량으로 처리합니다. 이 환산표와 계산은 자체 개발 범위이며, 품목마다 다른 포장 수량도 등록할 수 있어야 합니다. 한 주문이 여러 번 나누어 입고되는 업무라면 합산할 기간과 입고 범위까지 정해야 결과를 설명할 수 있습니다.

미일치 행에서 원본까지 확인하는 검토 화면

대조 결과에는 ‘수량 차이’, ‘입고 내역 없음’, ‘단위 확인 필요’처럼 담당자가 조치할 수 있는 이유를 표시합니다. 각 행에는 양쪽 원본 수량과 단위, 환산 수량, 차이를 나란히 보여줍니다. ‘원본 위치 보기’를 누르면 파일명·시트명·행 번호를 확인하도록 만들어, 어떤 자료에서 차이가 생겼는지 찾을 수 있게 합니다.

첫 화면은 미일치 행을 중심으로 보여주되 전체 접수 건수와 비교 완료 건수도 확인할 수 있게 합니다. 대표적인 실패 검수 자료는 단위 대응표가 없는 ‘3박스’와 ‘36개’입니다. 이를 임의로 일치 처리하지 않고 단위 확인 대상으로 남기는지 확인합니다. 담당자가 환산 기준을 보완한 뒤 ‘다시 대조’를 누르면 해당 자료의 결과가 갱신되고, 변경 근거도 확인할 수 있어야 합니다.

RPA 기술별 역할
자료: 트램스 · RPA 기술별 역할

BullMQ와 처리 이력으로 재실행 관리하기

같은 파일을 업로드한 직후 폴더 수집에서도 발견하면 대조 요청이 겹칠 수 있습니다. BullMQ의 Simple Mode는 같은 중복방지 ID의 미완료 작업이 있으면 추가 작업을 무시합니다. 파일 내용과 거래처, 대조 대상 기간을 바탕으로 같은 요청을 구별하는 기준은 직접 정해야 합니다.

이미 끝난 파일의 재접수와 외부 업무의 중복 처리는 별도 이력으로 확인하도록 개발합니다. 결과 파일 저장까지 연결한다면 같은 결과를 거듭 생성할지, 수정본으로 남길지 기준을 둡니다. 오류 파일을 고쳐 다시 올렸을 때 이전 접수와의 관계를 확인하고, 오류와 무관한 정상 파일은 계속 처리되는지도 검수합니다. 자동 수집 파일 수와 정상 접수·오류 파일 수가 맞는지 확인하는 화면도 필요합니다.

거래명세서와 입고 엑셀 예시, 거래처별 단위표, 파일을 가져올 위치를 정리해 트램스에 RPA 대조 업무 자동화 개발을 문의해 주세요. 트램스 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://fastapi.tiangolo.com/tutorial/request-files/
  4. https://docs.bullmq.io/guide/jobs/deduplication
TRAMS AI

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

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

프로젝트 문의