솔루션 홈
세무 대응

SAP 부가세 신고 대사 점검 — 원장과 신고서, 차이 나는 세목부터 찾는다

세목·기간별로 원장 집계 금액과 부가세 신고 금액을 대사하고, 차이가 남는 건을 자동으로 가려냅니다

부가세 신고서를 제출한 뒤에야 원장 집계 금액과 신고 금액이 맞지 않는다는 걸 알게 되는 경우가 있습니다. 수정신고·공제세액 정정·환율차이 조정 같은 항목이 중간에 끼어들면, 세목별로 어디서 얼마나 차이가 났는지 한눈에 보기가 쉽지 않습니다.

세목·기간별로 원장 집계 금액과 조정 항목 합계, 부가세 신고 금액을 한 화면에서 대사하고, 차이가 남는 세목을 자동으로 가려내는 과정OpenUI5 화면으로 확장했습니다. 세목별 조정 항목 상세까지 클릭 한 번으로 확인할 수 있는 실제 구동 화면 3종을 함께 공개합니다.

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

  • 총계정원장 조회 — 총계정원장 라인아이템 조회의 표준 화면(FBL3N)이 만든 집계를 원장 집계 금액의 원천으로 그대로 이어받습니다
  • 부가세 신고 — 부가세 신고 준비의 표준 프로그램(RFUMSV00 계열)이 산출한 신고 확정치를 그대로 이어받아 대사 관점을 더합니다
항목내용
업무 영역재무회계(FI) · 세무 대응
대상 영역부가세 신고 대사 — 원장 집계 금액·조정 항목·신고 금액 대사, 세목별 차이 판정
Namespacezui5.vatrecon
셸 구조조회조건 영역(우측 조회) + 대사 요약 배너 + 명세 목록, 행 클릭 상세 Dialog
화면 수조회 화면 1개(탭 1개) + 상세 다이얼로그
SAP 표준 T-codeFBL3N · RFUMSV00
데이터 연동 방식OData V2 — 목록·상세 각각 엔티티셋에 직접 바인딩
성격조회·대사·점검형 — 신고서 확정과 최종 판단은 화면 밖에서 회사가 수행
UI 테마sap_horizon 단일 적용

실제 화면 3종 둘러보기

회계연도를 넣고 조회하면 대사 요약 배너와 세목별 명세가 한 화면에 뜹니다 → 점검결과를 확인 필요로 좁혀 차이 나는 건만 골라보고 → 행을 클릭해 조정 항목 상세를 확인합니다.

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

Main.view.xml
부가세 신고 대사 목록 — 조회조건과 대사 요약 배너
메인화면 — 2026년 전체 기간 조회 결과. 세목별 원장집계금액·조정금액·신고금액·차이금액·점검결과가 표시됩니다. 조회 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
점검결과 = 확인 필요
점검결과를 확인 필요로 좁힌 목록
확인 필요 필터 — 점검결과 조건을 확인 필요로 좁히면 차이가 남는 세목과 해당 기간 합계 행만 남습니다.
조정 내역 다이얼로그
세목별 조정 내역 상세 다이얼로그
조정 내역 상세 — 행을 클릭하면 해당 세목에 반영된 수정신고·정정·가감·환율차이 조정 항목이 다이얼로그로 펼쳐집니다.

사용 방법

  1. 회계연도(4자리, 필수)를 입력합니다. 기본값은 현재 연도입니다.
  2. 신고기간(선택)을 3자리로 입력합니다. 비워두면 전체 기간을 조회합니다.
  3. 세목코드·점검결과는 목록에서 선택합니다. 전체를 고르면 해당 조건은 조회에서 빠집니다.
  4. 조회 버튼은 조회조건 입력 필드 줄의 가장 오른쪽에 있습니다. 회계연도 입력 필드에서 Enter 키를 눌러도 같은 조회가 실행됩니다.
  5. 대사 요약 배너에서 원장 집계 금액·조정 금액 합계·신고 금액·차이 금액을 확인합니다. 차이 금액이 0이 아니면 빨간색으로 강조됩니다.
  6. 명세 목록에서 행을 클릭하면 해당 세목의 조정 항목 상세가 다이얼로그로 열립니다.
  7. 목록 우측 상단 CSV 내려받기(UTF-8 BOM)로 현재 조회조건 기준 결과를 저장할 수 있습니다.

대사 판정 로직

판정 조건결과 상태사용자 조치
신고금액 − (원장집계금액 + 조정금액) = 0정상추가 조치가 필요하지 않습니다.
신고금액 − (원장집계금액 + 조정금액) ≠ 0확인 필요조정 항목 상세를 열어 누락·중복 조정을 점검합니다.

이 화면이 대신 정하지 않는 것

확인 필요 표시는 대사 차이가 있다는 신호일 뿐입니다. 차이의 원인 확정과 수정신고 여부는 회사와 감사인이 판단합니다.

대사 처리 단계

단계내용
1단계세목코드별로 회계기간의 원장 집계 금액을 산출한다
2단계수정신고 반영·공제세액 정정·대손세액 가감·환율차이 조정 항목을 세목별로 합산한다
3단계원장 집계 금액 + 조정 금액 합계로 기대 신고 금액을 계산한다
4단계실제 신고 금액(신고서 확정치)과 비교해 차이 금액을 산출한다
5단계차이가 0이 아닌 건을 확인 필요로 표시하고, 기간 합계 행에도 동일하게 반영한다

조회조건

필드필수설명
회계연도필수4자리 연도
신고기간선택3자리 기간. 비우면 전체 기간
세목코드선택매출 3종(A1~A3)·매입 3종(B1~B3). 전체 선택 시 조건 제외
점검결과선택정상 / 확인 필요. 전체 선택 시 조건 제외

결과 컬럼

컬럼설명
회계연도 / 기간 / 세목코드 / 세목명대사 대상 식별 정보
원장집계금액총계정원장에서 집계한 세목별 금액
조정금액수정신고·정정·가감·환율차이 조정 합계
신고금액부가세 신고서 확정 금액
차이금액신고금액 − (원장집계금액 + 조정금액)
점검결과정상 / 확인 필요

SAP 표준 기능 매핑

표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 그 결과에 신고 전 대사·점검 관점을 더해 확장합니다.

표준 T-code표준 기능이 화면이 더한 것
FBL3N총계정원장 라인아이템 조회세목코드별 집계 구조를 참고해 원장 집계 금액을 산출합니다
RFUMSV00부가세 신고 준비(매출·매입세 신고)신고 확정치와 원장 집계 금액을 세목·기간별로 대사하고 조정 항목을 함께 보여줍니다

참고 CDS 뷰

원천 테이블주요 필드쓰임
ACDOCARBUKRS · GJAHR · POPER · MWSKZ · HSL세목별 원장 집계 금액의 원천(유니버설 저널)
BSEGBELNR · BUZEI조정 항목의 관련 전표 참조
define view entity ZI_VatReconAnalysis
  as select from acdoca
{
  key acdoca.rbukrs,
  key acdoca.gjahr    as FiscalYear,
  key acdoca.poper    as Period,
  key acdoca.mwskz    as VatCode,
      sum(acdoca.hsl) as LedgerAmount
      // 조정 항목 합산·신고금액 대사 로직은 신고 프로세스 설정에 따라 확인이 필요합니다
}
group by acdoca.rbukrs, acdoca.gjahr, acdoca.poper, acdoca.mwskz

표준 CDS 뷰 이름과 필드는 시스템 릴리스에 따라 다를 수 있으므로, 도입 시 실제 시스템에서 확인해 확정합니다.

OpenUI5 구성

기능사용 컨트롤 · 구성
화면 골격sap.m.Page + 조회조건 패널 · 대사 요약 배너 · IconTabBar(명세)
데이터 연동manifest.json dataSources.mainService(OData V2, 상대 경로) — 목록은 엔티티셋에 직접 바인딩합니다
조회조건sap.m.Select · sap.m.Input — 우측 끝에 조회·초기화 버튼, Enter 키로 즉시 재조회, sap/ui/model/Filter로 조회조건을 조립합니다. 전체를 고른 조건은 필터를 만들지 않습니다
명세 목록sap.ui.table.Table 사용 — cellClick에서 행 컨텍스트로 조정 항목 상세를 별도 조회
점검결과 표시sap.m.ObjectStatus로 판정 상태를 표준 ValueState 로만 표시
공통 처리CSV 다운로드 공통 컨트롤러(UTF-8 BOM), 전역 오류 처리기 — 메타데이터 로드 실패·요청 실패를 구분해 안내

파일 구성

경로역할
index.htmlOpenUI5 부트스트랩 — sap_horizon, OData 서비스에 연결
Component.js화면 상태 모델 초기화, 전역 오류 처리기 연결
manifest.json앱 디스크립터 — zui5.vatrecon · ko 로케일, OData 서비스와 모델 선언
view/Main.view.xml조회조건 · 대사 요약 배너 · 명세 목록
view/DetailDialog.fragment.xml조정 항목 상세 다이얼로그
controller/Main.controller.js조회조건 조립 · 바인딩 · 다이얼로그 · CSV 다운로드
controller/BaseController.jsCSV 다운로드 공통 처리
model/ErrorHandler.js전역 오류 처리
model/formatter.js금액·상태 표시 서식
i18n/i18n_ko.propertiesko 로케일 리소스

운영 데이터는 OData 서비스가 제공하며, 검증용 샘플 데이터는 화면과 완전히 분리해 별도로 둡니다. 화면과 판정 로직은 그대로 씁니다.

검증 결과

화면 구성에 쓴 검증용 샘플 데이터는 세목 6종 × 11개 기간, 77건(기간 합계 행 포함)을 기준으로 대사식을 전수 검증했습니다.

검증 항목결과
신고금액 − (원장집계금액 + 조정금액) = 차이금액(77건 전수)통과(불일치 0건)
조정 항목 합계 = 대사 명세의 조정금액(세목별 58건)통과(차이 0)
확인 필요 판정 분포(의도적으로 심어둔 예외 5건 포함)정상 68건 · 확인 필요 9건, 최대 차이 128,000원
조회 조건 전달 — 점검결과=확인 필요로 좁히면 해당 건만 남는지 확인확인
표시 금지 검사 — 커스텀 프로그램ID·앱 식별자·출처 표현 검출0건
화면 렌더링 — 실브라우저에서 조회 → 필터 → 행 클릭 상세까지 실동작 후 캡처3/3
조회 버튼 위치 · sap_horizon 테마 · Enter 키 조회 · 서비스 미연결 시 오류 안내확인

모든 데이터는 검증용으로 구성한 가상 데이터입니다.

자주 묻는 질문

이 화면의 적용 시기·범위는 어떻게 되나요

이 화면은 특정 회계기준의 시행일과 무관한 세무 신고 대사 점검 도구로, 매 신고기간마다 상시 사용할 수 있습니다. 별도의 조기적용·경과규정은 없습니다.

확인 필요로 표시되면 신고에 오류가 있다는 뜻인가요

아닙니다. 원장 집계 금액과 신고 금액 사이에 설명되지 않는 차이가 있다는 뜻이며, 정당한 사유일 수 있습니다. 이 화면은 조회·점검 도구이고 최종 판단은 회사와 감사인이 수행합니다.

세목코드는 어떻게 구성되나요

검증용 샘플 데이터 기준으로 매출 3종·매입 3종을 사용합니다. 실제 적용 시 회사의 세목 코드 체계에 맞게 조정합니다.

조회 결과를 신고서 작성에 바로 쓸 수 있나요

아닙니다. 이 화면은 신고 전 대사·점검을 위한 참고 자료를 제공하며, 공식 신고서 작성은 SAP 표준 신고 프로그램에서 수행합니다.

신고서 제출 전에 원장과의 차이부터 먼저 맞춰보세요

신고 이후에 차이를 발견하면 수정 절차가 번거로워집니다. 화면에서 세목별로 원장과 신고 금액을 미리 대사해 두면 확인이 필요한 건을 신고 전에 먼저 가려낼 수 있습니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

세무 대응부가세 신고신고 대사원장 대사조정 항목OpenUI5
관련 글차이점
SAP 부가세 신고자료 조회·수정집계된 신고자료를 조회·수정하는 화면 — 이 화면은 원장 집계 금액과 신고 금액을 세목별로 대사해 차이를 찾아냅니다