구매 · 수입 진행 추적 · 처리

SAP 수입 통합 관리 점검 — 구매 계약부터 L/C · B/L · 통관 · 입고 · 부대비 · 마감까지 수입 건마다 단계를 추적하고, 단계 사이의 수량·금액을 대사해 멈춘 건과 어긋난 건을 가려 그 자리에서 처리하는 화면

수입 건별 10단계 진행 추적과 처리(단계 등록 · 부대비 배분과 전기 · 부가세 처리와 재마감 · 마감 · 취소 · 일괄 처리) · 단계 누락·역순 판정 · B/L·I/V·입고 수량 대사 · I/V 금액 × 환율 = 물품대 · 부대비 배분 = 전표 · 입고 원가 = 물품대 + 부대비 · 월말 미착 잔액 · 보세 체류 · 수입부가세 익월 처리와 재마감 — 소개 영상과 실제 화면 13종, 그리고 CDS 코드까지

소개 영상1분 32초15개 장면음성 안내·자막표지 → 도입 포인트 → 실행 화면 → SAP 표준 기능 확장 포인트 → CDS 구성 → 자주 묻는 질문 → 정리

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

수입 한 건은 구매 계약에서 시작해 L/C 개설, 선적(B/L), 송장(I/V), 수입 통관, 입고, 부대비 전기를 거쳐 미착 조정 → 납품 완료 → 계약 완료 순서로 마감됩니다. 단계마다 화면과 담당자가 다르다 보니, 지금 어느 건이 어디서 멈췄는지와 단계 사이의 수량·금액이 서로 맞는지를 한 번에 보기 어렵습니다. 이 화면은 수입 건마다 단계 진행을 계획일·실적일·문서 번호로 추적하고, B/L·I/V·입고 수량, I/V 금액 × 환율 = 물품대, 부대비 배분 합계 = 부대비 전표, 입고 원가 = 물품대 + 배분 부대비, 미착 잔액, 수입부가세(신고필증) = 부가세 전표를 단계 사이에서 대사합니다. 재고 취득원가에 관세·운송비·하역비·보험료 같은 매입 부대비를 포함하는 IAS 2 재고자산(K-IFRS 제1002호)과, 외화 거래를 거래일 환율로 기록하는 IAS 21 환율변동효과(K-IFRS 제1021호)를 점검 관점으로만 씁니다. 건 상세에서는 단계 등록 · 부대비 배분과 전기 · 수입부가세 처리와 재마감 · 마감 · 취소까지 처리할 수 있고, 처리 결과는 점검 코드와 대사식에 바로 반영됩니다. 화면은 진행 추적 · 대사와 처리를 돕는 도구이며 전표 번호는 시뮬레이션 값입니다. 관세·수입부가세 계산과 신고 실무 세부는 회사·관세사 기준(확인 필요), 원가와 회계 처리의 최종 판단은 회사와 감사인이 합니다.

한 줄 요약 — 단계별 화면을 하나씩 열어서는 "어디서 멈췄나" 와 "앞 단계 숫자와 맞나" 를 동시에 볼 수 없습니다. 이 화면은 수입 건마다 계약부터 마감까지 단계를 한 줄에 놓고, 단계 사이의 수량·금액 대사 12종을 매번 다시 계산해 점검할 건만 남기며, 그 자리에서 규칙에 맞는 처리만 허용해 바로 해소합니다.

핵심 포인트 8가지

핵심 포인트고객이 얻는 것지금 방식이라면
① 계약부터 마감까지 한 줄 추적수입 건마다 10단계(구매 계약 · L/C 개설 · B/L · I/V · 통관 · 입고 · 부대비 · 미착 조정 · 납품 완료 · 계약 완료)의 계획일 · 실적일 · 문서 번호와 현재 단계 · 다음 단계 · 계획 경과일을 보여 줍니다.구매 · 무역 · 회계 담당자가 각자 화면을 열고 엑셀로 진행표를 맞춥니다.
② 단계 누락 · 역순 자동 판정통관 실적 없이 입고된 건(S01), 납품 완료가 미착 조정보다 먼저 처리된 건(S02)처럼 앞 단계를 건너뛰거나 순서를 어긴 건을 단계 단위(P01 · P02)로 가려 냅니다.마감 순서가 어긋난 건은 다음 달 미착 잔액이 맞지 않을 때에야 발견됩니다.
③ B/L · I/V · 입고 수량 대사B/L 수량 = I/V 수량, B/L 수량 = 입고 수량 + 수량 차이 + 미입고 수량을 건마다 확인하고, 차이가 남은 건(Q01)을 미착 조정 대상과 함께 보여 줍니다.부족 입고가 남은 채 GR/IR 잔액만 쌓입니다.
④ 물품대 · 부대비 · 입고 원가 대사I/V 금액 × I/V 기준 환율 + 환율 적용 차이 = 물품대, 부대비 배분 합계 + 미배분 = 전표 금액, 입고 원가 = 물품대 + 관세 · 운송비 · 하역비 · 적하보험료를 대사합니다(IAS 2 · IAS 21 점검 관점).부대비 일부가 배분되지 않거나 다른 환율이 적용돼도 원가 화면에서는 보이지 않습니다.
⑤ 미착 잔액 · 장기 미착 · 보세 체류월말마다 미착 잔액 = I/V 반영 − 입고 반영 − 미착 조정을 다시 구하고, B/L 후 45일 넘게 입고되지 않은 건(G01)과 보세창고 반입 후 30일 넘게 반출되지 않은 건(B01)을 표시합니다.GR/IR 잔액 목록에서 오래된 건을 손으로 골라냅니다.
⑥ 수입부가세 익월 처리 · 재마감신고필증 부가세 = 당월 전표 + 익월 전표 + 미처리를 건마다 대사하고, 익월에 처리했는데 수입 재마감이 없는 건(V01)을 찾습니다.하순 신고분의 익월 처리와 재마감 여부를 메모로 관리합니다.
⑦ 찾은 자리에서 바로 처리건 상세의 단계 타임라인에서 통관 · 입고 등 단계 등록, 부대비 입력 · 배분 · 전기, 수입부가세 당월 · 익월 처리와 재마감, 미착 조정 → 납품 완료 → 계약 완료, 마지막 처리 취소를 합니다. 선행 단계 · 역순 · 수량 · 허용오차 · 배분합 · 미착 잔액 규칙으로 막고, 처리하면 점검 코드 · 대사식 · 요약이 바로 다시 계산됩니다.점검 결과를 보고 다른 화면으로 옮겨 가 처리한 뒤, 맞았는지 다시 조회해 확인합니다.
⑧ 대사식 12종 · 판정 재실행 전수 검산수량 · 물품대 · 부대비 · 원가 · 미착 · 부가세 · 관세 · 보세 · 요약 합계 · 현재 단계 · 마감 건 미착 대사와 단계 · 건 판정 재실행까지 독립 스크립트로 1,072건을 다시 계산했습니다.진행표와 장부 숫자가 맞는지 결산 때마다 다시 확인합니다.

사례로 보는 효과

같은 달, 서로 다른 세 가지 멈춤 — 통관 누락 · 부족 입고 · 운송비 미배분 — 검증용 샘플에서 8월 계약 건 가운데 IM26-0015 는 통관(신고 수리) 실적 없이 9월 17일에 입고되어 단계 누락(S01)으로, IM26-0016 은 B/L 3,000개 가운데 2,980개만 입고되어 미착 잔액 1,708,806원이 남은 수량 차이(Q01)로 표시됐습니다. 회사 2000 의 IM26-0033 은 운송비 전표 1,308,000원 가운데 이 건 몫 1,244,175원이 배분되지 않아(C01) 입고 원가가 그만큼 작게 잡혔습니다. 세 건 모두 지금 단계는 "부대비 전기" 로 같아 보이지만, 이 화면은 단계 사이의 숫자를 맞춰 보아 마감 전에 서로 다른 조치가 필요하다는 것을 알려 줍니다. 같은 화면에서 통관 등록, 미착 조정, 운송비 배분 실행과 전기로 세 건을 바로 해소했고, 처리마다 점검 코드와 대사식이 다시 계산되어 점검 필요 건이 9건에서 3건(장기 미착 · 보세 체류)으로 줄었습니다.

도입하면 달라지는 것

  • 점검에서 찾은 건을 같은 화면에서 처리하고, 처리 이력과 취소 사유를 남깁니다
  • 수입 건마다 지금 단계와 다음 단계, 계획 대비 경과일을 한 화면에서 봅니다
  • 마감 전에 단계 누락 · 역순 처리 건을 찾아 순서대로 정리합니다
  • 부족 입고 · 환율 차이 · 부대비 미배분이 입고 원가에 남기 전에 바로잡습니다
  • 월말 미착 잔액을 건 단위로 설명하고 장기 미착 · 보세 장기 체류 건을 따로 관리합니다
  • 수입부가세 익월 처리와 재마감 여부를 대사 결과로 남깁니다

이런 회사에 맞습니다

해외 수입 비중이 큰 제조 · 유통 회사, 구매 계약 → L/C → 통관 → 입고 → 부대비 → 마감 흐름을 SAP 구매 · 재고 · 회계 화면에 나눠 처리하는 회사, 월말 GR/IR · 미착 잔액과 수입 원가를 감사 전에 스스로 설명하려는 구매 · 원가 · 결산팀에 맞습니다.

사용 방법

  1. 회계연도를 넣습니다(필수). 계약월 · 회사 · 미착 기준월 · 현재 단계 · 공급처 · 인코텀즈 · 일자 · 점검 코드 · 점검 결과는 필요할 때만 고르며, 비워 두거나 "전체" 이면 그 조건은 걸리지 않습니다.
  2. 조회 버튼은 조회조건 영역 입력 칸의 맨 오른쪽에 있습니다. 입력 칸에서 Enter 키를 눌러도 조회되며, 처음 열면 한 번 자동으로 조회합니다.
  3. 요약에서 수입 건 · 진행 중 · 계약 완료 · 점검·확인 필요 건 · 미착 잔액 · 입고 원가 · 배분 부대비 · 미배분 부대비 · 수입부가세 · 정합성 대사 차이를 먼저 봅니다.
  4. 탭은 수입 건 현황 → 단계 이력 → 부대비 배분 → 수입 원가 → 미착 잔액 → 보세창고 → 수입부가세 → 대사 결과 순서로 넘깁니다.
  5. 어느 탭에서든 행을 누르면 그 수입 건의 상세 창이 열리고, 단계 타임라인에서 처리할 수 있는 단계만 "등록" · "처리" · "부대비" 버튼이 켜집니다.
  6. 버튼을 누르면 입력 대화상자가 열립니다. 필수값을 넣고 처리를 누르면 확인 대화상자가 뜨고, 결과는 성공이면 짧은 알림, 거부되면 사유가 담긴 메시지 상자로 보입니다. 상세 창 위쪽의 부대비 처리 · 부가세 당월/익월 처리 · 재마감 · 물품대 환율 정정 · 마지막 처리 취소(사유 필수)도 같은 방식입니다.
  7. 여러 건에 같은 처리를 하려면 수입 건 현황 표에서 건을 고르고 일괄 처리를 누릅니다. 결과는 건별 성공 · 실패와 사유로 보입니다. 처리할 때마다 점검 코드 · 대사식 · 요약이 다시 계산되고 처리 이력 탭에 남습니다.
  8. CSV 내려받기를 누르면 지금 보는 탭의 조회 결과가 UTF-8 CSV 로 내려옵니다.

숫자를 믿을 수 있는가 — 검증 결과

검증용 샘플 데이터(가상 회사 두 곳, 2026년 6~9월 계약 수입 건 36건, 기준일 2026-09-30)를 서비스 데이터만 읽는 독립 스크립트로 처음부터 다시 계산한 결과입니다.

대사식 · 재계산검사 건수차이 건수최대 차이
R01 B/L = I/V 수량3200.0
R02 B/L = 입고 + 수량 차이 + 미입고3400.0
R03 I/V×환율 + 환율 차이 = 물품대2400.0
R04 배분 합계 + 미배분 = 전표 금액5400.0
R05 입고 원가 = 물품대 + 부대비2400.0
R06 미착 잔액 = I/V − 입고 − 조정2500.0
R07 신고 부가세 = 당월 + 익월 + 미처리2300.0
R08 신고 관세 = 관세 전표2300.0
R09 반입 = 반출 + 잔량2700.0
R10 건 요약 = 상세 합계300.0
R11 현재 단계 = 마지막 실적3600.0
R12 계약 완료 건 미착 01800.0
X1 부대비 배분 재실행(비례·반올림 최대 라인)23400.0
X2 원가 부대비 = 부대비 배분 합계2400.0
X3 미착 경과일 재계산2500.0
X4 보세 체류일 재계산2700.0
X5 입고 반영 = I/V × 입고/I/V 수량2500.0
X6 계획 경과일 재계산(다음 단계)3600.0
J1 단계 판정 재실행 = 저장 판정34200.0
J2 건 판정 재실행 = 저장 판정3600.0
ReconSet 일치1200

검사 건수 합계 1,072건, 차이 0건입니다. 판정이 일부러 걸리도록 넣은 예외 6건(통관 없이 입고 · 마감 역순 · 부족 입고 · 환율 적용 차이 · 운송비 미배분 · 부가세 재마감 없음)과 경과 점검 3건(장기 미착 2 · 보세 장기 체류 1)은 대사 차이와 따로 셉니다. 예외 금액은 대사식 안의 별도 항으로 들어가 있어 대사 차이는 0 으로 맞습니다.

처리 기능은 서비스와 같은 규칙 파일로 처리 시나리오 36단계를 자동 실행해 확인했고, 처리 뒤 데이터도 같은 독립 스크립트로 다시 계산했습니다.

시나리오내용결과
예외 6건 해소S01 통관 등록 · S02 납품/계약 완료 취소 후 순서대로 재처리 · Q01 미착 조정 · A01 환율 정정 · C01 배분 실행 → 전기 · V01 재마감6 / 6 해소
차단 규칙에 걸리는 처리 시도통관 전 입고 · 순서 어긋난 마감 · 미배분 상태 미착 조정 · 허용오차 초과 · 기준일 이후 · 역순 일자 · 수량 초과 · 배분 전 전기 · 배분합 불일치 · 재마감 중복 · 사유 없는 취소 등16 / 16 거부
취소 → 원상복구통관 등록과 부가세 처리를 역순으로 취소해 판정 · 부가세 행 · 관세 전표 · 보세 반출이 처리 전과 같은지원상복구 확인
신규 건 끝까지IM26-0035 통관 → 입고 → 부대비 입력 · 배분(중량 · 수량) · 전기 → 부가세 익월 · 재마감 → 미착 조정 · 납품 완료 · 계약 완료계약 완료 · 미착 0
일괄 처리부가세 익월(2건 중 1건 실패 사유 표시) · 재마감 · 마감 3단계 연속(1건 실패)건별 성공 · 실패 표시
처리 후 독립 검산처리 36단계 뒤 서비스 데이터를 독립 스크립트로 다시 계산1,086건 차이 0

무엇으로 만들었나

자리무엇왜 그렇게 두었나
화면 컨트롤여덟 탭 가운데 일곱 탭은 sap.ui.table.Table, 대사 결과와 상세 창의 단계 · 부대비 표는 sap.m.Table컬럼이 많은 표는 수입 건 열을 고정한 채 가로로 넘기고, 소량 표는 줄바꿈으로 읽게 합니다
판정 · 대사 로직샘플 데이터 생성 단계와 서비스(service.js)의 함수 3종판정을 데이터에 싣고 요약 합계는 서비스 함수가 계산해 화면 계산과 어긋날 자리를 없앴습니다
OData 서비스 구성OData V2 · manifest 상대 경로 · 엔티티셋 9개(수입 건 · 단계 이력 · 부대비 배분 · 수입 원가 · 미착 잔액 · 보세창고 · 수입부가세 · 처리 이력 · 대사) · 조회 함수 3개 · 처리 함수 10개(POST) · 부대비 생성 · 수정(POST · MERGE)화면 블록마다 엔티티셋을 따로 두고 조회조건은 모두 $filter 로, 처리는 함수와 쓰기로 보냅니다
처리 규칙서비스 로직과 검증 화면이 같은 규칙 파일(engine.js)을 씁니다화면은 버튼 활성과 필수값만 보고, 차단 판단은 서비스가 다시 합니다
요약 계산컨트롤러 한 곳에 집계식을 모음같은 값을 여러 곳에서 다르게 계산하지 않도록
테마sap_horizonSAP 표준 Fiori 앱과 같은 색 · 글꼴 · 간격
항목내용
업무 영역구매(MM) — 수입 · 미착 · 수입 원가
관련 기준서 · 대상 영역- (대상 영역: 수입 진행 추적 · 단계 간 대사 — 입고 원가는 IAS 2 재고자산(K-IFRS 제1002호), 물품대 환율은 IAS 21 환율변동효과(K-IFRS 제1021호)를 점검 관점으로 참고)
SAP 표준 T-codeME21N · ME23N · ME2M · MIGO · MIRO · MR11 · MB5S · MB51 · FBL1N
Namespacezui5.impstage
화면 성격조회 · 점검 (결과 CSV 내려받기)
데이터 연동OData V2
테마sap_horizon
SAP 표준 기능을 그대로 이어받은 부분 — 구매 계약 · 공급처 · 통화 · 인코텀즈는 구매오더(ME21N · ME23N)가 쓰는 같은 머리 · 품목 데이터를, 입고와 송장은 구매오더 이력(MIGO · MIRO 결과)을, 미착 잔액은 GR/IR 잔액(MB5S)과 같은 이력을 그대로 씁니다. 표준 데이터 구조를 그대로 이어받아 확장합니다.

실행 화면

실제로 돌아가는 화면 13종을 사용 순서대로 싣습니다. 그림을 누르면 크게 볼 수 있습니다. 숫자는 모두 같은 검증용 샘플 데이터에서 나와 화면끼리 맞춰 보셔도 됩니다.

처음 열었을 때

회계연도 2026 이 기본값이라 열자마자 두 회사의 수입 건 36건과 요약이 보입니다.

처음 연 화면 — 수입 건 현황
처음 연 화면 — 수입 건 현황 — 조회조건 · 요약 · 수입 건 현황 탭이 한 화면에 열린 모습입니다.

수입 건마다 점검 결과 · 현재 단계 · 다음 단계 · 계획 경과일 · 완료 단계 수가 앞에 오고, 공급처 · 품목 · 통화 · 인코텀즈 뒤로 계약 · B/L · 입고 수량, I/V 외화 금액과 환율, 물품대 · 배분 부대비 · 입고 원가 · 9월 말 미착 잔액 · 수입부가세가 이어집니다. 36건 가운데 18건이 계약 완료, 9건이 점검·확인 필요입니다. 미착 잔액 628.3 백만원은 9월 말 기준입니다.

단계를 한 줄씩

수입 건 하나의 진행은 단계 이력 탭에서 계획일과 실적일로 읽습니다.

단계 이력 — 1000 · 8월 계약
단계 이력 — 1000 · 8월 계약 — 수입 건마다 10단계(신용장 결제 건) 또는 9단계의 계획일 · 실적일 · 지연일 · 문서 번호 · 수량 · 금액입니다. 공급처 칸에서 Enter 키로 조회했습니다.

IM26-0015 는 수입 통관 실적이 없는데 수입 입고가 9월 17일에 처리되어 입고 행이 P01(선행 단계 실적 없이 진행)로, 통관 행은 계획일 18일 경과(P08)로 보입니다. 아직 오지 않은 단계는 "예정" 으로 표시되고, 마감 3단계는 미착 조정 → 납품 완료 → 계약 완료 순서로 판정합니다.

부대비를 건마다 나누기

운송비 · 하역비 전표는 여러 수입 건에 걸칩니다. 배분 결과와 배분되지 않은 금액을 함께 봅니다.

부대비 배분 — 2000 · 8월 계약
부대비 배분 — 2000 · 8월 계약 — 부대비 전표마다 배분 기준 · 기준값 · 배분액 · 반올림 조정 · 미배분입니다.

운송비 전표 5105600042 의 1,308,000원은 물품대 비율로 나뉘어야 하는데, IM26-0032 에 63,825원만 배분되고 IM26-0033 몫 1,244,175원은 배분되지 않았습니다(C01). 관세는 신고필증 기준 건별 전표, 하역비는 수량 비율로 나뉩니다. 전표별 배분 합계 + 미배분 = 전표 금액 대사는 차이 0 입니다.

입고 원가를 구성으로

입고 원가는 물품대에 매입 부대비를 더한 값입니다(IAS 2 점검 관점).

수입 원가
수입 원가 — 입고된 24건의 물품대 · 관세 · 운송비 · 하역비 · 적하보험료 · 입고 원가 · 단위 원가 · 부대비율입니다.

입고 원가 합계는 1,842.4 백만원, 배분 부대비는 140.8 백만원입니다. 수입부가세는 매입세액이라 원가 제외 열에 따로 두었습니다. IM26-0003 은 물품대에 I/V 기준 환율보다 23원 높은 환율이 적용되어 환율 적용 차이 838,350원(A01)이 보이고, IM26-0033 은 미배분 부대비 1,244,175원이 원가에서 빠져 있습니다.

월말 미착 잔액

미착 잔액은 I/V 가 먼저 들어오고 입고가 아직 안 된 금액입니다. 기준월을 바꿔 가며 봅니다.

미착 잔액 — 9월 말
미착 잔액 — 9월 말 — 건마다 I/V 반영 · 입고 반영 · 미착 조정 · 미착 잔액 · B/L 일자 · 경과일 · 경과 구간입니다.

9월 말 미착 잔액은 9건 628,250,554원입니다. IM26-0008 · IM26-0009 는 B/L 후 70일 · 61일 지나도록 입고되지 않아 장기 미착(G01), IM26-0016 은 입고 후에도 부족 수량만큼 1,708,806원이 남아 수량 차이(Q01)로 표시됩니다. 미착 잔액 = I/V 반영 − 입고 반영 − 미착 조정 대사는 차이 0 입니다.

수입 건 하나를 끝까지

어느 탭에서든 행을 누르면 그 건의 단계와 부대비가 한 창에 모입니다.

수입 건 상세 — 단계 타임라인과 처리 버튼
수입 건 상세 — 단계 타임라인과 처리 버튼 — 머리에는 입고 원가와 점검 결과, 아래에는 단계 타임라인과 처리 버튼이 있습니다.

IM26-0015 는 현재 단계가 부대비 전기인데 수입 통관 행만 실적이 비어 있습니다. 처리할 수 있는 단계만 버튼이 켜져 통관 행에 "등록" 이 보이고, 위쪽에는 부대비 처리 · 부가세 처리 · 재마감 · 물품대 환율 정정 · 마지막 처리 취소 버튼이 상태에 따라 켜집니다.

찾은 자리에서 처리하기

점검에서 찾은 건은 같은 화면에서 처리합니다. 서비스가 같은 규칙으로 다시 검증하고, 처리하면 점검 코드 · 대사식 · 요약이 바로 다시 계산됩니다.

처리 입력 — 통관 등록
처리 입력 — 통관 등록 — 처리 일자 · 수입신고번호 · 신고필증 관세 · 부가세를 넣는 입력 대화상자입니다.

필수값이 비면 칸이 붉게 표시되고, 처리를 누르면 확인 대화상자가 뜹니다. 통관 수리일을 입고일(9월 17일) 이전인 9월 16일로 등록하자 단계 누락(S01)이 풀리고, 신고필증 부가세가 미처리로 생겨 확인 필요(V02)로 바뀌었다가 당월 처리로 정상이 됐습니다.

부대비 처리 — 배분 실행과 전기
부대비 처리 — 배분 실행과 전기 — 새 부대비 입력, 이 건의 부대비 전표, 배분 기준(금액 · 수량 · 중량), 배분 실행 · 전기 버튼입니다.

운송비 전표 5105600042 를 금액 기준으로 다시 배분하자 IM26-0033 몫 1,244,175원이 채워져 "배분 완료 · 전기 대기" 가 됐습니다. 배분 합계와 전표 금액이 같아야 전기가 되고, 전기하면 시뮬레이션 전표 번호가 붙고 미배분(C01)이 해소됩니다.

일괄 처리 — 결과
일괄 처리 — 결과 — 수입 건 현황에서 고른 3건에 수입 재마감을 한 번에 적용한 결과입니다.

IM26-0025 는 재마감되어 V01 이 풀렸고, 나머지 두 건은 "익월 처리한 수입부가세가 없어 재마감 대상이 아닙니다" 로 실패 사유가 표시됩니다. 일괄 처리도 건마다 같은 규칙으로 검증합니다.

처리 이력과 바뀐 요약
처리 이력과 바뀐 요약 — 처리 번호 · 시각 · 처리자(역할) · 처리 · 처리 전 · 처리 후 · 사유 · 취소 여부입니다.

처리 다섯 건 뒤 요약의 점검·확인 필요 건이 9건에서 6건으로, 미배분 부대비가 0원으로 바뀌었고 정합성 대사 차이는 0 그대로입니다. 처리자는 구매 · 무역 · 원가 · 세무 · 결산 담당 같은 가상의 역할명입니다.

보세창고와 수입부가세

통관 전후의 보세 체류와, 신고필증 세액이 어느 달 전표로 처리됐는지를 봅니다.

보세창고
보세창고 — 반입일 · 반출일 · 반입 · 반출 수량 · 보세 잔량 · 체류일 · 기준일수입니다.

IM26-0010 은 8월 17일 평택 보세창고 2 에 반입된 뒤 9월 말까지 44일째 반출되지 않아 보세 장기 체류(B01)로 표시됩니다. 통관 없이 입고된 IM26-0015 는 반출 기록도 없어 같은 건이 두 탭에서 함께 드러납니다.

수입부가세
수입부가세 — 수입신고번호 · 신고 수리일 · 과세가격 · 관세 · 부가세 과세표준 · 신고필증 부가세와 당월 · 익월 전표 · 미처리 · 처리월 · 재마감입니다.

하순 신고분은 익월에 전표 처리하고 수입 재마감을 합니다. IM26-0025 는 7월 신고분 4,770,076원을 8월에 처리했지만 재마감 표시가 없어 V01 로 표시됩니다. 과세가격 · 과세표준 산식은 검증용 가상 산식이며 실무 세부는 확인 필요입니다.

숫자를 스스로 맞춰 본다

대사 결과 탭은 서비스가 계산한 대사식 12종입니다.

대사 결과
대사 결과 — B/L · I/V 수량부터 마감 완료 건 미착 잔액까지 12개 대사식의 좌변 · 우변 합계 · 검사 건수 · 차이 건수입니다.

의도적 예외는 대사식 안의 별도 항(수량 차이 · 환율 적용 차이 · 미배분 · 미처리)으로 들어가 있어, 예외가 있어도 대사 차이는 0 으로 맞고 예외 금액은 따로 보입니다. 검증용 샘플에서는 12종 모두 차이 0 입니다.

업무 점검 — 수입 마감 전 단계 · 대사 점검표

구매 · 무역 · 원가 담당자가 수입 건을 마감하기 전에 확인할 항목을, 이 화면의 어디서 보는지와 검증용 샘플 결과로 정리했습니다. 관세 · 수입부가세 실무 세부는 회사 · 관세사 기준을 따르며 확인 필요입니다.

점검 항목기준이 화면에서 보는 곳샘플 결과
처리 규칙선행 단계 · 역순 · 수량 · 허용오차 · 배분합 · 미착 잔액 규칙에 맞지 않는 처리는 거부단계 타임라인 · 처리 대화상자 · 처리 이력걸리는 시도 16건 모두 거부
단계 순서구매 계약 → (L/C) → B/L · I/V → 통관 → 입고 → 부대비 → 미착 조정 → 납품 완료 → 계약 완료단계 이력 P01 · P02 · 수입 건 S01 · S02통관 없이 입고 1건 · 마감 역순 1건
B/L · I/V · 입고 수량세 수량이 같거나 차이가 설명됨수입 건 현황 · 대사 ①②부족 입고 20개 1건(Q01)
물품대 환율I/V 금액 × 거래일(I/V 기준) 환율수입 건 현황 · 수입 원가 · 대사 ③환율 적용 차이 838,350원 1건(A01)
부대비 배분Σ 배분액 + 미배분 = 전표 금액부대비 배분 · 대사 ④미배분 1,244,175원 1건(C01)
입고 원가물품대 + 관세 · 운송비 · 하역비 · 보험료(IAS 2)수입 원가 · 대사 ⑤24건 차이 0, 수입부가세는 원가 제외
미착 잔액I/V 반영 − 입고 반영 − 미착 조정미착 잔액 · 대사 ⑥ · ⑫9월 말 9건 628,250,554원, 장기 미착 2건(G01)
보세 체류반입 후 30일 이내 반출(회사 기준)보세창고 · 대사 ⑨장기 체류 1건(B01)
수입부가세신고필증 세액 = 당월 + 익월 + 미처리, 익월 처리 시 재마감수입부가세 · 대사 ⑦재마감 없음 1건(V01)
관세신고필증 관세 = 관세 부대비 전표수입부가세 · 부대비 배분 · 대사 ⑧23건 차이 0

화면 뒤에서 일어나는 일

조회를 누르면 화면은 수입 건 · 단계 이력 · 부대비 배분 · 수입 원가 · 미착 잔액 · 보세창고 · 수입부가세 · 처리 이력 · 대사 결과 아홉 엔티티셋을 각각 조건과 함께 부르고, 요약의 미착 잔액 · 점검 필요 건수 · 미배분 부대비는 서비스 함수로 받습니다. 단계 판정과 대사는 서비스 쪽 데이터에 이미 계산되어 있고, 처리 버튼은 처리 함수(POST)를 불러 서비스가 규칙 검증 → 반영 → 전체 재계산 → 처리 이력 기록을 한 번에 합니다.

  1. 단계 판정 — 단계마다 선행 단계 실적 유무와 일자를 견줘 P00 · P01 · P02 · P08 · P09 를 정합니다(마감 3단계는 미착 조정 → 납품 완료 → 계약 완료 순서).
  2. 수량 대사 — B/L 수량 = I/V 수량, B/L 수량 = 입고 수량 + 수량 차이 + 미입고 수량.
  3. 물품대 — 반올림(I/V 외화 금액 × I/V 기준 환율) + 환율 적용 차이 = 물품대(입고 반영 원화).
  4. 부대비 배분 — 운송비는 물품대 비율, 하역비는 수량 비율, 관세 · 적하보험료는 건별 전표. 배분액 = 전표 금액 × 기준값 ÷ 기준값 합계, 반올림 차이는 기준값이 가장 큰 건에 둡니다. Σ 배분액 + 미배분 = 전표 금액.
  5. 입고 원가 = 물품대 + 관세 + 운송비 + 하역비 + 적하보험료 (수입부가세는 매입세액으로 원가에서 제외).
  6. 미착 잔액(월말) = 입고 전 I/V 반영액 − 입고 반영액(I/V 금액 × 입고 수량 ÷ I/V 수량) − 미착 조정액.
  7. 수입부가세 = 당월 전표 + 익월 전표 + 미처리, 신고필증 관세 = 관세 부대비 전표.
  8. 건 판정 — 단계 · 수량 · 환율 · 부대비 · 부가세 · 보세 · 미착 점검 결과를 우선순위(S01 → S02 → Q01 → A01 → C01 → V01 → B01 → G01 → V02)로 정리해 대표 코드를 정합니다.

수입 건 판정 — 조건과 조치

코드판정 조건결과 상태사용자 조치
S00단계 · 수량 · 금액이 서로 맞음정상조치 없음
S01앞 단계 실적 없이 뒤 단계 처리(예: 통관 없이 입고)점검 필요신고필증 · 보세 반출 기록과 입고 문서 확인
S02뒤 단계가 앞 단계보다 이른 일자(예: 납품 완료가 미착 조정보다 먼저)점검 필요미착 조정 → 납품 완료 → 계약 완료 순서로 재처리
Q01B/L · I/V 수량과 입고 수량 차이점검 필요미착 조정(MR11) 또는 추가 입고 · 공급처 정산
A01물품대 적용 환율 ≠ I/V 기준 환율점검 필요환율 유형 · 일자 확인(IAS 21 거래일 환율)
C01부대비 전표 중 이 건 몫 미배분점검 필요배분 재실행 후 마감(IAS 2 매입 부대비)
V01수입부가세 익월 처리 후 수입 재마감 없음점검 필요재마감 수행
V02하순 신고분 수입부가세 미처리(익월 처리 대상)확인 필요다음 달 전표 · 재마감 예정 확인
G01B/L 후 45일 넘게 미입고점검 필요선적 · 도착 일정 확인
B01보세창고 반입 후 30일 넘게 미반출점검 필요통관 진행 확인

단계 판정과 단계 정의

코드판정 조건결과 상태사용자 조치
P00실적 있음 · 선행 단계 이후 일자정상조치 없음
P01실적 있음 · 선행 단계 실적 없음점검 필요선행 단계 문서 확인
P02실적 있음 · 선행 단계보다 이른 일자점검 필요처리 순서 확인
P08실적 없음 · 계획일 경과정보진행 상황 확인
P09실적 없음 · 계획일 전예정조치 없음
순번코드단계선행 단계계획일(계약일 기준)문서 번호
01CT구매 계약-계약일(기준)구매 계약 번호
02LCL/C 개설구매 계약+5일 (신용장 결제 건만)L/C 번호
03BL선적(B/L)구매 계약+20일B/L 번호
04IV송장(I/V)구매 계약+22일송장 번호
05CC수입 통관선적(B/L)+36일수입신고번호
06GR수입 입고수입 통관 · 선적+39일자재 문서
07CH부대비 전기수입 입고+46일부대비 전표
08C1미착 조정부대비 전기 · 수입 입고+54일조정 전표
09C2납품 완료미착 조정+55일구매오더
10C3계약 완료납품 완료+56일구매 계약 번호

계획 일수 · 장기 미착 45일 · 보세 체류 30일은 검증용 샘플에 둔 회사 기준 예시이며, 운영에서는 단계 정의 · 파라미터 테이블에서 정합니다.

처리 기능 — 무엇을, 어떤 조건에서

처리는 건 상세에서 합니다. 화면은 처리할 수 있는 단계만 버튼을 켜고 필수값을 확인하며, 차단 판단은 서비스가 같은 규칙으로 다시 합니다. 처리하면 그 건의 판정 · 대사식 12종 · 요약이 바로 다시 계산되고 처리 이력에 남습니다. 부대비 전기에 붙는 전표 번호는 시뮬레이션 값입니다.

처리대상입력검증결과
단계 등록L/C · B/L · I/V · 통관 · 입고처리 일자 · 문서 번호 · 수량 · I/V 외화 금액 · 환율 · 신고필증 관세 · 부가세선행 단계 실적 · 선행 일자 이후 · B/L 수량 ≥ 입고 수량 · I/V 금액 = 단가 × 수량(0.5%) · 적용 환율 = I/V 환율(0.5%)단계 실적 · 현재 단계 · 지연일, 통관이면 수입부가세 행 · 관세 전표 · 보세 반출
물품대 환율 정정입고 후정정 환율I/V 기준 환율과 0.5% 이내물품대 · 환율 적용 차이(A01) 재계산
부대비 입력선적 후유형(관세 · 운송 · 하역 · 보험) · 거래처 · 금액유형 · 금액 > 0 · 선적 실적초안 전표(생성 · 수정 가능)
부대비 배분 실행초안 · 배분 대기 · 미배분 전표배분 기준(금액 · 수량 · 중량)기준값 합계 > 0, 전기된 전표는 미배분이 있을 때만 보완 배분건별 배분액 · 반올림 조정(최대 기준값 건) · 미배분 0
부대비 전기배분 완료 전표처리 일자배분 합계 = 전표 금액시뮬레이션 전표 번호, 건의 부대비가 모두 전기되면 부대비 전기 단계 실적
수입부가세 처리통관 후 미처리 세액당월 · 익월미처리 세액 > 0당월 · 익월 전표 금액, 익월이면 재마감 필요(V01)
수입 재마감익월 처리 건-익월 처리 세액 있음 · 미재마감재마감 표시 — V01 해소
마감미착 조정 → 납품 완료 → 계약 완료처리 일자이 순서로만 버튼 활성, 미착 조정은 부대비 전기 뒤, 계약 완료는 미착 잔액 0미착 잔액 정리(미착 조정), Q01 해소
마지막 처리 취소처리 이력이 있는 마지막 처리, 이력이 없으면 마지막 마감 단계취소 사유(필수)역순만 — 같은 건 · 전표의 더 나중 처리가 있으면 거부처리 전 상태로 원상복구, 이력에 취소 표시
일괄 처리수입 건 현황에서 고른 여러 건배분 실행 · 전기 · 부가세 당월/익월 · 재마감 · 다음 마감 단계건마다 위 규칙 그대로건별 성공 · 실패와 사유

처리 차단 조건

아래 조건에 걸리면 서비스가 처리를 거부하고 사유를 돌려주며 데이터는 바뀌지 않습니다. 단계 누락(S01) · 마감 역순(S02) 같은 예외가 처리 과정에서 새로 생기지 않게 하는 장치입니다.

차단 규칙조건막는 것
통관 없이 입고입고 등록 시 수입 통관 실적이 없으면 거부S01 신규 발생 차단
역순 처리처리 일자가 선행 단계 일자보다 이르면 거부S02 신규 발생 차단
마감 순서미착 조정 → 납품 완료 → 계약 완료 순서가 아니면 거부(버튼도 꺼짐)S02 신규 발생 차단
기준일 이후처리 일자가 2026-09-30 을 넘으면 거부스냅숏 일관성
B/L ≥ 입고입고 수량이 B/L 수량을 넘으면 거부Q01 확대 방지
I/V × 환율 = 물품대I/V 금액이 단가 × 수량과, 적용 환율이 I/V 환율과 0.5% 넘게 다르면 거부A01 신규 발생 차단
배분합 ≠ 전표배분 합계와 전표 금액이 다르면 전기 거부, 배분 전 전기 거부C01 해소 전 마감 방지
부대비 미전기배분 · 전기되지 않은 부대비가 있으면 미착 조정 거부원가 누락 방지
미착 잔액 ≠ 09월 말 미착 잔액이 남아 있으면 계약 완료 거부마감 건 미착 0(대사 ⑫)
재마감 중복 · 미처리 없음이미 재마감했거나 미처리 세액이 없으면 거부-
취소사유 없거나 더 나중 처리가 남아 있으면 거부, 이력 없는 앞 단계는 표준 화면에서역순 취소만

조회조건

조회조건필수기본값$filter적용 탭
회계연도필수2026Gjahr eq '2026'전체
계약월선택전체Monat eq '08'대사 결과 외 전체
회사선택전체Bukrs eq '1000'대사 결과 외 전체
미착 기준월선택09Snap eq '09'미착 잔액
현재 단계선택전체CurStage eq 'GR'수입 건 현황
공급처선택비어 있음substringof('Talmo', VendorName)수입 건 · 미착 잔액
인코텀즈선택전체Incoterms eq 'CIF'수입 건 현황
일자 시작 · 종료선택비어 있음ContractDate · ActDate · PostDate · InDate · DeclDate 에 BT · GE · LE탭별 일자 칸
점검 코드선택전체CheckCode eq 'C01'그 코드를 쓰는 탭
점검 결과선택전체CheckStatus eq 'CHECK'대사 결과 외 전체

결과 컬럼

컬럼의미산출식
현재 단계 · 다음 단계실적이 있는 가장 뒤 단계와 실적이 없는 첫 단계단계 이력에서 산출
계획 경과일다음 단계 계획일에서 기준일까지 지난 날수max(0, 기준일 − 계획일)
수량 차이 · 미입고 수량B/L 수량과 입고 수량의 차이 · 아직 입고되지 않은 수량B/L − 입고 − 미입고 · B/L − 입고 − 수량 차이
물품대 · 환율 적용 차이입고 반영 원화와 I/V 기준 환율 금액의 차이I/V 외화 × 적용 환율 · 물품대 − I/V 외화 × 기준 환율
배분액 · 반올림 조정 · 미배분부대비 전표의 건별 몫전표 금액 × 기준값 ÷ 기준값 합계
입고 원가 · 단위 원가 · 부대비율재고에 들어가는 원가물품대 + 부대비 · ÷ 입고 수량 · 부대비 ÷ 물품대
미착 잔액 · 경과일월말 GR/IR 미착 금액과 B/L 이후 날수I/V 반영 − 입고 반영 − 미착 조정 · 월말 − B/L 일자
체류일보세창고 반입 후 날수(반출일 또는 기준일) − 반입일
신고필증 부가세 · 당월 · 익월 · 미처리수입부가세 처리 상태신고필증 = 당월 + 익월 + 미처리

좁은 화면에서 달라지는 것

조회조건은 폭에 맞춰 줄을 바꿔 쌓이고, 조회 버튼은 언제나 입력 칸 묶음의 맨 끝에 붙습니다. 표는 수입 건 열을 고정한 채 가로로 넘기며, 상세 창은 휴대폰 폭에서 화면 전체를 씁니다.

파일 구성

앱 폴더/
├─ index.html · manifest.json · Component.js
├─ controller/   BaseController · Main.controller
├─ view/         Main.view.xml · DetailDialog.fragment.xml
├─ model/        formatter · ErrorHandler
├─ css/ · i18n/
├─ odata/        서비스 정의 · 서비스 로직 · 엔티티셋별 데이터
└─ media/        소개 영상

SAP 표준 기능 확장 포인트

표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 조회 · 검증 관점을 더해 확장합니다. 구매오더 · 입고 · 송장 · GR/IR 정리는 표준 화면에서 그대로 처리하고, 그 결과를 수입 건 한 줄로 이어 단계 진행과 단계 사이 숫자를 맞춰 보는 자리를 더합니다.

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

하고 싶은 일SAP 표준표준에서는이 화면이 더하는 것
구매 계약 · 발주ME21N · ME23N · ME2M계약 · 발주를 만들고 조회합니다계약 → 마감까지의 단계 진행을 수입 건 한 줄로 이어 봅니다
입고 · 송장MIGO · MIRO · MB51입고와 송장을 정확히 처리합니다B/L · I/V · 입고 수량과 물품대를 단계 사이에서 대사합니다
GR/IR 미착MB5S · MR11GR/IR 잔액을 보여 주고 정리합니다월말 미착 잔액을 건 단위로 설명하고 장기 미착을 표시합니다
공급처 · 부대비 거래처FBL1N거래처 개별 항목을 보여 줍니다부대비 전표의 건별 배분과 미배분을 이어 봅니다
단계 누락 · 역순 판정없음단계 순서를 건 단위로 묻는 표준 화면이 없습니다(확인 필요)선행 단계 실적과 일자를 견줘 P01 · P02 · S01 · S02 를 냅니다
통관 · 보세 · 수입부가세 대사없음수입신고 · 보세 기록은 회사 별도 관리가 많습니다(확인 필요)신고필증 세액 · 관세 · 보세 체류를 장부와 맞춥니다
단계 간 금액 대사없음단계별 화면이 각자 금액을 보여 줍니다대사식 12종으로 단계 사이 숫자를 매번 다시 맞춥니다

T-code 별 연계 지점

T-code이름연계
ME21N · ME23N구매오더 생성 · 조회구매 계약(구매오더) 번호 · 공급처 · 통화 · 인코텀즈 · 계약 수량을 이어받습니다. 수입 건의 출발점이며, 회사 화면에서 쓰는 "구매 계약" 명칭이 표준 구매오더와 같은 문서인지는 확인 필요입니다.
ME2M자재별 구매 문서자재 기준으로 미입고 · 미송장 구매오더를 보고, 이 화면의 진행 중 건과 맞춥니다.
MIGO · MB51입고 · 자재 문서 목록입고 수량 · 일자와 자재 문서 번호를 이어받습니다. 입고 단계 실적과 B/L · I/V 수량 대사의 원천입니다.
MIRO송장 처리송장(I/V) 금액 · 통화 · 환율과 부대비 송장을 이어받습니다. 물품대 = I/V 금액 × 환율 대사와 부대비 전표 금액의 원천입니다.
MB5S · MR11GR/IR 잔액 · GR/IR 계정 정리월말 미착 잔액을 MB5S 의 GR/IR 잔액과 맞추고, 부족 입고처럼 남은 잔액은 MR11 로 정리합니다(미착 조정 단계).
FBL1N공급처 개별 항목물품대 · 부대비 거래처의 미결 · 반제 항목을 확인합니다. 외상매입금 반제는 표준 지급 절차에 둡니다.

운영으로 옮길 때 기존 구매 · 입고 · 송장 처리 절차를 없앨 필요는 없습니다. 외상매입금 반제 같은 지급 처리와 세무 신고는 표준과 기존 절차에 두고, 이 화면은 수입 건 마감 전 점검 단계로 씁니다.

S/4HANA 분석 스택과의 자리

단계 판정 큐브와 미착 잔액 큐브를 분석 쿼리로 만들어 두면 표준 Fiori 분석 앱과 Analysis for Office 가 같은 숫자를 띄웁니다. 구매오더 이력과 GR/IR 표준 보고서 위에 수입 건 단위 진행 추적과 단계 간 대사를 얹는 자리입니다.

확장 포인트 — 운영에서 실제로 손대는 자리

자리무엇을어디서누가
단계 정의단계 코드 · 순서 · 선행 단계 · 계획 일수 · 적용 조건(신용장 결제 등)단계 정의 테이블구매 · 무역팀
수입 문서 연결B/L · 수입신고 · 보세 반입/반출 · 부가세 처리월 · 재마감수입 문서 테이블(회사 별도 관리 — 확인 필요)무역팀
부대비 배분 기준운송비 물품대 비율 · 하역비 수량 비율 · 관세 신고필증 건별배분 규칙 테이블원가팀
점검 기준일수장기 미착 45일 · 보세 체류 30일 · 계획 일수파라미터 테이블구매 · 결산팀
환율 유형I/V 기준 환율과 물품대 적용 환율의 유형 · 일자환율 설정(확인 필요)결산팀
권한회사코드 · 구매 조직DCL(pfcg_auth)보안

분석 지표 정의표

지표산식 · 판정 기준대응 기능원천 데이터비고
단계 진행현재 단계 · 다음 단계 · 계획 경과일수입 건 현황 · 단계 이력구매오더 · 입고 · 송장 이력 + 수입 문서S01 · S02 · P01 · P02
수량 일치B/L = I/V, B/L = 입고 + 수량 차이 + 미입고수입 건 현황 · 대사 ①②B/L · 송장 · 입고 수량Q01
물품대(IAS 21 점검 관점)반올림(I/V 외화 × I/V 기준 환율) + 환율 적용 차이 = 물품대수입 건 · 수입 원가 · 대사 ③송장 금액 · 환율 · 입고 금액A01, 환율 유형 확인 필요
입고 원가(IAS 2 점검 관점)물품대 + 관세 · 운송비 · 하역비 · 보험료, 환급 가능한 수입부가세 제외수입 원가 · 대사 ⑤입고 금액 · 부대비 배분C01
미착 잔액I/V 반영 − 입고 반영 − 미착 조정, 경과 45일 초과미착 잔액 · 대사 ⑥ ⑫GR/IR 이력G01 · Q01
수입부가세 · 관세신고필증 = 당월 + 익월 + 미처리, 익월 처리 시 재마감 / 신고필증 관세 = 관세 전표수입부가세 · 대사 ⑦ ⑧수입신고 · 부가세 · 관세 전표V01 · V02, 세무 실무 확인 필요
보세 체류반입 후 30일 이내 반출보세창고 · 대사 ⑨보세 반입 · 반출 기록B01

CDS 구성

검증 화면은 수입 건 36건을 서비스 데이터로 들고 있지만, 운영에서는 구매오더 · 구매오더 이력 · 수입 문서를 CDS 로 이어 단계와 대사를 내립니다. 코드는 스케치이며 표준 필드명과 이력 유형 값은 릴리스 · 설정에 따라 다르므로 주석에 확인할 자리를 적었습니다.

뷰 레이어 구성

레이어뷰하는 일왜 나누나
기준ZIMP_STAGEDEF단계 코드 · 순서 · 선행 단계 · 계획 일수 · 적용 조건단계 정의는 회사마다 다르고 바뀝니다
기준ZIMP_CUSTOMSB/L · 수입신고 · 보세 반입/반출 · 부가세 처리월 · 재마감표준 구매 테이블에 없는 수입 문서를 한곳에
차원ZI_ImpCase수입 건 = 구매오더 품목 + 공급처 + 수입 문서모든 큐브가 같은 수입 건 정의를 봅니다
큐브(단계)ZI_ImpStageEvent단계별 실적일 · 문서 번호 · 수량 · 금액(UNION)흩어진 문서를 단계 축 하나로 모읍니다
큐브(판정)ZI_ImpStageCheck선행 단계 실적 · 일자로 P01 · P02 · P08 판정판정 규칙을 한곳에서 바꿉니다
큐브(부대비)ZI_ImpChargeAlloc부대비 전표의 건별 배분 · 미배분입고 원가와 대사의 원천
큐브(미착)ZI_ImpGitBalance기준일 미착 잔액 = I/V − 입고 − 조정월말 잔액을 파라미터로 다시 구합니다
쿼리ZC_ImpStageMonitor수입 건별 현재 단계 · 대사 결과 · 점검 코드표준 분석 도구와 화면이 같은 숫자를 봅니다
처리ZI_ImpCase (Behavior)단계 등록 · 부대비 배분 · 전기 · 부가세 · 마감 · 취소 액션과 검증처리 규칙을 서비스 쪽 한곳에 둡니다
권한ZI_IMPCASE (DCL)회사코드 · 구매 조직 권한집계를 읽는 자리에 겁니다
서비스ZUI_IMPSTAGEService Definition화면이 부르는 엔티티셋을 묶습니다

① 단계 정의 테이블

이 화면의 모든 단계 판정이 이 표에서 갈립니다. 단계 코드와 순서, 어떤 단계가 끝나야 다음 단계로 갈 수 있는지(선행 단계), 계약일 기준 계획 일수, 신용장 결제 건에만 있는 단계 같은 적용 조건을 적습니다. 운영 전환에서 구매 · 무역팀과 가장 먼저 합의할 항목입니다.

" ────────────────────────────────────────────────────────────────
"  ZIMP_STAGEDEF — 수입 단계 정의 (투명 테이블)
"  역할 : 단계 코드 · 순서 · 선행 단계 · 계획 일수 · 적용 조건
"  나눈 이유 : 단계 순서와 마감 순서(미착 조정 → 납품 완료 → 계약 완료)를
"             코드가 아니라 표로 관리한다.
" ────────────────────────────────────────────────────────────────
@EndUserText.label : '수입 단계 정의'
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #C
@AbapCatalog.dataMaintenance : #ALLOWED
define table zimp_stagedef {
  key mandt      : mandt not null;
  key stage_id   : abap.char(2) not null;   " CT LC BL IV CC GR CH C1 C2 C3
  stage_seq      : abap.numc(2);            " 표시 순서
  pre_stage_1    : abap.char(2);            " 선행 단계(필수)
  pre_stage_2    : abap.char(2);            " 선행 단계(있으면 함께 확인)
  plan_days      : abap.int2;               " 계약일 기준 계획 일수
  cond_payterm   : abap.char(2);            " LC = 신용장 결제 건에만 적용
  is_closing     : abap_boolean;            " 마감 3단계 표시
}

② 수입 문서 테이블

B/L · 수입신고 · 보세 반입과 반출 · 수입부가세 처리월 · 재마감 여부는 표준 구매 테이블에 없는 경우가 많습니다. 회사가 이미 별도 테이블이나 무역 솔루션에 두고 있다면 그 원천을 이 구조로 맞추면 됩니다(실제 원천은 확인 필요). B/L 번호는 인바운드 납품의 선하증권 칸에 두는 회사도 있습니다.

" ────────────────────────────────────────────────────────────────
"  ZIMP_CUSTOMS — 수입 문서 (B/L · 수입신고 · 보세 · 부가세 처리)
"  주의 : 원천은 회사마다 다르다(무역 솔루션 · 별도 테이블) — 확인 필요
" ────────────────────────────────────────────────────────────────
@EndUserText.label : '수입 문서'
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #A
define table zimp_customs {
  key mandt      : mandt not null;
  key ebeln      : ebeln not null;          " 구매오더
  key ebelp      : ebelp not null;
  bl_no          : abap.char(20);           " 선하증권 번호
  bl_date        : abap.dats;
  lc_no          : abap.char(20);           " 신용장 번호(신용장 결제 건)
  lc_date        : abap.dats;
  decl_no        : abap.char(20);           " 수입신고번호
  decl_date      : abap.dats;               " 신고 수리일
  @Semantics.amount.currencyCode : 'zimp_customs.waers'
  customs_value  : abap.curr(15,2);         " 과세가격 — 산식은 관세사 기준(확인 필요)
  @Semantics.amount.currencyCode : 'zimp_customs.waers'
  duty_amt       : abap.curr(15,2);         " 신고필증 관세
  @Semantics.amount.currencyCode : 'zimp_customs.waers'
  vat_amt        : abap.curr(15,2);         " 신고필증 부가세
  waers          : waers;
  bond_wh        : abap.char(10);           " 보세창고
  bond_in        : abap.dats;               " 반입일
  bond_out       : abap.dats;               " 반출일
  vat_post_month : abap.numc(2);            " 부가세 전표 처리월
  reclose_flag   : abap_boolean;            " 수입 재마감 수행
}

③ 수입 건 차원 뷰

수입 건 한 행은 구매오더 품목 하나에 공급처와 수입 문서를 붙인 것입니다. 단계 · 부대비 · 미착 큐브가 모두 이 정의를 연관으로 봅니다.

" ────────────────────────────────────────────────────────────────
"  ZI_ImpCase — 수입 건 차원 (EKKO · EKPO · LFA1 + 수입 문서)
" ────────────────────────────────────────────────────────────────
@EndUserText.label: '수입 건'
@Analytics.dataCategory: #DIMENSION
@ObjectModel.representativeKey: 'PurchaseOrderItem'
define view entity ZI_ImpCase
  as select from ekpo as i
    inner join ekko as h on h.ebeln = i.ebeln
    left outer join lfa1 as v on v.lifnr = h.lifnr
    left outer join zimp_customs as c on c.ebeln = i.ebeln and c.ebelp = i.ebelp
{
  key i.ebeln        as PurchaseOrder,
  key i.ebelp        as PurchaseOrderItem,
      h.bukrs        as CompanyCode,
      h.ekorg        as PurchasingOrg,
      h.lifnr        as Vendor,
      v.name1        as VendorName,
      h.waers        as Currency,
      h.inco1        as Incoterms,
      h.bedat        as ContractDate,
      i.matnr        as Material,
      @Semantics.quantity.unitOfMeasure: 'Unit'
      i.menge        as ContractQty,
      i.meins        as Unit,
      i.elikz        as DeliveryCompleted,      " 납품 완료 표시
      c.bl_no        as BillOfLading,
      c.decl_no      as CustomsDeclNo
}
where h.bsart = 'NB'     // 수입 오더 유형 · 해외 공급처 구분은 회사 기준 — 확인 필요

④ 단계 실적 큐브

흩어진 문서를 "단계" 축 하나로 모읍니다. 구매오더 이력(EKBE)의 입고와 송장, 수입 문서의 B/L · 신고 수리, 부대비 송장을 UNION 으로 이어 단계마다 실적일 · 문서 번호 · 수량 · 금액을 한 행으로 만듭니다. 이력 유형 값은 릴리스 · 설정에 따라 확인이 필요합니다.

" ────────────────────────────────────────────────────────────────
"  ZI_ImpStageEvent — 단계 실적 (UNION)
"  BEWTP : E 입고 · Q 송장 (그 밖의 유형은 확인 필요)
" ────────────────────────────────────────────────────────────────
@EndUserText.label: '수입 단계 실적'
@Analytics.dataCategory: #CUBE
define view entity ZI_ImpStageEvent
  as select from ZI_ImpCase as k
{
  key k.PurchaseOrder, key k.PurchaseOrderItem, key cast( 'CT' as abap.char(2) ) as StageId,
      k.ContractDate as ActDate, k.PurchaseOrder as DocNo,
      cast( k.ContractQty as abap.quan(15,3) ) as Qty, cast( 0 as abap.dec(17,2) ) as AmtLc
}
union all select from zimp_customs as c
{
  key c.ebeln, key c.ebelp, key cast( 'BL' as abap.char(2) ),
      c.bl_date, c.bl_no, cast( 0 as abap.quan(15,3) ), cast( 0 as abap.dec(17,2) )
}
union all select from zimp_customs as c
{
  key c.ebeln, key c.ebelp, key cast( 'CC' as abap.char(2) ),
      c.decl_date, c.decl_no, cast( 0 as abap.quan(15,3) ), cast( c.duty_amt as abap.dec(17,2) )
}
union all select from ekbe as e
{
  key e.ebeln, key e.ebelp,
  key case e.bewtp when 'E' then cast( 'GR' as abap.char(2) )
                   when 'Q' then cast( 'IV' as abap.char(2) ) end,
      max( e.budat ), max( e.belnr ),
      sum( case e.shkzg when 'H' then - e.menge else e.menge end ),
      sum( case e.shkzg when 'H' then - e.dmbtr else e.dmbtr end )
}
where e.bewtp in ( 'E', 'Q' )
group by e.ebeln, e.ebelp, e.bewtp

⑤ 단계 판정 큐브

단계마다 선행 단계의 실적 유무와 일자를 견줘 판정합니다. 선행 단계가 없는데 실적이 있으면 P01, 선행 단계보다 이른 일자면 P02, 실적이 없고 계획일이 지났으면 P08 입니다. 판정 규칙을 이 뷰 한곳에 두면 단계 정의 테이블만 바꿔도 화면 판정이 따라옵니다.

" ────────────────────────────────────────────────────────────────
"  ZI_ImpStageCheck — 단계 판정 (선행 단계 실적 · 일자)
" ────────────────────────────────────────────────────────────────
@EndUserText.label: '수입 단계 판정'
define view entity ZI_ImpStageCheck
  with parameters P_KeyDate : abap.dats
  as select from ZI_ImpCase as k
    cross join zimp_stagedef as d
    left outer join ZI_ImpStageEvent as a  on  a.PurchaseOrder = k.PurchaseOrder
                                          and a.PurchaseOrderItem = k.PurchaseOrderItem
                                          and a.StageId = d.stage_id
    left outer join ZI_ImpStageEvent as p  on  p.PurchaseOrder = k.PurchaseOrder
                                          and p.PurchaseOrderItem = k.PurchaseOrderItem
                                          and p.StageId = d.pre_stage_1
{
  key k.PurchaseOrder, key k.PurchaseOrderItem, key d.stage_id as StageId,
      d.stage_seq                                        as StageSeq,
      dats_add_days( k.ContractDate, d.plan_days, 'INITIAL' ) as PlanDate,
      a.ActDate,
      a.DocNo,
      case
        when a.ActDate is not null and d.pre_stage_1 <> '' and p.ActDate is null then 'P01'
        when a.ActDate is not null and p.ActDate > a.ActDate                    then 'P02'
        when a.ActDate is null
         and dats_add_days( k.ContractDate, d.plan_days, 'INITIAL' ) < $parameters.P_KeyDate then 'P08'
        when a.ActDate is null                                                  then 'P09'
        else 'P00'
      end                                                as CheckCode
}
where d.cond_payterm = '' or d.cond_payterm = 'LC'   // 신용장 결제 여부 조건 — 결제조건 연결은 확인 필요

⑥ 부대비 배분 큐브

부대비 전표 금액을 수입 건마다 나눈 결과와 배분되지 않은 금액입니다. 운송비는 물품대 비율, 하역비는 수량 비율, 관세 · 적하보험료는 건별 전표입니다. 반올림 차이는 기준값이 가장 큰 건에 둡니다. 계획 부대비를 구매오더 조건으로 처리하는 회사는 구매오더 이력의 부대비 행(EKBZ)이 원천이 됩니다(확인 필요).

" ────────────────────────────────────────────────────────────────
"  ZI_ImpChargeAlloc — 부대비 배분 (전표 × 수입 건)
"  배분액 = 전표 금액 × 기준값 ÷ 기준값 합계, 반올림 차이는 최대 기준값 건
" ────────────────────────────────────────────────────────────────
@EndUserText.label: '수입 부대비 배분'
@Analytics.dataCategory: #CUBE
define view entity ZI_ImpChargeAlloc
  as select from zimp_chgalloc as a            // 배분 실행 결과(배분 프로그램이 기록)
    inner join ZI_ImpCase as k on  k.PurchaseOrder = a.ebeln
                              and k.PurchaseOrderItem = a.ebelp
{
  key a.charge_doc   as ChargeDoc,
  key a.ebeln        as PurchaseOrder,
  key a.ebelp        as PurchaseOrderItem,
      a.charge_type  as ChargeType,           // DUTY · FRT · HDL · INS
      a.base_type    as BaseType,             // DECL · AMT · QTY
      @Semantics.amount.currencyCode: 'Currency'
      a.doc_amt      as DocAmt,
      @Semantics.amount.currencyCode: 'Currency'
      a.alloc_amt    as AllocAmt,
      @Semantics.amount.currencyCode: 'Currency'
      a.round_adj    as RoundAdj,
      @Semantics.amount.currencyCode: 'Currency'
      a.miss_amt     as MissAmt,               // 이 건 몫인데 배분되지 않은 금액(C01)
      a.waers        as Currency
}

⑦ 미착 잔액 큐브

기준일을 파라미터로 받아 그날의 미착 잔액을 다시 구합니다. 입고 전에 들어온 송장 금액에서 입고 반영액과 미착 조정액을 뺍니다. 월말마다 같은 뷰를 기준일만 바꿔 부르면 되므로 스냅숏 테이블이 필요 없습니다. MB5S 의 GR/IR 잔액과 맞추는 자리입니다.

" ────────────────────────────────────────────────────────────────
"  ZI_ImpGitBalance — 기준일 미착 잔액
"  미착 잔액 = Σ 송장(Q) − Σ 입고(E) − Σ 미착 조정  (기준일까지)
" ────────────────────────────────────────────────────────────────
@EndUserText.label: '수입 미착 잔액'
@Analytics.dataCategory: #CUBE
define view entity ZI_ImpGitBalance
  with parameters P_KeyDate : abap.dats
  as select from ekbe as e
{
  key e.ebeln as PurchaseOrder,
  key e.ebelp as PurchaseOrderItem,
      @Semantics.amount.currencyCode: 'Currency'
      sum( case when e.bewtp = 'Q' and e.shkzg = 'S' then e.dmbtr
                when e.bewtp = 'Q' and e.shkzg = 'H' then - e.dmbtr else 0 end ) as IvLc,
      @Semantics.amount.currencyCode: 'Currency'
      sum( case when e.bewtp = 'E' and e.shkzg = 'S' then e.dmbtr
                when e.bewtp = 'E' and e.shkzg = 'H' then - e.dmbtr else 0 end ) as GrLc,
      e.hswae as Currency
      // 미착 조정(GR/IR 정리) 반영 방식은 이력 유형 확인 후 추가 — 확인 필요
}
where e.budat <= $parameters.P_KeyDate
group by e.ebeln, e.ebelp, e.hswae

⑧ 모니터링 쿼리

수입 건별 현재 단계와 대사 결과를 한 행으로 두는 분석 쿼리입니다. 표준 Fiori 분석 앱과 Analysis for Office 가 같은 숫자를 띄우고, 이 화면의 수입 건 현황과 맞춰 볼 수 있습니다.

" ────────────────────────────────────────────────────────────────
"  ZC_ImpStageMonitor — 수입 진행 모니터링 쿼리
" ────────────────────────────────────────────────────────────────
@EndUserText.label: '수입 통합 관리 점검'
@Analytics.query: true
define transient view entity ZC_ImpStageMonitor
  provider contract analytical_query
  with parameters P_KeyDate : abap.dats
  as projection on ZI_ImpStageCheck( P_KeyDate: $parameters.P_KeyDate )
{
  @Consumption.filter: { selectionType: #SINGLE, mandatory: false }
  @AnalyticsDetails.query.axis: #ROWS
  PurchaseOrder,
  @AnalyticsDetails.query.axis: #ROWS
  PurchaseOrderItem,
  @AnalyticsDetails.query.axis: #COLUMNS
  StageId,
  @AnalyticsDetails.query.axis: #FREE
  CheckCode,
  PlanDate,
  ActDate
}

⑨ 처리 동작 정의(RAP)

화면의 처리 버튼은 서비스 액션 하나씩에 대응합니다. 운영에서는 RAP 동작 정의에 액션과 검증(validation)을 두고, 실제 전기는 표준 처리(입고 · 송장 · GR/IR 정리)를 부르도록 구현합니다. 이 화면의 검증용 서비스는 같은 규칙을 시뮬레이션 전표 번호로 재현합니다(실제 전기 연결 방식은 확인 필요).

" ────────────────────────────────────────────────────────────────
"  ZI_ImpCase — Behavior Definition (처리 액션 · 검증)
"  주의 : 실제 전기는 표준 BAPI · 표준 처리 호출로 구현 — 확인 필요
" ────────────────────────────────────────────────────────────────
managed implementation in class zbp_i_impcase unique;
strict ( 2 );
define behavior for ZI_ImpCase alias ImportCase
lock master
authorization master ( instance )
{
  action ( features : instance ) registerStage parameter ZA_ImpStageInput result [1] $self;
  action ( features : instance ) allocateCharge parameter ZA_ImpAllocInput result [1] $self;
  action ( features : instance ) postCharge parameter ZA_ImpPostInput result [1] $self;
  action ( features : instance ) processVat parameter ZA_ImpVatInput result [1] $self;
  action ( features : instance ) reClose result [1] $self;
  action ( features : instance ) closeStep parameter ZA_ImpCloseInput result [1] $self;
  action ( features : instance ) cancelLast parameter ZA_ImpCancelInput result [1] $self;
  validation checkStageOrder on save { create; update; }   // 선행 단계 · 역순 · 마감 순서
  validation checkQtyAmount  on save { create; update; }   // B/L ≥ 입고 · I/V × 환율 허용오차
  validation checkChargeSum  on save { create; update; }   // 배분 합계 = 전표 금액
  validation checkGitZero    on save { create; update; }   // 계약 완료 전 미착 잔액 0
}

⑩ 권한(DCL)

회사코드와 구매 조직 권한을 수입 건 차원에 겁니다. 집계 단계에 걸어야 합계로 다른 회사 숫자가 드러나지 않습니다.

" ────────────────────────────────────────────────────────────────
"  DCL — 회사코드 · 구매 조직 권한
" ────────────────────────────────────────────────────────────────
@EndUserText.label: '수입 건 권한'
@MappingRole: true
define role ZI_IMPCASE {
  grant select on ZI_ImpCase
    where ( CompanyCode ) = aspect pfcg_auth( F_BKPF_BUK, BUKRS, ACTVT = '03' )
      and ( PurchasingOrg ) = aspect pfcg_auth( M_BEST_EKO, EKORG, ACTVT = '03' );
}

⑪ 서비스 정의

화면이 부르는 엔티티셋을 묶습니다. 운영 전환 시 서비스 바인딩을 게시하고 manifest 의 서비스 주소만 바꿉니다.

" ────────────────────────────────────────────────────────────────
"  ZUI_IMPSTAGE — Service Definition
" ────────────────────────────────────────────────────────────────
@EndUserText.label: '수입 통합 관리 점검 서비스'
define service ZUI_IMPSTAGE {
  expose ZI_ImpCase         as CaseSet;
  expose ZI_ImpStageCheck   as StageSet;
  expose ZI_ImpChargeAlloc  as ChargeSet;
  expose ZI_ImpGitBalance   as GitSet;
  expose ZI_ImpActionLog    as ActionLogSet;     // 처리 이력(누가 · 언제 · 무엇을 · 전후 값)
}

운영 시점에 해야 할 일

개발보다 정하는 일이 많습니다.

해야 할 일무엇을 정하나정하지 않으면누가
단계 정의 확정단계 코드 · 순서 · 선행 단계 · 계획 일수 · 신용장 결제 조건단계 판정이 회사 흐름과 맞지 않습니다구매 · 무역팀
수입 문서 원천 확정B/L · 수입신고 · 보세 반입/반출 · 부가세 처리월 · 재마감이 어디에 있는지통관 · 보세 · 부가세 단계가 비어 보입니다무역팀 · IT
부대비 배분 기준운송비 · 하역비 · 관세 · 보험료의 배분 기준과 반올림 처리입고 원가가 건마다 달라집니다원가팀
점검 기준일수장기 미착 · 보세 체류 · 계획 일수점검 대상이 너무 많거나 적습니다구매 · 결산팀
환율 유형 · 일자I/V 기준 환율과 물품대 적용 환율의 기준환율 적용 차이가 매번 납니다결산팀
수입부가세 처리 규칙익월 처리 대상 기준과 재마감 절차부가세 대사가 계속 확인 필요로 남습니다세무 · 결산팀
권한 설계회사코드 · 구매 조직, 처리 액션별 역할(구매 · 무역 · 원가 · 세무 · 결산)다른 회사 수입 건이 보이거나 아무나 마감합니다보안
실제 전기 연결처리 액션이 부를 표준 처리(입고 · 송장 · GR/IR 정리 · 부가세 전표)와 전표 번호 반환시뮬레이션 번호만 남습니다IT · 결산팀
대사 체계MB5S GR/IR 잔액 · MIRO 송장 · MIGO 입고와 맞출 항목숫자를 믿지 못합니다구매 · 결산팀
전송(TR) 순서테이블 → 차원 → 큐브 → 쿼리 → DCL → 서비스활성화 오류로 이송이 멈춥니다Basis
서비스 활성화서비스 바인딩 게시 또는 /IWFND/MAINT_SERVICE, manifest 서비스 주소 교체화면이 서비스를 찾지 못합니다Basis
배치 등록월말 미착 기준일 실행 · 부대비 배분 재실행 시점사람이 열 때만 대사합니다Basis · 구매팀

운영 데이터로 갈 때

수입 건은 구매오더 품목 단위라 회계 전표 전체를 훑지 않습니다. 단계 실적은 구매오더 이력에서 품목별로 모으고, 미착 잔액은 기준일 파라미터로 DB 에서 집계하며, 수입 문서는 구매오더 키로 붙입니다. 회사 · 연도를 필수 조건으로 두고 원인 건만 상세로 내려가도록 나누면 응답 시간 목표(조회 2초 이내)를 지킬 수 있습니다.

자주 묻는 질문

도입 검토에서 나올 질문을 다섯 묶음으로 정리했습니다.

숫자와 산식

단계 간 대사는 무엇을 맞춰 봅니까?

한 수입 건이 단계를 지나며 남긴 숫자가 서로 맞는지 봅니다. B/L 수량과 I/V 수량, B/L 수량과 입고 수량, I/V 금액과 환율로 구한 물품대, 부대비 전표와 배분 합계, 입고 원가와 그 구성, 월말 미착 잔액, 신고필증 부가세와 부가세 전표, 신고필증 관세와 관세 전표 등 12가지 대사식입니다.

예외가 있는데 대사 차이가 0 인 이유는 무엇입니까?

수량 차이 · 환율 적용 차이 · 미배분 · 미처리 같은 예외 금액을 대사식 안의 별도 항으로 두었기 때문입니다. 대사 차이 0 은 "숫자가 어디로 갔는지 모두 설명된다" 는 뜻이고, 예외 금액은 그 항에 그대로 보여 점검 코드로 따로 표시됩니다.

입고 원가에는 무엇이 들어갑니까?

물품대에 관세 · 운송비 · 하역비 · 적하보험료를 더한 값입니다. 재고 취득원가에 매입 부대비를 포함하는 IAS 2 재고자산(K-IFRS 제1002호)의 원가 구성을 점검 관점으로 쓴 것이며, 매입세액으로 공제되는 수입부가세는 원가 제외 열에 따로 둡니다. 실제 원가 구성 항목은 회사 원가 정책을 따릅니다.

환율 적용 차이는 어떻게 계산합니까?

물품대(입고 반영 원화)에서 I/V 외화 금액에 I/V 기준 환율을 곱해 반올림한 금액을 뺍니다. 외화 거래를 거래일 환율로 기록하는 IAS 21 환율변동효과(K-IFRS 제1021호)의 최초 인식 기준을 점검 관점으로 쓴 것이며, 회사가 어떤 환율 유형과 일자를 거래일 환율로 쓰는지는 확인 필요입니다.

부대비는 어떻게 나눕니까?

운송비는 같은 전표에 묶인 수입 건의 물품대 비율, 하역비는 수량 비율로 나누고, 관세와 적하보험료는 건별 전표입니다. 원 단위로 반올림한 합계가 전표 금액과 다르면 그 차이를 기준값이 가장 큰 건에 더해 반올림 조정 열에 남깁니다. 검증용 샘플에는 반올림 조정 3건이 있습니다.

미착 잔액은 어떻게 구합니까?

월말까지 들어온 송장 금액에서 입고 반영액(송장 금액 × 입고 수량 ÷ 송장 수량)과 미착 조정액을 뺍니다. 송장이 먼저 들어오고 입고가 아직 안 된 건, 입고는 됐지만 부족 수량만큼 잔액이 남은 건이 잡힙니다. 미착 기준월을 바꾸면 7 · 8 · 9월 말 잔액을 볼 수 있습니다.

대사식은 몇 가지를 검산합니까?

대사식 12종에 부대비 배분 재실행 · 경과일 · 체류일 · 입고 반영액 · 계획 경과일 재계산, 단계 판정과 건 판정 재실행까지 독립 스크립트로 다시 돌렸습니다. 검증용 샘플에서 1,072건을 검사했고 차이는 0건입니다.

화면과 조작

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

조회조건 영역 입력 칸의 맨 오른쪽입니다. 화면 아래 바에 두지 않았고 입력 칸에서 Enter 키를 눌러도 조회됩니다. 처음 열면 한 번 자동으로 조회합니다.

점검 코드는 어느 탭에 걸립니까?

건 판정 코드는 수입 건 현황과 그 코드를 같이 쓰는 상세 탭에 걸립니다. 예를 들어 C01 은 수입 건 · 부대비 배분 · 수입 원가, G01 은 수입 건 · 미착 잔액, B01 은 수입 건 · 보세창고 탭입니다. P 로 시작하는 단계 판정 코드는 단계 이력에만 걸립니다.

일자 조건은 어디에 걸립니까?

탭마다 의미 있는 일자에 걸립니다. 수입 건은 계약일, 단계 이력은 실적일, 부대비는 전기일, 보세창고는 반입일, 수입부가세는 신고 수리일입니다. 기간을 모두 넣으면 구간 하나로 보내 같은 칸에 두 조건이 OR 로 묶이지 않게 했습니다.

행을 누르면 무엇이 열립니까?

어느 탭에서든 그 수입 건의 상세 창이 열립니다. 현재 단계 → 다음 단계, 계약 · B/L · 입고 수량, 환율, 물품대와 환율 적용 차이, 부대비와 입고 원가, 미착 잔액, 수입부가세, 판정 근거 문장과 단계별 진행 표 · 부대비 배분 표가 한 창에 모입니다.

CSV 에는 무엇이 담깁니까?

지금 보고 있는 탭의 조회 결과가 화면 열 순서대로 UTF-8 CSV 로 내려옵니다.

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

조회조건은 줄을 바꿔 쌓이고, 표는 수입 건 열을 고정한 채 가로로 넘깁니다. 상세 창은 휴대폰 폭에서 화면을 가득 채웁니다.

기준과 판정

어떤 기준과 관련이 있습니까?

수입 진행 추적과 단계 간 대사가 대상 영역입니다. 입고 원가 구성은 IAS 2 재고자산(K-IFRS 제1002호)의 매입원가 구성, 물품대 환율은 IAS 21 환율변동효과(K-IFRS 제1021호)의 거래일 환율 기록을 점검 관점으로만 씁니다. 관세 · 수입부가세 계산과 신고 실무는 관련 법령과 관세사 · 세무 기준을 따르며 이 화면은 그 세부를 판단하지 않습니다(확인 필요).

언제부터 쓸 수 있습니까?

특정 기준서 시행일에 맞춘 화면이 아니라 수입 업무의 진행 추적과 대사 도구라 도입 시기의 제한은 없습니다. 운영 연결에는 단계 정의와 수입 문서 원천을 정하는 일이 먼저입니다.

단계 누락은 어떻게 판정합니까?

단계마다 선행 단계를 정해 두고, 실적이 있는 단계의 선행 단계에 실적이 없으면 P01, 선행 단계보다 이른 일자면 P02 로 표시합니다. 입고의 선행 단계는 수입 통관과 선적, 미착 조정의 선행 단계는 부대비 전기와 입고, 납품 완료는 미착 조정, 계약 완료는 납품 완료입니다.

장기 미착 · 보세 체류 기준은 왜 45일 · 30일입니까?

검증용 샘플에 둔 회사 기준 예시입니다. 실제 기준일수는 운송 구간과 품목, 회사 정책에 따라 다르므로 파라미터 테이블에서 정합니다.

수입부가세 익월 처리는 무엇을 봅니까?

신고필증 부가세가 당월 전표 · 익월 전표 · 미처리 가운데 어디에 있는지 대사하고, 익월에 처리한 건은 수입 재마감이 됐는지 봅니다. 하순 신고분을 익월에 처리하는 기준과 재마감 절차는 회사 · 세무 기준이며 확인 필요입니다.

점검 필요가 나오면 처리가 틀린 것입니까?

아닙니다. 다시 볼 대상을 가리는 표시입니다. 이 화면은 점검 도구이며 원가 · 회계 처리의 최종 판단은 회사와 감사인이, 관세 · 부가세 판단은 회사와 관세사 · 세무 전문가가 합니다.

표준 화면과 무엇이 다릅니까?

표준 실행은 ME21N · MIGO · MIRO · MR11 같은 SAP 표준 T-code 가 담당하고, 이 화면은 그 결과를 수입 건 한 줄로 이어 단계 진행과 단계 사이 숫자를 대사하는 검증 관점을 더해 확장합니다. B/L · 송장 · 입고 3자 대조나 부대비 배분만 따로 보는 화면과 달리, 계약부터 마감까지 전 단계를 한 흐름으로 봅니다.

처리 기능

어떤 처리를 할 수 있습니까?

단계 등록(L/C · B/L · I/V · 통관 · 입고), 물품대 환율 정정, 부대비 입력 · 배분 실행 · 전기, 수입부가세 당월 · 익월 처리와 수입 재마감, 마감(미착 조정 → 납품 완료 → 계약 완료), 마지막 처리 취소, 여러 건 일괄 처리입니다. 건 상세의 단계 타임라인에서 처리할 수 있는 단계만 버튼이 켜집니다.

어떤 처리는 막힙니까?

통관 실적 없이 입고, 선행 단계보다 이른 일자, 순서가 어긋난 마감, 기준일 이후 일자, B/L 수량을 넘는 입고, 단가 × 수량이나 I/V 환율과 0.5% 넘게 다른 금액 · 환율, 배분 합계와 전표 금액이 다른 전기, 부대비가 전기되지 않은 미착 조정, 미착 잔액이 남은 계약 완료가 거부됩니다. 거부 사유는 메시지 상자로 보이고 데이터는 바뀌지 않습니다.

처리하면 무엇이 다시 계산됩니까?

해당 건의 단계 판정 · 현재 단계 · 지연일 · 점검 코드와 함께 부대비 · 입고 원가 · 미착 잔액 · 수입부가세 · 보세, 대사식 12종, 요약의 점검 필요 건수 · 미착 잔액 · 미배분 부대비가 바로 다시 계산되어 화면에 반영됩니다. 검증용 샘플에서 처리 36단계 뒤 독립 검산 1,086건의 차이는 0 이었습니다.

취소는 어떻게 합니까?

마지막 처리 취소에 사유를 넣으면 그 건의 가장 나중 처리를 처리 전 상태로 되돌립니다. 같은 건이나 같은 부대비 전표에 더 나중 처리가 있으면 그것부터 취소해야 하며(역순만), 처리 이력이 없는 앞 단계는 표준 화면에서 역처리합니다. 취소도 처리 이력에 사유와 함께 남습니다.

전표 번호는 실제 전표입니까?

아닙니다. 검증용 서비스는 부대비 전기에 시뮬레이션 전표 번호를 붙입니다. 운영에서는 처리 액션이 표준 처리를 불러 실제 전표 번호를 돌려주도록 연결해야 하며, 연결 방식은 확인 필요입니다.

처리 이력에는 무엇이 남습니까?

처리 번호 · 시각 · 처리자(구매 · 무역 · 원가 · 세무 · 결산 담당 같은 가상의 역할명) · 처리 · 처리 전 값 · 처리 후 값 · 사유 · 취소 여부입니다. 운영에서는 실제 사용자 ID 와 권한 역할로 바꿉니다.

도입과 운영

데이터 원천은 무엇입니까?

구매오더 머리 · 품목, 구매오더 이력의 입고와 송장, 공급처 마스터, 부대비 전표, 그리고 B/L · 수입신고 · 보세 · 부가세 처리 같은 수입 문서입니다. 수입 문서는 회사마다 원천이 달라 확인 필요입니다.

운영 연결에는 무엇이 필요합니까?

단계 정의 테이블과 수입 문서 원천을 정하고, CDS 뷰를 만들어 이송한 뒤 서비스 바인딩을 게시하고 화면의 서비스 주소만 바꾸면 됩니다. 개발보다 단계 정의와 배분 기준 합의에 시간이 더 듭니다.

권한은 어떻게 막습니까?

회사코드와 구매 조직 표준 권한 객체를 수입 건 차원에 겁니다. 집계 단계에 걸어야 합계로 다른 회사 숫자가 드러나지 않습니다.

건수가 많아도 됩니까?

수입 건은 구매오더 품목 단위라 전표 전체를 훑지 않습니다. 회사 · 연도를 필수 조건으로 두고 단계 실적은 구매오더 이력에서 품목별로 모으며, 미착 잔액은 기준일 파라미터로 DB 에서 집계하면 응답 시간을 지킬 수 있습니다.

부분 선적 · 분할 입고는 어떻게 됩니까?

검증용 샘플은 수입 건 하나가 B/L 하나인 경우로 만들었습니다. 분할 선적은 B/L 단위 하위 행을 두거나 수입 건을 나눠야 하며, 회사 운영 방식에 맞춰 단계 실적 큐브의 집계 키를 정합니다(확인 필요).

화면의 숫자는 실제 회사 자료입니까?

아닙니다. 가상 회사 두 곳과 가상 공급처 · 품목으로 만든 검증용 샘플 데이터입니다.