수출 관세 환급 대상 집계 점검 — 필요한 원재료를 수입 로트에 연결해 환급 대상 관세를 다시 계산하는 수출 화면
필요 수량 계산 · 선적일 전 수입 로트 연결 · 기한 초과 제외 · 수량 부족과 잔량 점검 · 월별 장부 대사 — 소개 영상과 실제 화면 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가지 모두 차이 0이고, 소요량 기준 미등록 3건은 차이와 섞이지 않게 의도적 예외로 따로 셉니다.
조회조건과 상세

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

숫자를 의심할 때 화면을 옮기지 않고 같은 자리에서 근거를 봅니다. 수입 로트를 누르면 그 로트가 어느 수출 품목에 쓰였는지가, 월이나 소요량 기준을 누르면 해당 수출 품목이 열립니다.
SAP 표준 기능 확장 포인트
이 앱은 SAP 표준을 대체하지 않습니다. 표준이 이미 잘하는 일은 표준에 맡기고, 표준이 끊기는 자리만 이어 붙이는 쪽으로 만들었습니다. 어디까지가 표준이고 어디서부터 이 앱인지를 먼저 적습니다.
표준으로 되는 것과 안 되는 것
| 하고 싶은 일 | SAP 표준 | 표준에서 걸리는 자리 | 이 앱이 하는 일 |
|---|---|---|---|
| 수출 수주 · 출하 · 청구 조회 | VA03 · VL03N · VF03 | 문서 한 건씩 열어야 하고 선적일과 수량을 모아 보려면 따로 목록을 뽑아야 합니다 | 선적일 · 수출 수량 · 청구 금액을 수출 품목 한 줄로 모읍니다 |
| 수입 원재료 발주 · 입고 | ME23N · MB51 | 입고 문서는 보이지만 “어느 수출에 쓰였는가”를 이어 주지 않습니다 | 선적일 전 입고분을 수입일 순서로 수출 품목에 연결합니다 |
| 자재 BOM 의 소요량 | CS03 | BOM 은 구조일 뿐 선적 수량으로 곱한 필요 수량은 계산해 주지 않습니다 | 수출 수량 × 단위 소요량 × (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) 가 브라우저에서 바로 만들어져 내려옵니다. 경영지원 · 관세 환급 담당이 도입 여부를 검토할 때 쓰도록 만든 자료이며 서버로 전송하지 않습니다.