업무 시스템 · 2024
바코드 스캔 출고 처리 프로그램
엑셀 발주서를 불러와 바코드 스캔으로 출고 수량을 차감하고 기록하는 데스크톱 앱
종이 발주서에 손으로 체크하던 출고 작업을, 바코드를 찍으면 잔여 수량이 줄고 출고 일시가 함께 남도록 바꿨습니다. 입고예정일이 급한 발주 건부터 자동으로 처리됩니다.
- 고객
- 비공개 고객
- 분야
- 업무 시스템

개요
- 이커머스 입점 판매사의 창고 출고 담당자가 쓰는 Windows 데스크톱 프로그램
- 물류센터로 보낼 발주 건을 바코드 스캔으로 처리하고, 처리 내역을 발주 단위로 추적
- 발주서 업로드 → 조건 조회 → 스캔 출고 → 잔여 수량 확인 → 결과 내려받기가 한 화면에서 이어짐
- 올린 발주서는 이름을 붙여 한 파일에 누적 → 지난 발주 건도 같은 조건으로 다시 조회

과제
- 발주서를 출력해 손으로 체크 → 어디까지 담았는지 작업자 기억에 의존
- 같은 상품이 여러 발주 건에 걸쳐 있어, 어느 건부터 담을지 매번 판단 필요
- 출고 수량을 작업이 끝난 뒤 한꺼번에 옮겨 적으면서 누락과 중복 발생
- 보내고 난 뒤에는 언제 몇 개를 출고했는지 확인할 근거가 남지 않음
해결 방법
- 발주서 파일을 그대로 업로드하면 필요한 열을 찾아 읽고, 빠진 열은 이름을 집어 안내
- 거래처명·물류센터·상품명·바코드·발주번호·입고예정일 범위로 조회, 열 제목을 누르면 그 기준으로 정렬
- 출고 처리 모드에서 상품 바코드를 찍으면 잔여 수량이 1 차감되고 해당 행으로 화면이 따라 이동
- 스캔 직후 화면 가운데에 큰 알림으로 남은 수량 표시 → 모니터를 들여다보지 않아도 결과 확인
- 알림 색으로 상태 구분 → 초록은 출고 처리, 빨강은 잔여 수량 0 또는 이미 출고 완료
- 잔여 수량이 0이 된 행은 배경색이 바뀌어 아직 담을 것이 남은 건만 눈에 들어옴
- 스캔이 어려운 건은 수량을 직접 입력해 출고, 잔여 수량을 넘는 입력은 처리 거부

시스템 구조
작업 흐름
- 발주서 업로드 → 조건 조회 → 출고 처리 모드 전환 → 바코드 스캔 → 잔여 수량 차감·기록 → 엑셀 내려받기
- 바코드 스캐너는 시리얼 포트로 직접 연결, 포트와 통신 속도를 지정하고 연결 테스트로 값 확인
- 작업 내용은 파일 한 개에 담김 → 다른 PC로 옮기거나 기간별로 나눠 보관 가능
- 작업 중에는 원본을 건드리지 않고 사본에서 처리 → 저장 전까지 원본 유지, 자동 저장은 선택 사항

구현
- 같은 바코드가 여러 발주 건에 있으면 입고예정일이 이른 건부터 차감 → 센터 입고 기한이 급한 건부터 소진
- 보류할 발주번호를 잠가 두면 그 건의 상품은 스캔해도 처리되지 않고 잠김 표시
- 출고 기록은 건별 일시와 수량으로 남고, 잘못 찍은 건은 기록을 골라 삭제
- 행마다 메모를 달아 분할 포장·교체 발송 같은 현장 사항을 발주 내역과 함께 보관
- '박스 준비'는 조회된 건을 발주번호 단위로 합산해 표시 → 스캔 전에 필요한 박스 수량 가늠
- 파일을 열 때 필요한 항목이 모두 있는지 먼저 확인하고, 없으면 어느 항목이 빠졌는지 안내


결과
- 종이 발주서와 수기 체크 없이, 스캔만으로 수량이 차감되고 기록이 남음
- 작업자가 발주 건 순서를 판단하지 않아도 입고예정일이 급한 건부터 처리
- 언제 몇 개를 출고했는지 건별로 남아, 수량이 맞지 않을 때 되짚어 확인 가능
- 보류 발주 건을 잠가 두어 아직 내보내면 안 되는 물량이 섞여 나가지 않음
- 처리 결과를 발주서 형태로 다시 내려받아 거래처와 그대로 공유
사용 기술
- Python
- wxPython
- SQLite
- openpyxl
- pyserial
화면




해결이 필요한 문제가 있으신가요?
소프트웨어 개발부터 장비 연동과 엔지니어링까지, 프로젝트의 요구사항에 적합한 해결 방안을 함께 검토합니다.
프로젝트 문의하기