본문으로 건너뛰기

영업관리

이 기능은 무엇인가요?​

영업관리는 고객 주문 접수부터 제품 출하, 납품서 발행, 대금 수금까지 판매 프로세스 전체를 관리하는 핵심 업무 영역입니다.

영업 담당자가 고객 주문을 등록하고, 물류팀이 출하를 처리하며, 재무팀이 매출을 인식하는 일련의 과정을 하나의 흐름으로 연결합니다. 납기 준수율, 매출 현황, 미수금 관리 등 영업 성과를 실시간으로 파악할 수 있습니다.

업무 프로세스 개요​

포함된 화면​

화면용도주 사용자
판매주문 관리고객 주문 등록 및 수주 확정🏢 영업 담당자
판매주문항목 관리주문별 품목, 수량, 단가 상세 관리🏢 영업 담당자
출하 관리출하 지시 생성 및 배송 추적🚚 물류/출하 담당자
출하항목 관리출하별 품목, LOT, S/N 상세 관리🚚 물류/출하 담당자
판매반품 관리고객 반품 접수 및 환불 처리🏢 영업 담당자, 📦 입고 담당자
납품서 관리납품서 발행 및 인쇄 관리🏢 영업 담당자, 💰 재무 담당자

관련 솔루션 연계​

솔루션연계 내용데이터 흐름
견적/계약견적서, 계약서 기반 수주 생성견적 → 판매주문
MES (생산)수주 기반 생산오더 생성판매주문 → 생산오더
재고관리출하 시 자동 재고 차감출하 → 재고이동
재무회계매출 전표 및 매출채권 생성판매주문 → 매출채권/매출전표
품질관리출하 전 품질 검사 연동출하 → 품질검사

시작하기​

  1. 처음 사용한다면 → 판매주문 관리에서 첫 수주를 등록하세요
  2. 출하 업무를 담당한다면 → 출하 관리에서 출하 지시를 확인하세요
  3. 반품이 발생했다면 → 판매반품 관리에서 반품을 접수하세요
  4. 납품서를 발행하려면 → 납품서 관리에서 납품서를 생성하세요

중요: 판매주문 상태 플로우​

판매주문은 아래 상태 전이 규칙에 따라 관리됩니다. 허용되지 않은 전이는 시스템에서 차단됩니다.

상태별 설명​

상태설명다음 가능 상태
작성주문 초기 작성 단계 (기본값)확정, 취소
확정수주 확정 완료생산의뢰, 출하준비(재고출하)
생산의뢰생산오더 생성 대기출하준비
출하준비출하 지시 준비 중출하
출하출하 진행 중완료
완료수주 처리 완료 (최종 상태)-
취소주문 취소 (최종 상태)-
재고출하 (생산의뢰 생략)

재고가 확보된 품목(make-to-stock)은 확정 후 바로 출하준비로 전환할 수 있습니다. 생산이 필요한 품목(make-to-order)만 생산의뢰 단계를 거칩니다.

최종 상태 변경 불가

완료, 취소 상태에서는 더 이상 상태를 변경할 수 없습니다.


업무 자동화​

이 메뉴에서 데이터를 입력하거나 상태를 변경하면, 시스템이 관련 데이터를 자동으로 처리합니다. 별도의 수작업 없이 아래 규칙에 따라 데이터가 자동으로 계산·생성·검증됩니다.

안내

화면에서 데이터를 저장하면 시스템이 관련된 다른 화면의 데이터를 자동으로 갱신합니다. 예를 들어 출하를 확정하면 판매주문의 출하수량이 자동으로 증가하고, 모든 항목이 출하되면 주문 상태가 자동으로 '완료'로 변경됩니다. 이 규칙은 데이터 정합성을 보장하며, 수작업 오류를 방지합니다.

이 메뉴의 업무 자동화 흐름

주문항목 등록 → 주문 합계 자동 계산 → 확정 시 여신 갱신 → 생산의뢰 시 생산오더 자동 생성 → 출하 시 여신 검증 + 출하수량 갱신 → 전체 출하완료 시 주문 상태 자동 완료 / 반품 시 출하수량·재고 자동 복원

🔢 자동 계산​

항목을 추가/수정/삭제하면 합계가 자동 계산됩니다.

주문항목 변경 → 주문 합계금액 자동 계산​

판매주문에서 항목을 추가·수정·삭제하면 합계금액, 부가세액, 총합계가 자동으로 재계산됩니다. 별도로 합계를 수동 입력할 필요가 없습니다.

  • 언제: 판매주문항목 화면에서 항목을 추가하거나 수량·단가를 변경할 때
  • 결과: 판매주문 화면의 합계금액·부가세액·총합계가 즉시 갱신됩니다

➡️ 자동 처리​

상태를 변경하면 관련 데이터가 자동으로 생성/갱신됩니다.

출하 확정 → 주문항목 출하수량 자동 증가​

출하 화면에서 출하를 확정하면 판매주문항목의 출하수량이 자동으로 증가합니다.

  • 언제: 출하 화면에서 상태를 '출하'로 변경할 때
  • 결과: 판매주문항목 화면의 출하수량이 출하된 수량만큼 자동으로 증가합니다

전체 출하완료 → 판매주문 상태 자동 완료​

해당 판매주문의 **모든 항목이 출하완료되면 주문 상태가 자동으로 '완료'**로 변경됩니다.

  • 언제: 마지막 항목의 출하가 완료되었을 때
  • 결과: 판매주문 화면에서 해당 주문의 상태가 자동으로 '완료'로 변경됩니다

출하 취소 → 출하수량 자동 원복​

출하를 취소하면 판매주문항목의 출하수량이 자동으로 원래대로 복원됩니다.

  • 언제: 출하 화면에서 상태를 '취소'로 변경할 때
  • 결과: 판매주문항목 화면의 출하수량이 해당 출하수량만큼 자동으로 감소합니다

출하 취소 → 판매주문 상태 자동 복원​

출하를 취소하면 '완료' 상태였던 판매주문이 '출하준비' 상태로 자동 복원됩니다.

  • 언제: 출하 취소로 인해 미출하 항목이 다시 존재하게 되었을 때
  • 결과: 판매주문 화면의 상태가 '출하준비'로 되돌아갑니다

판매반품 처리 → 출하수량·재고·클레임 일괄 자동 처리​

판매반품을 처리하면 관련된 7가지 작업이 자동으로 한꺼번에 실행됩니다. 별도 화면에서 수작업할 필요가 없습니다.

  • 언제: 판매반품 화면에서 반품을 처리할 때 (상태 변경, 검수완료, 거부 등)
  • 자동 실행 내용:
    • 주문항목의 출하수량이 반품수량만큼 자동 감소
    • 합격품은 재고로 자동 복원
    • 불량품은 폐기대기 목록에 자동 등록
    • 반품 건의 상태가 자동 변경
    • 거부 시 모든 반품항목에 거부 상태가 자동 전파
    • 검수완료 시 클레임이 자동 생성

수주 확정 시 여신사용액 자동 갱신​

판매주문을 '확정'하면 해당 거래처의 여신사용액이 주문 금액만큼 자동으로 증가합니다. 여신사용률이 80% 이상이면 여신 상태가 '경고'로, 100% 이상이면 '차단'으로 자동 변경됩니다.

  • 언제: 판매주문 화면에서 상태를 '확정'으로 변경할 때
  • 결과: [재무/회계 > 여신한도 관리] 화면에서 해당 거래처의 여신사용액이 증가하고, 사용률에 따라 여신 상태가 갱신됩니다
  • 참고: 수주 확정 자체는 차단되지 않습니다. 실제 차단은 이후 출하 단계에서 이루어집니다

출하확정 시 여신사용액 자동 증가​

출하를 확정하면 해당 거래처의 여신사용액이 출하 금액만큼 자동으로 증가합니다.

  • 언제: 출하 화면에서 상태를 '출하확정'으로 변경할 때
  • 결과: [재무/회계 > 여신한도 관리] 화면에서 해당 거래처의 여신사용액이 증가합니다

생산의뢰 → 생산오더 자동 생성​

판매주문 화면에서 '생산의뢰'를 실행하면 생산오더가 자동으로 생성됩니다.

  • 수주 항목의 품목·수량·납기일이 생산오더에 자동 복사됩니다
  • 생성된 생산오더는 [생산/외주 > 생산오더 관리] 화면에서 확인할 수 있습니다
  • 생산오더 상태는 '계획'으로 시작됩니다

🚫 제약 조건​

아래 조건을 충족하지 않으면 해당 작업이 차단됩니다.

출하 시 여신한도 초과 차단​

출하를 진행할 때, 해당 거래처의 여신한도를 초과하면 출하가 차단됩니다.

  • 언제: 출하 화면에서 상태를 '출하'로 변경할 때
  • 조건: 거래처의 현재 여신사용액 + 출하금액 > 여신한도, 또는 거래처가 거래정지 상태
  • 차단 시: 출하가 진행되지 않고 "여신한도 초과" 경고 메시지가 표시됩니다
  • 해결 방법: 여신한도를 증액하거나, 미수금을 회수하여 여신 여유를 확보한 후 다시 시도하세요

생산의뢰 후 수주 변경 제한​

판매주문에서 생산의뢰를 실행한 이후에는 일부 수정이 제한됩니다.

  • 언제: 판매주문 상태가 '생산의뢰' 이후 단계(확정, 진행중, 완료 포함)일 때
  • 제한 내용:
    • 납기일 변경이 차단됩니다 (생산오더의 일정에 영향을 주므로)
    • 생산오더가 존재하는 판매주문은 삭제할 수 없습니다
  • 해결 방법: 생산오더를 먼저 취소한 후 판매주문을 수정하거나, 판매주문을 '취소' 상태로 변경하세요

📋 기술 참고 정보 (개발자/관리자용)

업무 기능 코드​

  • 업무 기능: sales

데이터 관계도​

관련 워크플로우​

  • 판매 프로세스 시작 (startEvent)
  • 수주 등록 (humanTask): 영업담당자가 고객 주문을 등록합니다
  • 수주 확정 (humanTask): 신용 확인 후 수주를 확정합니다
  • 출하지시 생성 (humanTask): 출하 지시서를 생성합니다
  • 출하 확인 (humanTask): 바코드 스캔으로 출하 품목을 확인합니다
  • 배송추적 시작 (autoTask): 출하 완료 후 배송 추적을 시작합니다
  • 수금 확인 (humanTask): 대금 수금을 확인합니다
  • 영업관리자 검토 (humanTask): 영업관리자가 여신 초과 건을 검토합니다
  • 출하 상태 검증 (autoTask): 매출채권 생성 전 출하 확정 상태 검증
  • 수주취소 보상처리 (compensationEvent): 수주 취소 시 관련 출하지시 및 매출채권을 역처리합니다

테이블 요약​

판매주문 (sales_orders)​

컬럼명한글명타입설명
so_number주문번호VARCHAR *필수 *고유-
partner_id거래처IDUUID (FK) *필수-
order_date주문일DATE *필수-
delivery_date납기일DATE *필수-
status상태ENUM(작성, 확정, 생산의뢰, 출하준비, 출하, 완료, 취소) *필수-
total_amount합계금액DECIMAL (계산)-
vat_amount부가세액DECIMAL (계산)-
currency통화ENUM(KRW, USD, EUR, JPY, CNY) *필수-
shipping_address배송지TEXT-
payment_terms결제조건VARCHAR-
sales_person_id영업담당자IDUUID (시스템참조)담당 영업사원
confirmer_id확정자IDUUID (시스템참조)-
remark비고TEXT-
grand_total총합계DECIMAL (계산)-
order_confirmation주문확인서FILE-
quotation_id견적IDUUID (FK)quotations 참조
contract_id계약IDUUID (FK)contracts 참조

판매주문항목 (sales_order_items)​

컬럼명한글명타입설명
so_id주문IDUUID (FK) *필수-
line_no행번호INT *필수-
item_id품목IDUUID (FK) *필수-
quantity주문수량DECIMAL *필수-
unit_price단가DECIMAL *필수-
amount금액DECIMAL *필수 (계산)-
delivery_date납기일DATE-
shipped_qty출하수량DECIMAL-
remaining_ship_qty미출하수량DECIMAL (계산)quantity - shipped_qty
production_status생산상태ENUM(미의뢰, 계획중, 생산중, 생산완료)-
status상태ENUM(대기, 일부출하, 출하완료, 취소) *필수-

출하 (shipments)​

컬럼명한글명타입설명
shipment_number출하번호VARCHAR *필수 *고유-
so_id판매주문IDUUID (FK)-
partner_id거래처IDUUID (FK) *필수-
ship_date출하일DATE *필수-
carrier운송사VARCHAR-
tracking_number운송장번호VARCHAR-
status상태ENUM(준비, 출하, 출하확정, 배송중, 도착, 완료, 취소) *필수-
shipper_id출하담당자UUID (시스템참조)-
warehouse_id출하창고IDUUID (FK)warehouses 참조
total_shipped_qty총출하수량DECIMAL (계산)-
shipping_document출하서류FILE-
is_consolidated합포여부BOOLEAN다중 주문 합포 출하 여부

출하항목 (shipment_items)​

컬럼명한글명타입설명
shipment_id출하IDUUID (FK) *필수-
so_item_id판매주문항목IDUUID (FK)sales_order_items 참조
item_id품목IDUUID (FK) *필수-
shipped_qty출하수량DECIMAL *필수-
lot_numberLOT번호VARCHAR-
batch_id배치IDUUID (FK)배치마스터 참조
serial_numberS/NVARCHAR-
warehouse_id출하창고IDUUID (FK)warehouses 참조
remark비고TEXT-

판매반품 (sales_returns)​

컬럼명한글명타입설명
return_number반품번호VARCHAR *필수 *고유-
so_id판매주문IDUUID (FK) *필수-
partner_id거래처IDUUID (FK) *필수-
return_date반품일DATE *필수-
reason반품사유ENUM(불량, 오배송, 규격불일치, 고객변심, 기타) *필수-
status상태ENUM(접수, 승인, 입고, 검수, 검수완료, 완료, 거부) *필수-
total_amount반품금액DECIMAL (계산)-
refund_method환불방법ENUM(현금환불, 대체출하, 크레딧)-
warehouse_id입고창고IDUUID (FK)warehouses 참조
handler_id처리자IDUUID (시스템참조)-
remark비고TEXT-

납품서 (delivery_notes)​

컬럼명한글명타입설명
delivery_note_code납품서번호VARCHAR *필수 *고유-
shipment_id출하UUID (FK) *필수-
sales_order_id판매주문UUID (FK) *필수-
customer_id고객UUID (FK) *필수-
delivery_date납품일DATE *필수-
delivery_address납품주소VARCHAR-
total_amount합계금액DECIMAL (계산)-
vat_amount부가세액DECIMAL (계산)-
grand_total총합계DECIMAL (계산)-
printed인쇄여부ENUM(Y, N)-
status상태ENUM(작성, 발행, 확인) *필수-
issued_by발행자UUID (시스템참조)-
notes비고TEXT-