수출 솔루션

수출 관세 환급 대상 집계 점검 — 필요한 원재료를 수입 로트에 연결해 환급 대상 관세를 다시 계산하는 수출 화면

필요 수량 계산 · 선적일 전 수입 로트 연결 · 기한 초과 제외 · 수량 부족과 잔량 점검 · 월별 장부 대사 — 소개 영상과 실제 화면 8종, 그리고 CDS 코드까지

소개 영상블로그 목차 순서대로 · 음성 안내와 자막 포함9개 장면도입 포인트 → 충당 계산 → 기한 초과 · 수량 부족 → 월별 대사 → 검증

도입 포인트 — 이 앱을 사용해야 하는 이유

관세 환급 담당자가 월마감마다 받는 질문은 같습니다. 이번 달에 선적한 물건에 쓴 수입 원재료가 어느 수입 건이었나, 그 관세는 환급 받을 수 있는 기한 안인가, 수입한 양이 모자라거나 기한을 넘긴 건은 무엇인가. 지금 이 세 답은 수출 선적 목록 · 수입 신고 내역 · 자재 BOM 을 엑셀 한 장에 붙여 놓고 눈으로 맞추는 일에 흩어져 있습니다. 이 앱은 세 답을 한 화면에 붙여, 연결 작업을 줄이고 “어느 수입분이 어느 선적에 쓰였나” 하는 확인을 없앱니다.

한 줄 요약 — 수출 품목마다 소요량 기준으로 필요한 원재료 수량을 구하고, 선적일 전에 수입한 로트에 수입일이 빠른 순서로 채워 넣어, 환급 대상 관세를 다시 계산합니다. 기한을 넘긴 수입분과 모자란 수량은 원인을 단정하지 않고 “점검 필요”로만 올립니다. 환급 신청 가능 여부와 금액의 최종 판단은 회사와 관세사가 합니다.

핵심 포인트 여섯 가지

포인트고객이 얻는 것지금 방식이라면
① 수출 한 건을 수입 로트까지 이어 줍니다필요 수량을 선적일 전에 들어온 로트에 수입일 순서로 채우고, 줄마다 어느 로트에서 몇 개가 나왔는지 보입니다.선적 목록과 수입 내역을 나란히 놓고 사람이 짝을 짓습니다. 담당자가 바뀌면 짝짓는 기준이 달라집니다.
② 기한 초과를 줄 단위로 찾습니다충당한 수입일부터 선적일까지의 경과일이 가정 기한(샘플 730일)을 넘으면 그 줄의 관세를 제외 금액으로 세웁니다.신청 직전에 기한이 지난 수입분이 섞인 것을 발견하고 선적 건을 다시 찾아봅니다.
③ 모자란 수량이 숫자로 남습니다수입 수량이 부족해 채우지 못한 수량은 부족 수량으로 남고, 판정은 수량 부족이 기한 초과보다 앞섭니다.모자란 줄은 빈칸이거나 메모로만 남아 월마감 뒤에 알게 됩니다.
④ 쓰이지 않고 남은 수입분을 봅니다로트 쪽에서 잔여 수량이 기한을 넘겼거나 90일 안에 넘길 예정이면 점검 필요로 올립니다.선적에 쓰이지 못하고 기한을 넘긴 수입분은 아무도 목록에서 보지 못합니다.
⑤ 월별 장부와 맞춰 봅니다장부 계상 관세에서 기한 초과 제외를 뺀 값이 환급 대상 관세와 같은지 선적월마다 확인합니다.월 합계는 따로 모으고 품목 합계는 따로 모아 마지막에 맞춰 봅니다.
⑥ 계산 근거를 같은 자리에서 열어 봅니다행을 누르면 연결된 충당 명세가 열리고, 조회조건은 전부 OData 조건으로 보입니다.숫자를 의심하면 파일을 다시 열어 수식을 따라가야 합니다.

이런 회사에 맞습니다

수입한 원재료로 만든 제품을 수출하면서 관세 환급을 받거나 받으려는 제조 · 수출 기업의 관세 환급 담당과 수출입 지원 조직입니다. 소요량 기준(BOM)이 SAP 에 관리되고 있고, 수입 신고 데이터를 어떤 형태로든 얻을 수 있는 환경이면 같은 구조로 붙습니다. 반대로 환급 대상이 아닌 수출만 하는 회사에는 맞지 않습니다.

이 앱이 하지 않는 일

환급 신청서를 만들거나 신고하지 않습니다. 환급 가능 여부와 금액은 회사와 관세사가 원문으로 확인해야 하고, 화면의 환급 기한 730일 · 만료 임박 90일 · 월 점검 비율 30%는 모두 샘플 가정값입니다. 이 앱은 “어디부터 들여다봐야 하는가”를 가려 주는 점검 도구입니다.

실행 화면

실제 브라우저에서 검증용 샘플 데이터로 띄운 화면 8종을 순서대로 싣습니다. 그림을 누르면 크게 볼 수 있고, 화면마다 무엇을 하는 자리이고 왜 그렇게 두었는지를 아래에 적었습니다. 숫자는 모두 같은 자료에서 나온 것이라 화면끼리 서로 맞춰 보셔도 됩니다. 거래처 · 원재료 · 수입 신고번호는 모두 가상입니다.

화면의 구성

맨 위에 조회조건, 그 아래에 요약 숫자 일곱 개, 그 아래에 탭 여섯 개가 세로로 쌓입니다. 탭의 숫자는 그 조건으로 조회된 행 수입니다. 오른쪽 위 버튼은 지금 보고 있는 탭을 CSV 로 내려받습니다.

처음 열었을 때 — 조회조건 · 요약 숫자 · 수출 품목 명세
처음 열었을 때 — 조회조건 · 요약 숫자 · 수출 품목 명세 — 조회조건 한 줄, 요약 숫자 일곱 개, 그 아래 탭 여섯 개가 한 화면에 놓입니다. 화면을 열면 기본 조건으로 바로 조회합니다.

필수 조건은 회계연도 하나뿐입니다. 요약 숫자는 수출 품목 37건, 판정 대상 34건, 점검 필요 11건, 충당 관세 16.2백만원, 환급 대상 관세 14.6백만원, 기한 초과 제외 1.6백만원, 대사 차이 0건입니다. 판정에서 빠진 3건은 소요량 기준이 없는 품목이라 처음부터 세지 않습니다. 금액은 모두 백만원 단위입니다.

충당과 로트 — 계산의 본체

환급 충당 명세 — 필요 수량을 수입 로트에 연결한 결과
환급 충당 명세 — 필요 수량을 수입 로트에 연결한 결과 — 수출 품목 한 건이 여러 수입 로트에 걸쳐 충당되면 로트마다 한 줄씩 나옵니다. 각 줄에 수입일 · 경과일 · 충당 관세 · 제외 금액이 붙습니다.

이 탭이 계산의 본체입니다. 필요 수량을 선적일 전에 들어온 로트에 수입일이 빠른 순서로 채워 넣고, 줄마다 수입일부터 선적일까지 며칠인지를 셉니다. 가정 기한 730일을 넘긴 줄은 그 관세를 제외 금액으로 따로 세워 환급 대상에서 뺍니다. 채우지 못한 수량은 부족 수량으로 남습니다.

수입 원재료 로트 — 잔여 수량과 환급 기한
수입 원재료 로트 — 잔여 수량과 환급 기한 — 로트마다 수입 수량 · 충당된 수량 · 잔여 수량 · 기한까지 남은 일수를 보여 줍니다.

반대편에서 보는 화면입니다. 어떤 수출에도 쓰이지 않고 남은 수량이 기한을 넘겼거나(기한 경과 잔량) 90일 안에 넘길 예정이면(만료 임박 잔량) 점검 필요로 올립니다. 샘플에서는 경과 1건, 임박 1건이 나옵니다.

월별 · 소요량 기준 · 대사

월별 환급 대상 관세 — 장부 계상 관세와의 차이
월별 환급 대상 관세 — 장부 계상 관세와의 차이 — 선적월마다 장부에 올린 관세에서 기한 초과 제외를 뺀 값이 환급 대상 관세와 같은지 한 줄로 비교합니다.

월마감 때 가장 먼저 보는 탭입니다. 점검 필요 건수가 판정 대상의 30% 이상인 달은 따로 표시해 그 달의 품목부터 보게 합니다. 월별 합계와 품목별 합계가 어긋나면 대사 결과 탭에 차이로 올라옵니다.

소요량 기준 — 단위 소요량 · 손모율 · 수량 부족
소요량 기준 — 단위 소요량 · 손모율 · 수량 부족 — 품목과 원재료의 짝마다 단위 소요량과 손모율, 그리고 그 기준으로 구한 필요 수량 · 충당 수량 · 부족 수량이 나옵니다.

필요 수량은 수출 수량 × 단위 소요량 × (1 + 손모율)입니다. 소요량 기준이 등록되지 않은 품목은 계산하지 못하므로 판정에서 빼고, 이 탭에서 미등록으로 보입니다. 기준을 등록하면 다음 조회부터 판정 대상이 됩니다.

대사 결과 — 정합성 대사 8건과 의도적 예외 1건
대사 결과 — 정합성 대사 8건과 의도적 예외 1건 — 산출식이 서로 맞물리는지 8가지로 검사한 결과를 검사 건수 · 차이 건수 · 최대 차이로 보여 줍니다.

필요 수량 = 충당 + 부족, 수입 수량 = 충당 + 잔여, 충당 관세 − 기한 초과 제외 = 환급 대상, 월별 합계 = 품목별 합계 같은 등식입니다. 샘플에서는 8가지 모두 차이 0이고, 소요량 기준 미등록 3건은 차이와 섞이지 않게 의도적 예외로 따로 셉니다.

조회조건과 상세

판정 유형 조회 — 기한 초과 수입분 충당 건만 보기
판정 유형 조회 — 기한 초과 수입분 충당 건만 보기 — 판정 유형을 기한 초과로 고르면 모든 탭이 그 조건으로 다시 조회됩니다.

조회조건은 전부 OData $filter 로 서비스에 전달됩니다. 전체를 고르면 조건을 빼는 것이지 특정 코드를 넘기는 것이 아닙니다. 선적일 시작·종료를 함께 걸면 어느 기간에 선적한 품목이 기한을 넘겼는지 바로 좁혀집니다.

행 상세 다이얼로그 — 수출 품목과 연결된 충당 명세
행 상세 다이얼로그 — 수출 품목과 연결된 충당 명세 — 수출 품목 한 줄을 누르면 그 품목이 어느 로트에 얼마씩 연결됐는지 아래 표로 함께 열립니다.

숫자를 의심할 때 화면을 옮기지 않고 같은 자리에서 근거를 봅니다. 수입 로트를 누르면 그 로트가 어느 수출 품목에 쓰였는지가, 월이나 소요량 기준을 누르면 해당 수출 품목이 열립니다.

SAP 표준 기능 확장 포인트

이 앱은 SAP 표준을 대체하지 않습니다. 표준이 이미 잘하는 일은 표준에 맡기고, 표준이 끊기는 자리만 이어 붙이는 쪽으로 만들었습니다. 어디까지가 표준이고 어디서부터 이 앱인지를 먼저 적습니다.

표준으로 되는 것과 안 되는 것

하고 싶은 일SAP 표준표준에서 걸리는 자리이 앱이 하는 일
수출 수주 · 출하 · 청구 조회VA03 · VL03N · VF03문서 한 건씩 열어야 하고 선적일과 수량을 모아 보려면 따로 목록을 뽑아야 합니다선적일 · 수출 수량 · 청구 금액을 수출 품목 한 줄로 모읍니다
수입 원재료 발주 · 입고ME23N · MB51입고 문서는 보이지만 “어느 수출에 쓰였는가”를 이어 주지 않습니다선적일 전 입고분을 수입일 순서로 수출 품목에 연결합니다
자재 BOM 의 소요량CS03BOM 은 구조일 뿐 선적 수량으로 곱한 필요 수량은 계산해 주지 않습니다수출 수량 × 단위 소요량 × (1 + 손모율)을 줄마다 구합니다
수입 신고 · 납부 관세—표준에 정해진 자리가 없습니다. 회사마다 별도 테이블이나 외부 시스템에 둡니다단위 관세액을 입력 계약으로 받아 충당 수량에 곱합니다
환급 기한 점검—표준에 없습니다. 보통 엑셀로 날짜를 빼 봅니다수입일부터 선적일까지를 줄마다 세고 기한 초과 제외 금액을 따로 둡니다
수량 부족 · 잔량 점검—표준에 없습니다. 모자란 수량도 남은 수량도 목록에 나타나지 않습니다부족 수량과 기한 경과 · 만료 임박 잔량을 점검 필요로 올립니다

T-code 별 연계 지점

이 앱이 표준 거래의 어느 자리를 이어받는지를 적었습니다. 운영에 올릴 때 “기존 조회를 없애야 하느냐”는 질문이 꼭 나오는데, 대부분은 없애지 않고 둡니다 — 증빙 확인과 감사 대응은 표준 거래가 맡는 편이 안전합니다.

T-code이름연계
VA03판매오더 조회거래처와 품목, 인코텀즈를 가져오는 자리입니다.
VL03N출고 문서 조회선적(출고) 일자와 수량. 충당 기준일이 여기서 나옵니다.
VF03청구 문서 조회FOB 금액 · 통화 · 환율. 외화 금액을 원화로 바꾸는 근거입니다.
ME23N구매오더 조회수입 원재료 발주. 로트를 거슬러 올라갈 때 열어 봅니다.
MB51자재 문서 목록수입 원재료 입고 일자와 수량. 로트의 수입일과 수입 수량이 여기서 나옵니다.
CS03자재 BOM 조회단위 소요량과 손모율. 소요량 기준 탭의 근거입니다.

데이터가 어디서 오는가

수출 쪽은 출고 문서(LIKP · LIPS)와 청구 문서(VBRK · VBRP), 수입 쪽은 구매오더(EKKO · EKPO)와 자재 문서(MKPF · MSEG), 소요량은 BOM(STKO · STPO · MAST)에서 옵니다. 다만 수입 신고번호와 단위 관세액은 표준 테이블에 정해진 자리가 없어서, 이 사례에서는 샘플 가정값을 쓰고 운영에서는 회사의 수입 신고 데이터로 바꿔 끼웁니다. 어느 테이블에서 가져올지는 도입에서 가장 먼저 정해야 하는 항목입니다.

산출 순서

단계내용데이터 지점
① 수출 품목선적일 · 수출 수량 · FOB 금액출하 문서 · 청구 문서
② 필요 수량수출 수량 × 단위 소요량 × (1 + 손모율)자재 BOM
③ 수입 로트 연결선적일 이전에 수입한 로트를 수입일이 빠른 순서로 충당구매오더 · 자재 문서
④ 충당 관세충당 수량 × 단위 관세액(가정값)수입 신고 · 납부 데이터
⑤ 기한 판정수입일~선적일 일수가 가정 기한을 넘으면 제외—
⑥ 환급 대상 관세충당 관세 − 기한 초과 제외—
⑦ 월별 대사환급 대상 관세 합계 = 장부 계상 관세 − 기한 초과 제외—

CDS 구성

이 사례의 화면은 서비스가 내려 준 엔티티셋 여섯 개를 그대로 바인딩합니다. 운영에서는 그 서비스 뒤를 CDS 뷰와 충당 로직으로 채웁니다. 아래는 그때 만드는 뷰를 레이어 순서대로 적은 것입니다.

코드는 스케치입니다. 필드 이름과 표준 뷰 이름은 릴리스 · 환경에 따라 다르므로, 그대로 붙여 넣기 전에 View Browser(F2170) 로 실제 이름을 확인해야 합니다. 수입 신고 · 납부 데이터는 원천이 확인되지 않아 뷰에 넣지 않았습니다.

뷰 레이어 구성

레이어뷰하는 일왜 나누나
기준ZI_ExportDrawBase출고 문서에서 선적일 · 수출 수량을 한 줄로선적 기준일이 한 곳에서만 정해지게 합니다.
기준ZI_ImportLotBase자재 문서에서 수입일 · 수입 수량을 한 줄로로트의 정의(어느 이동유형이 수입인가)를 한 곳에 둡니다.
기준ZI_BomUsage품목 · 원재료별 단위 소요량 · 손모율BOM 대체안이나 유효기간이 바뀌어도 여기만 고칩니다.
명세ZC_ExportDrawLine필요 수량과 충당 가능한 로트의 연결화면의 환급 충당 명세 탭이 읽습니다.
집계ZC_ExportDrawMonth선적월별 충당 · 제외 · 환급 대상 관세월별 대사의 한 쪽 끝입니다.

① 수출 품목 기본 뷰

충당의 기준이 되는 날짜가 선적일이라, 이 뷰가 “어느 날짜를 선적일로 볼 것인가”를 한 곳에서 정합니다. 출고 문서의 실제 출고일을 쓸지 청구일을 쓸지는 회사가 정할 일이라 도입에서 합의해야 합니다.

@EndUserText.label: '수출 품목 기본'
@AbapCatalog.viewEnhancementCategory: [#NONE]
define view entity ZI_ExportDrawBase
  as select from lips
    inner join likp on likp.vbeln = lips.vbeln
{
  key lips.vbeln      as ExpDelivery,
  key lips.posnr      as ItemNo,
      lips.matnr      as ProdCode,
      likp.wadat_ist  as ShipDate,       "선적(출고) 일자 — 충당 기준일
      @Semantics.quantity.unitOfMeasure: 'Unit'
      lips.lfimg      as ExpQty,
      lips.meins      as Unit
}

② 수입 로트 기본 뷰

로트는 자재 문서의 입고 라인입니다. 어느 이동유형을 수입 입고로 볼지, 반품 · 취소를 어떻게 뺄지가 로트 수량을 좌우하므로, 이 조건을 뷰 안에 못 박아 두고 화면에서는 건드리지 않습니다.

@EndUserText.label: '수입 원재료 로트 기본'
define view entity ZI_ImportLotBase
  as select from mseg
    inner join mkpf on mkpf.mblnr = mseg.mblnr and mkpf.mjahr = mseg.mjahr
{
  key mseg.mblnr      as MatDoc,
  key mseg.zeile      as MatDocItem,
      mseg.matnr      as RawCode,
      mkpf.budat      as ImpDate,        "수입 입고 일자
      @Semantics.quantity.unitOfMeasure: 'Unit'
      mseg.menge      as ImpQty,
      mseg.meins      as Unit
}
where mseg.bwart = '101'                 "입고 이동유형 — 회사 기준으로 확인 필요

③ 충당 명세 뷰

필요 수량 계산과 선적일 이전 로트 연결을 담는 뷰입니다. 연결(association)로 후보 로트까지만 내리고, 어느 로트가 얼마를 가져가는지는 다음 단계에서 정합니다.

@EndUserText.label: '환급 충당 명세(스케치)'
define view entity ZC_ExportDrawLine
  as select from ZI_ExportDrawBase as e
    inner join ZI_BomUsage          as b on b.ProdCode = e.ProdCode
  association [0..*] to ZI_ImportLotBase as _lot
    on  _lot.RawCode = $projection.RawCode
    and _lot.ImpDate <= $projection.ShipDate     "선적일 이전 수입분만
{
  key e.ExpDelivery,
  key e.ItemNo,
  key b.RawCode,
      e.ShipDate,
      /* 필요 수량 = 수출 수량 × 단위 소요량 × (1 + 손모율/100) */
      cast( e.ExpQty * b.UnitUsage * ( 1 + b.LossRate / 100 )
            as abap.dec(15,3) )          as NeedQty,
      _lot
}

④ 수입일 순서 충당

한 로트를 여러 수출 품목이 나눠 쓰기 때문에, 앞선 수출이 가져간 수량을 누적해야 합니다. 이 계산은 CDS 한 개로 표현하기 어려워서 윈도 함수를 쓰는 AMDP 나 ABAP 클래스로 만들고, 위의 뷰가 그 결과를 읽게 합니다.

" 수입일 순서 충당은 CDS 한 개로 쓰지 않는다.
" 로트마다 앞선 수출이 얼마를 가져갔는지 누적해야 해서
" AMDP(SQL 윈도 함수) 또는 ABAP 클래스로 만들고 CDS 가 그 결과를 읽게 한다.
SELECT e~expdelivery, e~itemno, l~matdoc, l~matdocitem,
       SUM( l~impqty ) OVER ( PARTITION BY l~rawcode
                              ORDER BY l~impdate, l~matdoc
                              ROWS UNBOUNDED PRECEDING ) AS cum_imp
  FROM ... "필요 수량 누적과 로트 수량 누적을 겹쳐 충당 구간을 구한다

운영 전환에서 정해야 할 항목

정할 것정하지 않으면정하는 쪽
선적일의 기준(출고일 · 청구일 · 선적서류일)같은 건이 어떤 로트에 걸리는지가 사람마다 달라집니다관세 환급 담당
수입 로트의 정의(이동유형 · 반품 처리)수입 수량이 입고 수량과 어긋납니다자재 · 구매
충당 순서(수입일 순 · 다른 규칙)환급 대상 관세가 회사 기준과 달라집니다관세 환급 담당 · 관세사
수입 신고 · 단위 관세액의 원천충당 관세를 계산할 수 없습니다관세 환급 담당 · IT
환급 기한과 만료 임박 일수기한 초과 판정이 샘플 가정값에 머뭅니다관세사 확인 후 회사
소요량 기준의 관리 책임미등록 품목이 판정에서 계속 빠집니다생산기술 · 원가

OData 서비스 계약

화면은 서비스 이름 dutydraw_srv 하나만 부르고, 경로는 모두 상대 경로입니다. 엔티티셋은 여섯 개입니다 — ExpLineSet(수출 품목) · DrawSet(충당 명세) · LotSet(수입 로트) · MonSet(월별) · BomSet(소요량 기준) · ReconSet(대사). 펑션 두 개 GetTotalDrawAmt(환급 대상 관세 합계)와 GetMaxLapseDays(최대 경과 일수)는 선택 파라미터 ShipMonth 를 받습니다. 조회조건은 전부 $filter 로 가고 “전체”는 조건을 빼는 방식이며, 총건수는 $inlinecount=allpages 로 받습니다. 같은 계약을 지키는 운영 서비스로 경로만 바꾸면 화면을 고치지 않고 연결됩니다.

자주 묻는 질문

도입 상담과 데모에서 받을 만한 질문들을 네 묶음으로 나누어 적었습니다.

계산과 규칙

화면의 환급 대상 관세는 환급 신청 금액입니까?

아닙니다. 이 화면은 분류 · 집계 · 대사를 돕는 점검 도구입니다. 환급 신청 가능 여부와 금액의 최종 판단은 회사와 관세사가 합니다. 그래서 결과도 “점검 필요” · “확인 필요”로만 표시하고 원인을 단정하지 않습니다.

필요 수량은 어떻게 구합니까?

수출 수량 × 단위 소요량 × (1 + 손모율)입니다. 손모율은 BOM 구성품의 폐기율을 기준으로 삼았고, 퍼센트 값이라 100으로 나누어 곱합니다. 품목과 원재료의 짝마다 한 줄이 나옵니다.

수입 로트는 어떤 순서로 채웁니까?

선적일 이전에 수입한 로트만 후보로 삼고, 수입일이 빠른 순서로 채웁니다. 한 로트를 여러 수출 품목이 나눠 쓰므로 앞선 수출이 가져간 수량은 뒤 수출의 후보에서 빠집니다. 실제 회사의 충당 기준이 다르면 이 순서만 바꾸면 됩니다.

가정 기한 730일은 실제 기준입니까?

아닙니다. 샘플 가정값입니다. 실제 적용 기한과 요건은 회사가 관세사와 함께 원문으로 확인해야 합니다. 확인된 값을 서비스의 기한 값으로 바꾸면 같은 규칙으로 다시 판정합니다.

한 품목에 수량 부족과 기한 초과가 같이 있으면 어떻게 표시합니까?

수량 부족으로 표시합니다. 우선순위가 소요량 기준 없음 → 수량 부족 → 기한 초과 → 정상 순이기 때문입니다. 기한 초과 제외 금액은 따로 남기므로 숫자가 사라지지는 않습니다.

소요량 기준이 없는 품목은 어떻게 됩니까?

판정에서 제외하고 의도적 예외로 따로 셉니다. 샘플에서는 3건입니다. 정합성 대사의 차이 건수와 섞이지 않게 분리해 두었습니다. 소요량 기준 탭에서 미등록 품목을 확인해 등록하면 다음 조회부터 판정 대상이 됩니다.

외화 수출 금액은 어떻게 더합니까?

서로 다른 통화의 외화 금액을 그대로 더하지 않습니다. 통화별 가정 환율로 원화로 바꾼 값을 보여 주고, 관세는 처음부터 원화라 통화가 섞이지 않습니다. 샘플 환율은 가정값이며 실제 고시값이 아닙니다.

만료 임박 잔량은 무엇을 뜻합니까?

수입 로트에 쓰이지 않은 수량이 남아 있고, 환급 기한까지 90일 이내인 경우입니다. 기한이 이미 지난 잔량은 “기한 경과 잔량”으로 따로 올립니다. 둘 다 선적 계획에 반영할 수 있는지 확인하라는 신호입니다.

숫자와 검증

숫자가 맞는지 어떻게 확인했습니까?

산출식이 서로 맞물리는지 8가지 대사식으로 샘플 전수를 검사했습니다. 필요 수량 = 충당 + 부족, 수입 수량 = 충당 + 잔여, 충당 관세 = 수량 × 단위 관세액, 충당 − 기한 초과 제외 = 환급 대상, 품목별 = 충당 명세 합계, 월별 = 품목별 합계, 장부 − 제외 = 환급 대상(월별), 점검 필요 건수 월별 = 품목별입니다. 검사 건수는 9건에서 69건까지이고 차이는 모두 0입니다.

화면의 요약 숫자는 따로 검증했습니까?

했습니다. 수출 품목 37 · 판정 대상 34 · 점검 필요 11 · 충당 관세 16.2 · 환급 대상 14.6 · 기한 초과 제외 1.6(백만원)을 화면과 별도 스크립트가 각각 구해 같은 값임을 확인했습니다. 스크립트는 화면 코드를 쓰지 않고 데이터만 읽어 처음부터 다시 계산합니다.

샘플 데이터는 실제 자료입니까?

아닙니다. 거래처 6곳 · 품목 6종 · 원재료 5종 · 수입 신고번호는 모두 가상이고, 화면과 서비스를 검증하려고 만든 자료입니다. 점검 화면이 가려내야 하는 사례(기한 초과 8건 · 수량 부족 3건 · 소요량 기준 미등록 3건)를 일부러 넣어 두었습니다.

점검 필요 11건은 어떻게 나뉩니까?

수출 품목 기준으로 기한 초과 8건과 수입 수량 부족 3건입니다. 정상은 23건입니다. 수입 로트 쪽으로는 기한 경과 잔량 1건과 만료 임박 잔량 1건이 따로 올라옵니다.

화면과 사용

필수 조회조건은 무엇입니까?

회계연도 하나입니다. 거래처 · 원재료 · 통화 · 판정 유형 · 선적일 시작/종료 · 판정은 선택이며, 비워 두면 전체입니다. 화면을 처음 열면 기본 조건으로 자동 조회합니다.

조회 버튼은 어디에 있습니까?

조회조건 영역 입력칸들의 가장 오른쪽에 있고 바로 옆에 초기화가 있습니다. 입력칸에서 Enter 를 눌러도 같은 조회가 실행됩니다.

탭은 어떤 순서로 봅니까?

수출 품목 명세 → 환급 충당 명세 → 수입 원재료 로트 → 월별 → 소요량 기준 → 대사 결과 순서가 자연스럽습니다. 숫자를 의심할 때는 어느 탭에서든 행을 눌러 연결된 명세를 아래 표로 엽니다.

CSV 로 내려받으면 무엇이 들어갑니까?

지금 보고 있는 탭의 조회 결과가 UTF-8(BOM) CSV 로 내려옵니다. 조회조건이 걸려 있으면 걸린 결과만 들어갑니다. 엑셀에서 한글이 깨지지 않도록 BOM 을 붙였습니다.

좁은 화면에서도 쓸 수 있습니까?

표 컨트롤이 가로 스크롤을 지원하므로 좁은 창에서도 볼 수 있습니다. 다만 열이 많은 탭은 넓은 화면에서 보도록 설계한 점검 화면입니다.

운영과 연결

운영 데이터는 어떻게 연결합니까?

앱 설정(manifest)의 서비스 경로를 운영 OData 서비스로 바꾸고, 같은 엔티티셋과 프로퍼티 계약(키 · EDM 타입 · $filter)을 지키면 화면을 고치지 않고 연결됩니다. 수입 신고 · 납부 데이터의 원천은 먼저 정해야 합니다.

수입 신고번호와 단위 관세액은 어디서 가져옵니까?

표준 테이블에 정해진 자리가 없어서 확인이 필요합니다. 회사가 수입 신고 데이터를 두는 곳(별도 테이블이나 외부 시스템)을 정한 뒤 그 값을 서비스가 읽어 오게 합니다. 이 사례에서는 샘플 가정값입니다.

데이터가 많아지면 느려지지 않습니까?

조회는 서버에서 조건으로 거르고 스크롤 페이징으로 나누어 받으므로 행 수가 늘어도 화면은 필요한 만큼만 받습니다. 충당 계산이 가장 무거운 단계인데, 운영에서는 이 계산을 서비스 쪽(AMDP 또는 ABAP 클래스)에서 하고 결과만 내려 줍니다.

기존 환급 업무를 대체합니까?

대체하지 않습니다. 환급 신청과 증빙 확인은 기존 방식과 표준 거래에 그대로 두고, 이 화면은 신청 전에 들여다볼 건을 가리는 용도로 씁니다.

권한은 어떻게 겁니까?

수출 품목과 충당 명세는 거래처 · 회사코드 단위로 권한을 걸어야 합니다. 집계 단계에서 걸어 두어야 합계와 전체의 차이로 남의 숫자가 드러나지 않습니다. 운영 서비스에서는 표준 권한 객체를 CDS 의 접근 제어로 옮기는 방식을 씁니다.

외부 라이브러리나 외부 전송이 있습니까?

화면은 OpenUI5 표준 컨트롤만 씁니다. 계산에 외부 서비스나 AI 를 쓰지 않으므로 숫자가 밖으로 나가지 않습니다.

검토용 자료는 무엇입니까?

목차의 “검토용 자료 다운로드”를 누르면 이 글의 내용과 화면을 담은 PowerPoint(.pptx) 가 브라우저에서 바로 만들어져 내려옵니다. 경영지원 · 관세 환급 담당이 도입 여부를 검토할 때 쓰도록 만든 자료이며 서버로 전송하지 않습니다.