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호)를 점검 관점으로만 씁니다. 건 상세에서는 단계 등록 · 부대비 배분과 전기 · 수입부가세 처리와 재마감 · 마감 · 취소까지 처리할 수 있고, 처리 결과는 점검 코드와 대사식에 바로 반영됩니다. 화면은 진행 추적 · 대사와 처리를 돕는 도구이며 전표 번호는 시뮬레이션 값입니다. 관세·수입부가세 계산과 신고 실무 세부는 회사·관세사 기준(확인 필요), 원가와 회계 처리의 최종 판단은 회사와 감사인이 합니다.
핵심 포인트 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 · 미착 잔액과 수입 원가를 감사 전에 스스로 설명하려는 구매 · 원가 · 결산팀에 맞습니다.
사용 방법
- 회계연도를 넣습니다(필수). 계약월 · 회사 · 미착 기준월 · 현재 단계 · 공급처 · 인코텀즈 · 일자 · 점검 코드 · 점검 결과는 필요할 때만 고르며, 비워 두거나 "전체" 이면 그 조건은 걸리지 않습니다.
- 조회 버튼은 조회조건 영역 입력 칸의 맨 오른쪽에 있습니다. 입력 칸에서 Enter 키를 눌러도 조회되며, 처음 열면 한 번 자동으로 조회합니다.
- 요약에서 수입 건 · 진행 중 · 계약 완료 · 점검·확인 필요 건 · 미착 잔액 · 입고 원가 · 배분 부대비 · 미배분 부대비 · 수입부가세 · 정합성 대사 차이를 먼저 봅니다.
- 탭은 수입 건 현황 → 단계 이력 → 부대비 배분 → 수입 원가 → 미착 잔액 → 보세창고 → 수입부가세 → 대사 결과 순서로 넘깁니다.
- 어느 탭에서든 행을 누르면 그 수입 건의 상세 창이 열리고, 단계 타임라인에서 처리할 수 있는 단계만 "등록" · "처리" · "부대비" 버튼이 켜집니다.
- 버튼을 누르면 입력 대화상자가 열립니다. 필수값을 넣고 처리를 누르면 확인 대화상자가 뜨고, 결과는 성공이면 짧은 알림, 거부되면 사유가 담긴 메시지 상자로 보입니다. 상세 창 위쪽의 부대비 처리 · 부가세 당월/익월 처리 · 재마감 · 물품대 환율 정정 · 마지막 처리 취소(사유 필수)도 같은 방식입니다.
- 여러 건에 같은 처리를 하려면 수입 건 현황 표에서 건을 고르고 일괄 처리를 누릅니다. 결과는 건별 성공 · 실패와 사유로 보입니다. 처리할 때마다 점검 코드 · 대사식 · 요약이 다시 계산되고 처리 이력 탭에 남습니다.
- CSV 내려받기를 누르면 지금 보는 탭의 조회 결과가 UTF-8 CSV 로 내려옵니다.
숫자를 믿을 수 있는가 — 검증 결과
검증용 샘플 데이터(가상 회사 두 곳, 2026년 6~9월 계약 수입 건 36건, 기준일 2026-09-30)를 서비스 데이터만 읽는 독립 스크립트로 처음부터 다시 계산한 결과입니다.
| 대사식 · 재계산 | 검사 건수 | 차이 건수 | 최대 차이 |
|---|---|---|---|
| R01 B/L = I/V 수량 | 32 | 0 | 0.0 |
| R02 B/L = 입고 + 수량 차이 + 미입고 | 34 | 0 | 0.0 |
| R03 I/V×환율 + 환율 차이 = 물품대 | 24 | 0 | 0.0 |
| R04 배분 합계 + 미배분 = 전표 금액 | 54 | 0 | 0.0 |
| R05 입고 원가 = 물품대 + 부대비 | 24 | 0 | 0.0 |
| R06 미착 잔액 = I/V − 입고 − 조정 | 25 | 0 | 0.0 |
| R07 신고 부가세 = 당월 + 익월 + 미처리 | 23 | 0 | 0.0 |
| R08 신고 관세 = 관세 전표 | 23 | 0 | 0.0 |
| R09 반입 = 반출 + 잔량 | 27 | 0 | 0.0 |
| R10 건 요약 = 상세 합계 | 3 | 0 | 0.0 |
| R11 현재 단계 = 마지막 실적 | 36 | 0 | 0.0 |
| R12 계약 완료 건 미착 0 | 18 | 0 | 0.0 |
| X1 부대비 배분 재실행(비례·반올림 최대 라인) | 234 | 0 | 0.0 |
| X2 원가 부대비 = 부대비 배분 합계 | 24 | 0 | 0.0 |
| X3 미착 경과일 재계산 | 25 | 0 | 0.0 |
| X4 보세 체류일 재계산 | 27 | 0 | 0.0 |
| X5 입고 반영 = I/V × 입고/I/V 수량 | 25 | 0 | 0.0 |
| X6 계획 경과일 재계산(다음 단계) | 36 | 0 | 0.0 |
| J1 단계 판정 재실행 = 저장 판정 | 342 | 0 | 0.0 |
| J2 건 판정 재실행 = 저장 판정 | 36 | 0 | 0.0 |
| ReconSet 일치 | 12 | 0 | 0 |
검사 건수 합계 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_horizon | SAP 표준 Fiori 앱과 같은 색 · 글꼴 · 간격 |
| 항목 | 내용 |
|---|---|
| 업무 영역 | 구매(MM) — 수입 · 미착 · 수입 원가 |
| 관련 기준서 · 대상 영역 | - (대상 영역: 수입 진행 추적 · 단계 간 대사 — 입고 원가는 IAS 2 재고자산(K-IFRS 제1002호), 물품대 환율은 IAS 21 환율변동효과(K-IFRS 제1021호)를 점검 관점으로 참고) |
| SAP 표준 T-code | ME21N · ME23N · ME2M · MIGO · MIRO · MR11 · MB5S · MB51 · FBL1N |
| Namespace | zui5.impstage |
| 화면 성격 | 조회 · 점검 (결과 CSV 내려받기) |
| 데이터 연동 | OData V2 |
| 테마 | sap_horizon |
실행 화면
실제로 돌아가는 화면 13종을 사용 순서대로 싣습니다. 그림을 누르면 크게 볼 수 있습니다. 숫자는 모두 같은 검증용 샘플 데이터에서 나와 화면끼리 맞춰 보셔도 됩니다.
처음 열었을 때
회계연도 2026 이 기본값이라 열자마자 두 회사의 수입 건 36건과 요약이 보입니다.

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

IM26-0015 는 수입 통관 실적이 없는데 수입 입고가 9월 17일에 처리되어 입고 행이 P01(선행 단계 실적 없이 진행)로, 통관 행은 계획일 18일 경과(P08)로 보입니다. 아직 오지 않은 단계는 "예정" 으로 표시되고, 마감 3단계는 미착 조정 → 납품 완료 → 계약 완료 순서로 판정합니다.
부대비를 건마다 나누기
운송비 · 하역비 전표는 여러 수입 건에 걸칩니다. 배분 결과와 배분되지 않은 금액을 함께 봅니다.

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

입고 원가 합계는 1,842.4 백만원, 배분 부대비는 140.8 백만원입니다. 수입부가세는 매입세액이라 원가 제외 열에 따로 두었습니다. IM26-0003 은 물품대에 I/V 기준 환율보다 23원 높은 환율이 적용되어 환율 적용 차이 838,350원(A01)이 보이고, IM26-0033 은 미배분 부대비 1,244,175원이 원가에서 빠져 있습니다.
월말 미착 잔액
미착 잔액은 I/V 가 먼저 들어오고 입고가 아직 안 된 금액입니다. 기준월을 바꿔 가며 봅니다.

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)이 해소됩니다.

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종입니다.

의도적 예외는 대사식 안의 별도 항(수량 차이 · 환율 적용 차이 · 미배분 · 미처리)으로 들어가 있어, 예외가 있어도 대사 차이는 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)를 불러 서비스가 규칙 검증 → 반영 → 전체 재계산 → 처리 이력 기록을 한 번에 합니다.
- 단계 판정 — 단계마다 선행 단계 실적 유무와 일자를 견줘 P00 · P01 · P02 · P08 · P09 를 정합니다(마감 3단계는 미착 조정 → 납품 완료 → 계약 완료 순서).
- 수량 대사 — B/L 수량 = I/V 수량, B/L 수량 = 입고 수량 + 수량 차이 + 미입고 수량.
- 물품대 — 반올림(I/V 외화 금액 × I/V 기준 환율) + 환율 적용 차이 = 물품대(입고 반영 원화).
- 부대비 배분 — 운송비는 물품대 비율, 하역비는 수량 비율, 관세 · 적하보험료는 건별 전표. 배분액 = 전표 금액 × 기준값 ÷ 기준값 합계, 반올림 차이는 기준값이 가장 큰 건에 둡니다. Σ 배분액 + 미배분 = 전표 금액.
- 입고 원가 = 물품대 + 관세 + 운송비 + 하역비 + 적하보험료 (수입부가세는 매입세액으로 원가에서 제외).
- 미착 잔액(월말) = 입고 전 I/V 반영액 − 입고 반영액(I/V 금액 × 입고 수량 ÷ I/V 수량) − 미착 조정액.
- 수입부가세 = 당월 전표 + 익월 전표 + 미처리, 신고필증 관세 = 관세 부대비 전표.
- 건 판정 — 단계 · 수량 · 환율 · 부대비 · 부가세 · 보세 · 미착 점검 결과를 우선순위(S01 → S02 → Q01 → A01 → C01 → V01 → B01 → G01 → V02)로 정리해 대표 코드를 정합니다.
수입 건 판정 — 조건과 조치
| 코드 | 판정 조건 | 결과 상태 | 사용자 조치 |
|---|---|---|---|
| S00 | 단계 · 수량 · 금액이 서로 맞음 | 정상 | 조치 없음 |
| S01 | 앞 단계 실적 없이 뒤 단계 처리(예: 통관 없이 입고) | 점검 필요 | 신고필증 · 보세 반출 기록과 입고 문서 확인 |
| S02 | 뒤 단계가 앞 단계보다 이른 일자(예: 납품 완료가 미착 조정보다 먼저) | 점검 필요 | 미착 조정 → 납품 완료 → 계약 완료 순서로 재처리 |
| Q01 | B/L · I/V 수량과 입고 수량 차이 | 점검 필요 | 미착 조정(MR11) 또는 추가 입고 · 공급처 정산 |
| A01 | 물품대 적용 환율 ≠ I/V 기준 환율 | 점검 필요 | 환율 유형 · 일자 확인(IAS 21 거래일 환율) |
| C01 | 부대비 전표 중 이 건 몫 미배분 | 점검 필요 | 배분 재실행 후 마감(IAS 2 매입 부대비) |
| V01 | 수입부가세 익월 처리 후 수입 재마감 없음 | 점검 필요 | 재마감 수행 |
| V02 | 하순 신고분 수입부가세 미처리(익월 처리 대상) | 확인 필요 | 다음 달 전표 · 재마감 예정 확인 |
| G01 | B/L 후 45일 넘게 미입고 | 점검 필요 | 선적 · 도착 일정 확인 |
| B01 | 보세창고 반입 후 30일 넘게 미반출 | 점검 필요 | 통관 진행 확인 |
단계 판정과 단계 정의
| 코드 | 판정 조건 | 결과 상태 | 사용자 조치 |
|---|---|---|---|
| P00 | 실적 있음 · 선행 단계 이후 일자 | 정상 | 조치 없음 |
| P01 | 실적 있음 · 선행 단계 실적 없음 | 점검 필요 | 선행 단계 문서 확인 |
| P02 | 실적 있음 · 선행 단계보다 이른 일자 | 점검 필요 | 처리 순서 확인 |
| P08 | 실적 없음 · 계획일 경과 | 정보 | 진행 상황 확인 |
| P09 | 실적 없음 · 계획일 전 | 예정 | 조치 없음 |
| 순번 | 코드 | 단계 | 선행 단계 | 계획일(계약일 기준) | 문서 번호 |
|---|---|---|---|---|---|
| 01 | CT | 구매 계약 | - | 계약일(기준) | 구매 계약 번호 |
| 02 | LC | L/C 개설 | 구매 계약 | +5일 (신용장 결제 건만) | L/C 번호 |
| 03 | BL | 선적(B/L) | 구매 계약 | +20일 | B/L 번호 |
| 04 | IV | 송장(I/V) | 구매 계약 | +22일 | 송장 번호 |
| 05 | CC | 수입 통관 | 선적(B/L) | +36일 | 수입신고번호 |
| 06 | GR | 수입 입고 | 수입 통관 · 선적 | +39일 | 자재 문서 |
| 07 | CH | 부대비 전기 | 수입 입고 | +46일 | 부대비 전표 |
| 08 | C1 | 미착 조정 | 부대비 전기 · 수입 입고 | +54일 | 조정 전표 |
| 09 | C2 | 납품 완료 | 미착 조정 | +55일 | 구매오더 |
| 10 | C3 | 계약 완료 | 납품 완료 | +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 해소 전 마감 방지 |
| 부대비 미전기 | 배분 · 전기되지 않은 부대비가 있으면 미착 조정 거부 | 원가 누락 방지 |
| 미착 잔액 ≠ 0 | 9월 말 미착 잔액이 남아 있으면 계약 완료 거부 | 마감 건 미착 0(대사 ⑫) |
| 재마감 중복 · 미처리 없음 | 이미 재마감했거나 미처리 세액이 없으면 거부 | - |
| 취소 | 사유 없거나 더 나중 처리가 남아 있으면 거부, 이력 없는 앞 단계는 표준 화면에서 | 역순 취소만 |
조회조건
| 조회조건 | 필수 | 기본값 | $filter | 적용 탭 |
|---|---|---|---|---|
| 회계연도 | 필수 | 2026 | Gjahr eq '2026' | 전체 |
| 계약월 | 선택 | 전체 | Monat eq '08' | 대사 결과 외 전체 |
| 회사 | 선택 | 전체 | Bukrs eq '1000' | 대사 결과 외 전체 |
| 미착 기준월 | 선택 | 09 | Snap 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 · MR11 | GR/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 · MR11 | GR/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_CUSTOMS | B/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_IMPSTAGE | Service 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 단위 하위 행을 두거나 수입 건을 나눠야 하며, 회사 운영 방식에 맞춰 단계 실적 큐브의 집계 키를 정합니다(확인 필요).
화면의 숫자는 실제 회사 자료입니까?
아닙니다. 가상 회사 두 곳과 가상 공급처 · 품목으로 만든 검증용 샘플 데이터입니다.