솔루션 홈
VF03 · 영업

SAP 선적서류 작성 — 수출에 따라붙는 서류 한 벌

수출 건의 인보이스와 패킹리스트 등 선적서류를 조회하고 양식에 담아 출력하는 화면입니다.

수출은 물건을 보내는 것으로 끝나지 않습니다. 서류가 따라가야 통관이 되고 대금도 받습니다.

인보이스, 패킹리스트, 원산지증명서가 각각 필요하고 내용이 서로 맞아야 합니다. 한 곳에서 금액을 고치면 다른 서류도 고쳐야 하는데, 따로 만들면 어긋나기 쉽습니다. 같은 데이터로 서류를 구성하도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면을 함께 공개합니다.

SAP 표준 기능을 그대로 이어받은 부분

  • 영업조직 — 수출 주체(SalesOrganization)
  • 거래 당사자 — 매수인(BUYER) · 수하인(CONSIGNEE) · 운송인(CARRIER)
  • 품목 — 화물 내역(DESCRIPTIONOFGOODS)과 수량 · 금액
  • 선적 정보 — 선적일과 운송 조건
  • 문서 — 인보이스 번호와 관련 문서
항목내용
기반 T-codeVF03 (청구 조회) · VL03N
업무 영역영업(SD) · 수출 서류
Namespacesd002_shippingdocument
셸 구조조회조건 영역 + 선적 건 목록 + 서류 양식 미리보기
화면 수조회 화면 1개 + 양식 미리보기
데이터선적 품목과 영업조직 등 다중 엔티티
성격조회·출력형 — 청구와 출고는 표준이 담당
UI 테마sap_horizon 단일 적용

실제 화면 1종 둘러보기

영업조직·기간·선적 건으로 조회하면 수출 건이 나옵니다 → 당사자와 품목 정보를 확인하고 → 서류 양식으로 출력합니다.

아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.

VF03 — Main.view.xml
선적 건과 서류 양식
선적 건과 서류 양식 — 영업조직·기간을 고르면 수출 건이 나옵니다. 매수인·수하인·운송인과 화물 내역이 표시되고, 양식으로 전환하면 인보이스 형태로 정리됩니다. 조회·초기화 버튼은 조회조건 영역 오른쪽 끝에 있습니다.

조작 방법

  1. 영업조직을 고릅니다. 수출 주체 단위입니다.
  2. 기간을 선적일 기준으로 지정합니다.
  3. 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
  4. 매수인·수하인을 확인합니다. 다른 경우가 있습니다.
  5. 화물 내역이 정확한지 봅니다. 통관에서 대조됩니다.
  6. 서류 양식으로 전환해 출력될 모습을 확인합니다.
  7. 인쇄하거나 파일로 내려받아 거래처에 보냅니다.

서류 구성

같은 선적 데이터로 여러 서류를 만듭니다.

공통 정보
  매수인(BUYER)      계약 상대
  수하인(CONSIGNEE)  실제 수령자
  운송인(CARRIER)    운송 담당

인보이스     품목 · 수량 · 단가 · 금액 · 결제 조건
패킹리스트   품목 · 수량 · 포장 단위 · 중량 · 부피

두 서류의 품목과 수량은 반드시 일치해야 함

매수인과 수하인을 나누는 이유

계약한 상대와 물건을 받는 곳이 다른 경우가 많습니다. 본사가 계약하고 현지 공장이 받거나, 중개무역이면 아예 제3국으로 갑니다. 서류에 둘을 구분해 적지 않으면 통관이나 대금 결제에서 문제가 생깁니다.

수출 서류 4종

서류내용용도
상업송장거래 금액과 조건통관·대금 결제
패킹리스트포장과 중량 내역통관·운송
선하증권운송 계약 증서화물 인수
원산지증명서생산국 증명관세 혜택

이 화면은 상업송장과 패킹리스트 기준으로 구성했습니다.

조회조건

필드필수설명
영업조직 SalesOrganization필수수출 주체
기간필수선적일 From~To
매수인 BUYER선택계약 상대
수하인 CONSIGNEE선택실제 수령자
인보이스 번호선택특정 건

결과 컬럼

컬럼의미 · 표시
인보이스 번호서류 식별
영업조직 SalesOrganization수출 주체
매수인 BUYER계약 상대
수하인 CONSIGNEE실제 수령자
운송인 CARRIER운송 담당
화물 내역 DESCRIPTIONOFGOODS품목 설명
수량 · 단가 · 금액거래 조건
통화결제 통화
선적일출항 날짜

SAP 표준 기능 매핑

표준역할이 화면에서의 확장
VF03청구 문서 조회서류 양식으로 재구성
VL03N납품 문서 조회선적 정보
VBRK · VBRP청구 헤더와 품목금액 원천
LIKP · LIPS납품 헤더와 품목수량·포장
KNA1고객 마스터당사자 정보
출력 메시지서류 출력브라우저 인쇄로 대체

도입 시 확인이 필요한 부분

서류 양식은 거래처나 수입국이 요구하는 형식에 맞춰야 합니다. 신용장 거래면 신용장 조건과 한 글자도 다르면 안 되므로, 양식을 고정하기 전에 실제 요구 사항을 확인해야 합니다.

참고 CDS 뷰

@AbapCatalog.sqlViewName: 'ZCSHIPDOC'
@EndUserText.label: '선적서류 (Z)'
define view Z_C_SHIPPING_DOCUMENT
  as select from vbrk as BillHeader
    inner join      vbrp as BillItem on BillHeader.vbeln = BillItem.vbeln
    left outer join kna1 as Buyer    on BillHeader.kunag = Buyer.kunnr
    left outer join kna1 as Consignee on BillHeader.kunrg = Consignee.kunnr
{
  key BillHeader.vbeln as InvoiceNo,
  key BillItem.posnr   as ItemNo,
      BillHeader.vkorg as SalesOrg,
      BillHeader.fkdat as BillingDate,
      BillHeader.kunag as Buyer,
      Buyer.name1      as BuyerName,
      Consignee.name1  as ConsigneeName,
      BillItem.matnr,
      BillItem.arktx   as GoodsDescription,
      BillItem.fkimg   as Quantity,
      BillItem.netwr   as NetValue,
      BillHeader.waerk as Currency
      // 운송인과 포장 정보는 납품 문서(LIKP/LIPS)와 조인
}

매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경 설정과 릴리즈에 맞춰 조정합니다.

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.m.Page + 조회조건 · 선적 목록 · 양식
조회조건sap.m.Select · sap.m.DatePicker — 우측 끝에 조회
선적 목록sap.m.Table — 인보이스 단위
양식 미리보기인쇄용 HTML 을 그대로 렌더링
인쇄새 창 + A4 여백, 서류별 페이지 분리
이벤트onPAI 단일 진입점, fcCode 로 분기

같은 데이터로 여러 서류를 만드는 이유

인보이스와 패킹리스트를 따로 만들면 수량이나 품목명이 어긋나기 쉽습니다. 통관에서 두 서류를 대조하는데 다르면 통관이 지연됩니다. 같은 원천에서 양식만 바꿔 뽑으면 그런 불일치가 생기지 않습니다.

파일 구성

경로역할
manifest.json앱 디스크립터 — ko 로케일 · sap_horizon
view/Main.view.xml조회조건 · 선적 목록 · 양식
controller/Main.controller.js조회 · 양식 렌더링 · 인쇄
model/ModelMock.jslocaldata JSON 읽기(Promise)
js/formatter.js금액 · 수량 · 통화 포맷터
localdata/Items.json선적 품목
localdata/SalesOrganization.json영업조직

검증 결과

검증 항목결과
인보이스 금액 = 품목 금액 합계통과
인보이스와 패킹리스트 품목·수량 일치통과
매수인·수하인이 모두 존재통과
통화가 모든 금액에 표시통과
거래처 코드가 있으면 명칭도 존재통과
XML · JSON 전체 파싱오류 0건
화면 렌더링 — 실브라우저 조회 후 캡처통과
테마 런타임 확인sap_horizon

자주 묻는 질문

신용장 거래는 무엇이 다른가요?

서류 문구가 신용장 조건과 정확히 일치해야 합니다. 한 글자라도 다르면 은행에서 하자로 잡아 대금 지급이 지연됩니다.

매수인과 수하인이 같으면 둘 다 적어야 하나요?

적는 것이 원칙입니다. 서류 양식이 두 칸을 요구하며, 비워 두면 통관에서 보완 요청이 옵니다.

원산지증명서도 여기서 만드나요?

이 화면은 상업송장과 패킹리스트 기준입니다. 원산지증명서는 상공회의소 등 발급 기관을 거쳐야 해 별도 절차가 필요합니다.

SAP 표준 기능과 어떻게 이어지나요?

청구와 납품 데이터는 표준 SD 가 관리합니다. 이 화면은 그 데이터를 선적서류 양식으로 재구성해 서류 간 불일치를 없애는 확장입니다.

선적서류 작성, 지금 쓰는 SAP 위에서 확장해 보세요

서류끼리 어긋나지 않으면 통관이 지연되지 않습니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

선적서류수출인보이스패킹리스트수하인운송인OpenUI5