같은 구매자의 미수와 결제완료를 섞지 않기
택배관리 묶음에 ‘미수’가 있다고 해서 그 구매자의 모든 물품이 미결제라는 뜻은 아닙니다. 가상 구매자A가 머그컵 20,000원, 조명 30,000원, 쟁반 10,000원을 샀다고 해 보겠습니다. 입금 내역과 거래를 대조해 머그컵·조명에 대한 50,000원의 결제가 확인됐고 쟁반만 미수인 상황입니다.
다른 보류 사유가 없다면 머그컵과 조명은 포장 후보, 쟁반은 보류입니다. ‘이 사람은 미수 고객’ 또는 ‘돈을 일부 보냈다’라는 한 줄로 세 거래의 상태를 통일하면 안 됩니다. 구매자 묶음을 펼쳐 품목별 상태를 보면서 포장 목록을 만들어야 합니다.
| 품목 | 상품 금액 | 결제 확인 | 이번 포장 |
|---|---|---|---|
| 머그컵 | 20,000원 | 결제완료 | 포장 후보 |
| 조명 | 30,000원 | 결제완료 | 포장 후보 |
| 쟁반 | 10,000원 | 미수 | 보류 |
거래는 3건, 결제완료 포장 후보는 2건, 수령인은 1명입니다. 수령인 1명은 상자 1개를 뜻하지 않습니다. 조명을 안전하게 분리 포장해야 한다면 상자는 2개가 될 수 있습니다. 상자 수와 운송비는 실제 포장 및 운송 조건을 확인해 별도로 정합니다.
발송 대상은 이 순서로 좁힙니다
| 순서 | 확인할 내용 | 확인되지 않으면 |
|---|---|---|
| 1. 대상 거래 | 거래일·품목·구매자가 맞고 취소·반품·이미 발송한 건이 아닌가 | 기존 발송 내역과 원장부터 대조합니다. |
| 2. 결제 | 입금이 어느 품목에 대한 것인지 확인됐는가 | 입금자명이나 합계만으로 완료 처리하지 않고 결제 연결을 확인합니다. |
| 3. 수령 방식 | 일반 택배인가, 화물·현장수령인가 | 택배 목록에 섞지 말고 약속한 수령 방식을 확인합니다. |
| 4. 수령인 정보 | 전체 닉네임·연락처·이번 배송 주소가 맞는가 | 주소 누락이나 변경은 고객에게 비공개로 확인한 뒤 반영합니다. |
| 5. 포장 및 인계 | 후보 목록과 실제 담은 물품·수량·상자 수가 맞는가 | 인계 전 보류하고 포장 목록을 다시 대조합니다. |
합계가 같아도 바로 보내면 안 되는 세 가지 경우
입금은 됐지만 어느 품목의 돈인지 모를 때
위 예시에서 50,000원이 들어왔다는 사실만으로 머그컵과 조명이 결제됐다고 정하면 안 됩니다. 배송비가 포함된 입금이거나 다른 날짜 거래의 대금일 수 있습니다. 거래별 결제 연결을 확인하기 전에는 가장 싼 물건부터 임의로 완료 처리하지 않습니다. 사용하는 도구가 부분입금을 지원하지 않으면 별도의 확인 기록을 유지하고 상품 금액을 줄여 맞추지 않습니다.
일반 택배와 화물, 주소 변경이 함께 있을 때
같은 구매자에게 작은 물품과 대형 운반카트가 있어도 운송 방식이 다르면 포장·예약을 나누어야 합니다. 이번에 받을 주소가 달라졌다면 아직 보내지 않은 대상 거래를 먼저 확인합니다. 과거 발송 기록의 주소를 현재 주소로 덮어쓰면 배송 문의 때 당시 수령지를 확인하기 어려워집니다.
엑셀을 저장한 뒤 추가 입금이나 취소가 생겼을 때
저장한 파일은 그 시점의 목록입니다. 이후 결제·취소·주소가 바뀌면 발송 전에 다시 조회하고 변경된 품목을 대조합니다. 파일을 다시 만들었다고 기존 택배 예약이 취소되는 것은 아닙니다. 이미 예약했다면 예약 목록과 새 목록을 함께 확인해 같은 물품을 두 번 예약하지 않습니다.
엑셀 저장 뒤에도 예약과 실제 발송을 대조합니다
- 수령인 목록과 포장 목록을 나눕니다. 닉네임·연락처·주소만 담긴 엑셀에는 어떤 물품을 넣어야 하는지 나오지 않으므로 품목·수량을 별도로 확인합니다.
- 업로드 양식을 확인합니다. 예약 사이트가 요구하는 열 이름·순서·전화번호 형식을 현재 양식과 대조합니다. 우리 앱의 파일 저장은 예약 완료가 아닙니다.
- 예약 결과를 확인합니다. 수령인·주소·실제 상자 수와 접수 실패 행을 확인합니다. 이름이 같다는 이유만으로 다른 주소의 수령인을 합치지 않습니다.
- 운송장과 물품을 맞춥니다. 인계한 물품과 아직 보류 중인 품목을 구분해 실제 발송 상태를 기록합니다. 미수 쟁반은 구매자 원장에 그대로 남깁니다.
- 결제 확인된 품목만 이번 포장 목록에 포함했는가
- 취소·반품·이미 발송한 건을 중복 예약하지 않았는가
- 누락된 주소와 다른 배송 방식을 따로 확인했는가
- 거래 건수·수령인 수·실제 상자 수를 구분했는가
- 출력에서 제외된 미수 거래는 원장에 남아 있는가
부록: 가상 거래 7건으로 확인한 앱 화면
아래는 2026년 9월 3일의 로컬 시험 기록입니다. 인물·연락처·주소·거래는 모두 가상 정보이며, 캡처는 당시 실제 앱 코드를 실행한 화면입니다. 운영 서버에는 연결하지 않았습니다. 시험 데이터는 화면을 새로 열 때 초기화되므로 이 캡처만으로 서버 저장이나 다른 기기 동기화를 입증할 수 없습니다. 9월 20일의 내용 보완은 새로운 운영 거래 검증이나 실제 발송을 뜻하지 않습니다.
| 구매자 | 품목·금액 | 상태 | 확인할 예외 |
|---|---|---|---|
| A | 머그컵 20,000원 조명 30,000원 | 결제완료·택배 | 같은 수령인 중복 |
| A | 쟁반 10,000원 | 미수·택배 | 미수 품목 제외 |
| B | 운반카트 80,000원 | 결제완료·화물 | 택배 엑셀에서 제외 |
| C | 바구니 12,000원 | 결제완료·택배 | 주소 누락 |
| D | 선풍기 40,000원 | 결제완료·현장수령 | 택배 큐에 넣지 않음 |
| E | 찻잔 7,000원 | 발송완료 | 미발송에서 제외 |
닉네임은 ‘시험구매자A’처럼 표시하고, 연락처는 실제 통신에 쓸 수 없는 000 형식으로 만들었습니다. C만 주소를 비웠습니다. 조회 날짜는 9월 3일, 상태는 ‘미발송’, 선택한 묶음은 없는 조건입니다.
실제 화면: 7건 중 미발송 5건, A의 발송 대상 2건

현장수령 한 건은 택배 큐에 들어가지 않고 이미 발송한 한 건은 ‘미발송’에서 빠졌습니다. 남은 다섯 건은 A 세 건, B 한 건, C 한 건입니다. A 묶음에는 ‘발송대기 2’, ‘미수 1건 제외’, ‘발송완료 2건’이 함께 표시됐습니다. 여기서 ‘2건’은 상자 수가 아니라 처리할 거래 수입니다.
엑셀 저장: 다섯 거래가 수령인 한 명으로 줄어드는 이유

A의 두 결제완료 거래는 닉네임·연락처·주소가 같아 수령인 한 줄로 합쳐집니다. A의 미수 한 건과 B의 화물 한 건은 제외됩니다. C는 주소가 없어 ‘정보 누락 1명’으로 표시되고 저장 대상에 들어가지 않습니다. 따라서 결과는 저장 가능 1명 / 중복 제외 1건 / 미입금·화물 제외 2건 / 정보 누락 1명입니다.
내보내는 열은 닉네임·연락처·주소 세 가지입니다. 본명이나 우편번호 열, 박스 수는 만들지 않습니다. 현재 앱에서는 대표·관리자 권한과 프리미엄 이상 이용 조건도 확인합니다. 로지아이의 현재 업로드 양식과 실제 예약 처리는 이번 시험 범위가 아니므로 업로드 호환이나 예약 성공까지 보장하는 결과는 아닙니다.
정산에서는 A의 미수 10,000원이 그대로 남아야 합니다
동일한 시험 데이터를 정산표 화면에서 열었을 때 A는 한 항목으로 표시됐고, 구매금액 60,000원·완료 50,000원·미수 10,000원이었습니다. 엑셀에서 빠진 미수 거래가 원장에서도 삭제되면 안 됩니다. ‘출력에서 제외’와 ‘거래 삭제’는 서로 다른 작업입니다.
- 거래일과 조회 필터를 먼저 맞춥니다.
- 구매자 묶음을 펼쳐 품목별 결제 상태를 봅니다.
- 엑셀 미리보기의 누락 사유를 확인합니다.
- 수령인 수와 거래 수, 실제 상자 수를 구분합니다.
- 정산표에서 원래 미수 금액이 유지되는지 확인합니다.
확인한 것과 아직 확인하지 않은 것
9월 3일 시험 당시 화면에서는 묶음 표시·엑셀 미리보기·정산 합계를 확인했습니다. 별도로 shipping-excel-export.test.mjs 4개와 shipping-grouped-queue.test.mjs 22개가 통과했습니다. 여기에는 생성된 XLSX의 세 열을 텍스트로 보존하는 검사와 일괄 처리 실패·중복 클릭 보호 검사가 포함됩니다.
이 검사는 해당 조건의 회귀 검사입니다. 실제 발송, 로지아이 업로드, 운영 서버 저장, 다른 기기의 조회는 이번 기록에 포함되지 않습니다. 같은 거래의 결제 상태가 화면마다 다르다면 고객을 삭제하거나 다시 입력하지 말고 거래일·품목·오류 시각을 고객지원에 전달해 주세요.
