프로그램 개발업체에 수발주 관리 도구를 맡길 때 준비할 것
수발주 관리 프로그램 개발의뢰 전에 준비할 거래처 파일과 품목 단위, 주문 변경 사례를 정리합니다. 프로그램 개발업체와 합의할 배송지별 주문 분리, 수정 마감, 출고 엑셀 검수 기준을 설명합니다.
핵심 요약
1. 거래처 주문 파일을 읽어 품목 단위를 맞추고 배송지별 주문과 출고용 엑셀을 만드는 수발주 프로그램을 개발합니다. 2. pandas로 파일을 읽고 Next.js로 입력을 받으며 PostgreSQL로 관련 데이터 변경을 함께 처리합니다. 3. 품목 연결, 주문 분리, 수정 마감과 오류 검수 규칙은 유통사의 업무 기준에 맞춰 직접 구현합니다.
프로그램 개발업체에 수발주 업무를 설명할 때는 “엑셀 작업을 줄이고 싶다”는 요구를 실제 주문 한 건으로 풀어내는 것이 좋습니다. 거래처마다 다른 주문 양식, 박스와 낱개의 환산, 배송지별 출고를 한 흐름으로 연결해야 합니다. 프로그램 개발의뢰 전에 정할 기능과 확인 기준을 살펴봅니다.
거래처 엑셀을 읽고 오류 행을 찾는 기능
첫 번째 준비 자료는 실제 거래처 주문 파일과 현재 사용하는 출고 결과 엑셀의 한 쌍입니다. 이름·연락처 등은 가리되 거래처코드, 배송지코드, 품목명, 주문 단위, 수량의 열 구조는 유지합니다. 같은 주문이 두 파일에서 어떻게 표현되는지 표시하면 입력과 출력의 차이를 확인할 수 있습니다.
pandas의 read_excel (https://pandas.pydata.org/docs/reference/api/pandas.read_excel.html)은 엑셀의 한 개 또는 여러 시트를 표 형태의 데이터인 DataFrame으로 읽을 수 있습니다. 거래처마다 다른 열 이름을 공통 항목에 연결하고, 필수 값이 없는 행을 찾는 규칙은 별도로 개발합니다. ‘파일 확인’ 버튼을 누르면 원본 행 번호와 “배송지코드가 없습니다”라는 안내가 나오고, 문제가 있는 주문이 확정되지 않는지 검수합니다.

박스와 낱개를 구분하는 품목 연결
주문 파일의 품목명이 같아도 포장 단위가 다르면 다른 기준으로 처리해야 합니다. 예를 들어 한 박스가 12개인 품목에 2박스와 낱개 3개가 들어왔다면, 출고 기준 수량은 27개가 됩니다. 이는 업무 규칙의 예시이며 실제 환산 수량은 품목별 자료로 확인합니다.
품목코드와 주문 단위를 함께 대조하고, 해당 품목의 환산표를 적용하는 로직을 직접 개발합니다. 화면에는 원본의 ‘2박스’와 환산한 ‘24개’를 함께 표시해 담당자가 계산 근거를 확인하도록 합니다. 연결되지 않은 품목이나 등록되지 않은 단위는 임의로 바꾸지 않고 확인 대상으로 표시하는지 검수합니다.
배송지별로 주문을 나누는 입력 화면
같은 거래처의 주문이라도 창고와 매장으로 각각 보내야 한다면 배송지별 분리가 필요합니다. 입력 화면에는 거래처, 배송지, 품목, 단위, 수량을 두고 ‘배송지 추가’로 같은 거래처의 다른 도착지를 입력하도록 합니다. 주소 문구만 비교하기보다 배송지코드를 기준으로 나누는 방식이 적합한지도 발주 전에 결정합니다.

Next.js (https://nextjs.org/docs/app/guides/forms)는 폼 입력 묶음인 FormData를 서버 함수에서 받아 처리할 수 있습니다. 담당자 인증, 필수 항목 검사, 배송지별 주문번호 발급은 별도로 구현합니다. ‘주문 미리보기’를 누르면 배송지마다 나뉜 주문을 보여주고, 분리 전후의 품목별 총수량이 같은지와 다른 배송지의 행이 섞이지 않는지를 검수합니다.
수정 마감을 적용하고 주문 변경을 함께 저장하기
두 번째 준비 자료는 주문 변경 전후를 적은 실제 사례입니다. 예를 들어 오전에 접수한 2박스를 마감 전에 1박스로 바꾼 기록에 요청 시각, 승인 담당자, 최종 출고 수량을 붙입니다. 수정 마감은 주문 접수 시각인지 출고일의 정해진 시각인지 명확히 정하고, 마감 후 예외 승인 권한도 정합니다.
PostgreSQL의 트랜잭션 (https://www.postgresql.org/docs/current/tutorial-transactions.html)은 여러 데이터 변경을 모두 반영하거나 모두 취소하는 기능입니다. 주문 수량과 배송지별 출고 수량을 함께 바꾸는 저장 로직에 이를 적용하고, 저장 직전에 수정 가능 시간을 다시 확인하도록 개발합니다. 한쪽 변경에서 오류가 나면 이전 수량이 모두 유지되는지를 검수하며, 부분적으로만 바뀐 주문을 남기지 않는 것이 기준입니다.

출고 엑셀과 실패 사례로 확인하는 검수 화면
결과 엑셀의 열은 실제 출고 담당자가 쓰는 순서로 합의합니다. 예를 들어 ‘출고일·거래처코드·배송지코드·품목코드·주문 단위·주문 수량·출고 수량’을 두고, 화면에서 확인한 주문만 ‘출고 엑셀 받기’에 포함하도록 개발합니다. 합계가 같아도 배송지가 틀릴 수 있으므로 주문번호와 배송지, 품목별 수량을 최종 승인된 주문 내역과 대조합니다.
검수할 실패 사례로는 수정 화면을 열어 둔 채 마감 시각이 지난 뒤 ‘저장’을 누르는 상황을 넣습니다. 저장 시점에 변경을 거절하고 안내를 표시하며, 주문과 결과 엑셀의 수량이 그대로인지 확인합니다. 프로그램 개발업체를 선정할 때도 과거 실적 소개에 더해, 이 자료로 어떤 화면을 만들고 어떤 조건에서 통과시킬지 설명받는 것이 필요합니다.
거래처 주문 파일과 출고 엑셀 예시, 품목별 단위표, 배송지 분리·주문 변경 사례를 정리해 트램스에 수발주 관리 프로그램 개발을 문의해 주세요. 트램스 AI 제작 문의 (https://trams.co.kr/ai-si/contact/#inquiry)
참고 자료
비슷한 AI 서비스를
사업에 적용하고 싶으신가요?
아이디어와 필요한 기능을 알려주시면 제작 범위와 방법을 검토합니다.