본문으로 건너뛰기

판매 확정

판매 확정은 주문과 출고 결과를 기준으로 매출 인식 대상 데이터를 확정하는 과정입니다. 주문이 접수되었다고 바로 매출이 되는 것은 아니며, 결제 상태, 출고확정, 배송 완료, 취소·반품 가능성을 함께 봐야 합니다.

왜 필요한가

유통 시스템에서 판매 확정은 정산과 회계의 기준이 됩니다. 매출이 너무 빨리 확정되면 취소와 반품 처리에서 보정이 많아지고, 너무 늦게 확정되면 일매출과 월마감 데이터가 늦어집니다.

실제 업무 흐름

화면/기능 관점

판매 확정 화면은 확정 대상, 제외 대상, 보류 대상을 분리해 보여줘야 합니다.

구분화면 표시 기준
확정 대상결제와 출고가 완료되고 취소 요청이 없는 주문
보류 대상배송 중, 결제 대사 미완료, 외부몰 취소 확인 대기
제외 대상취소 완료, 반품 접수, 출고 취소

API 관점

API역할
GET /api/sales-confirmations/candidates판매 확정 후보 조회
POST /api/sales-confirmations판매 확정 실행
POST /api/sales-confirmations/{id}/cancel확정 취소 또는 보정 요청
GET /api/sales-confirmations/{id}/history확정 이력 조회

DB 관점

테이블역할
sales_confirmations판매 확정 헤더
sales_confirmation_lines주문 라인별 확정 수량과 금액
sales_adjustments취소, 반품, 보정 금액
settlement_targets정산 대상 데이터
interface_messagesERP 매출 전송 이력

상태값 예시

상태설명
CANDIDATE판매 확정 후보
CONFIRMED판매 확정 완료
EXCLUDED취소, 반품 등으로 확정 제외
ADJUSTED확정 이후 보정 발생
SENT_TO_ERPERP 매출 전송 완료

예외 상황

예외처리 방향
부분 출고출고확정 수량만 매출 확정 후보로 만든다.
배송 중 취소판매 확정에서 제외하고 반품 또는 회수 흐름으로 전환한다.
확정 후 반품원매출 삭제가 아니라 반품 정산 또는 매출 차감으로 처리한다.
ERP 전송 실패판매 확정 상태는 유지하고 연동 상태만 실패로 남겨 재처리한다.

예시

주문 수량 10개 중 출고확정 수량이 8개라면 판매 확정 대상은 8개입니다. 남은 2개는 미출고, 취소, 재출고 대기 상태로 분리합니다.

관련 문서 링크