솔루션 홈
세무 대응

SAP 원천징수이행상황신고서 대사 점검 — 원장과 신고서, 소득종류별로 맞춰본다

귀속연월·소득종류·지급대상별로 원천세 원장 집계 금액과 이행상황신고서 금액을 조정 항목 단위로 대사하고, 지급명세서 제출 여부까지 한 화면에서 확인합니다

원천징수 원장은 전표 단위로는 잘 정리되어 있어도, 실제로 제출한 원천징수이행상황신고서 금액과 나란히 놓고 "정말 같은가"를 확인하는 화면은 따로 없는 경우가 많습니다. 비과세소득 제외, 과세이연, 전월 경정분, 환급 조정 같은 조정 항목이 중간에 끼어들면 두 금액이 얼마나, 왜 달라졌는지 한눈에 보기 어렵습니다. 그래서 귀속연월·신고구분·소득종류·지급대상 단위로 원천세 원장 집계 금액에 조정 항목을 반영해 신고 기준 금액을 산출하고, 실제 신고서 금액과 대사하는 화면을 OpenUI5로 구현했습니다.

원장집계금액과 조정항목합계를 더한 값이 신고서금액과 다르면 "확인 필요"로 자동 판정합니다. 지급명세서 제출 여부도 라인별로 함께 표시해, 신고 금액 대사와 제출 점검을 한 화면에서 처리할 수 있게 했습니다. 표준 전표 조회·원장 조회 기능은 그대로 두고, 이 화면은 그 위에 소득종류·지급대상 단위 대사와 자동 판정을 더한 층입니다. 실제 구동 화면 3종을 함께 공개합니다.

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

  • 전표 조회 — 원천세 계정 전표를 개별 확인하는 표준 조회 관점을 원장집계금액 산출의 원천으로 그대로 이어받습니다
  • 총계정원장 항목 조회 — 원천세 예수금 계정의 기간별 잔액 조회 방식을 원장 집계 로직에 그대로 씁니다
항목내용
업무 영역재무회계(FI) · 세무 대응
Namespacezui5.whtfiling
셸 구조조회조건 영역(우측 조회) + 조회 결과 요약 메시지 + 탭 3종(신고서 대사 요약 / 소득종류별 라인 상세 / 조정 항목 내역), 행 클릭 상세 Dialog
화면 수조회 화면 1개(탭 3종) + 상세 다이얼로그
SAP 표준 T-codeFB03, FBL3N
데이터 연동 방식OData V2 — 화면 블록마다 엔티티셋에 직접 바인딩
성격조회·점검형 — 최종 신고·정정 판단은 회사와 세무 담당자가 수행
UI 테마sap_horizon 단일 적용

실제 화면 3종 둘러보기

기본 조건으로 조회하면 귀속연월별 대사 요약이 뜹니다 → 소득종류별 라인 상세 탭에서 지급대상별 금액을 확인하고 → 행을 클릭해 대사 상세를 봅니다.

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

신고서 대사 요약
원천징수이행상황신고서 대사 메인 화면 — 조회조건과 귀속연월별 대사 요약
신고서 대사 요약 — 조회조건과 귀속연월·신고구분별 총지급금액 · 원장집계금액 · 신고서금액 · 차이 · 점검결과가 한 화면에 뜹니다. 조회 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
소득종류별 라인 상세
소득종류·지급대상별 라인 상세와 조회 결과 요약 메시지 화면
소득종류별 라인 상세 — 조회 결과 건수 · 차이 합계 · 지급명세서 미제출 건수를 알려주는 요약 메시지와, 소득종류·지급대상별 지급건수·지급금액·원천세액·조정합계·신고서금액·차이·지급명세서 상태를 확인합니다.
대사 상세
행 클릭 시 열리는 원장·조정·신고서 금액 대사 상세 다이얼로그
대사 상세 — 라인을 클릭하면 원장 집계 금액과 조정 항목 합계가 신고 기준 금액으로 이어지는 산식과, 해당 라인의 조정 항목 내역이 다이얼로그로 펼쳐집니다.

사용 방법

  1. 화면에 들어오면 기본 귀속연월(최신월) 기준으로 자동 조회가 1회 실행되어 신고서 대사 요약이 채워집니다.
  2. 조회조건 영역에서 귀속연월(필수)과 신고구분·소득종류·지급명세서 제출 여부(선택, 기본값 전체)를 입력합니다.
  3. 조회 버튼은 조회조건 입력 필드 줄의 가장 오른쪽에 있습니다. 조회조건 영역 어디서든 Enter 키를 눌러도 같은 조회가 실행됩니다. 초기화 버튼은 조회 버튼 바로 왼쪽에 있습니다.
  4. 조회 직후 뜨는 요약 메시지에서 결과 건수 · 차이 합계 · 지급명세서 미제출 건수를 먼저 확인합니다.
  5. "신고서 대사 요약" → "소득종류별 라인 상세" → "조정 항목 내역" 순서로 탭을 이동하며 귀속연월 단위 요약에서 라인 단위, 조정 항목 단위까지 단계적으로 확인합니다.
  6. "소득종류별 라인 상세" 탭에서 행을 클릭하면 원장·조정·신고서 금액 대사 상세가 다이얼로그로 열립니다.
  7. 목록 위 CSV 내려받기(UTF-8 BOM)로 현재 조회된 라인 결과를 저장합니다.

원장·신고서 대사 판정 기준

판정 조건결과 상태사용자 조치
신고서금액 = 원장집계금액 + 조정항목합계 (차이 0)정상조치 불필요
신고서금액 ≠ 원장집계금액 + 조정항목합계 (차이 존재)확인 필요조정 항목 내역을 열어 누락·오류 여부를 확인하고, 필요 시 신고서 또는 조정분개를 재검토
지급명세서 제출여부 = 미제출라인별 "미제출" 표기제출 기한 내 지급명세서 제출 여부 확인

위 기준은 조회·점검을 돕기 위한 것이며, 실제 신고 정정과 대응은 화면이 단정하지 않고 회사와 세무 담당자가 확인합니다.

대사 처리 단계

단계내용
1단계원천징수 원장(전표 기준)에서 귀속연월·소득종류·지급대상별 원천세액(소득세+지방소득세)을 집계해 원장집계금액을 산출
2단계비과세소득 제외·과세이연·전월 경정분·환급 조정 등 조정 항목을 라인별로 합산해 조정항목합계를 산출
3단계원장집계금액과 조정항목합계를 더해 신고 기준 금액을 계산
4단계신고 기준 금액을 실제 신고서금액과 대조해 차이를 산출
5단계차이가 0이 아니면 "확인 필요", 0이면 "정상"으로 판정하고 귀속연월·신고구분 단위로 집계

조회조건

필드필수설명
귀속연월필수신고 대상 귀속연월
신고구분선택정기신고 / 수정신고, 전체면 조건 제외
소득종류선택근로·퇴직·사업·이자·배당·기타소득, 전체면 조건 제외
지급명세서선택제출완료 / 미제출, 전체면 조건 제외

결과 컬럼

컬럼설명
귀속연월 · 신고구분 · 소득종류 · 지급대상라인 식별 정보
지급건수 · 지급금액해당 라인의 지급 건수와 합계 금액
원천세액계소득세+지방소득세 합계(원장 기준)
원장집계금액 · 조정합계 · 신고서금액 · 차이대사 4대 금액
지급명세서 · 점검결과제출완료/미제출, 정상/확인 필요

SAP 표준 기능 매핑

표준 실행은 SAP 표준 기능이 담당하고, 이 화면은 그 데이터에 소득종류·지급대상 단위 대사와 자동 판정 관점을 더해 확장합니다.

표준 기능표준 기능 설명이 화면이 더한 것
전표 조회원천세 관련 전표를 개별 확인하는 표준 조회전표를 귀속연월·소득종류·지급대상 단위로 모아 원장집계금액을 산출합니다
총계정원장 항목 조회계정별 기간 잔액을 조회하는 표준 기능집계된 금액을 조정 항목과 함께 신고서금액과 대사해 차이를 판정합니다

분석 지표 정의표

대상 영역지표정의원천 데이터
세무 대응신고 기준 금액(FormAmt)원장집계금액(LedgerAmt) + 조정항목합계(AdjAmt)원천세 전표, 조정 항목 내역
세무 대응차이(DiffAmt)신고서금액 − 신고 기준 금액신고서 제출 금액, 위 지표

참고 CDS 뷰

원천 테이블주요 필드쓰임
BKPFBUKRS · GJAHR · BELNR · BUDAT전표 헤더(전기일 등 귀속연월 판단 기준)
BSEGBUKRS · GJAHR · HKONT · DMBTR원천세 계정 전표 명세(원장집계금액 원천)
define view entity I_WhtFilingLineSketch
  as select from bseg as Line
  association [1..1] to bkpf as _Header on _Header.belnr = Line.belnr
                                        and _Header.gjahr = Line.gjahr
                                        and _Header.bukrs = Line.bukrs
{
  key _Header.gjahr    as Yearmonth,
  key Line.hkont       as GLAccount,
      sum(Line.dmbtr)  as LedgerAmt   // 원천세 계정 한정 집계
}
group by _Header.gjahr, Line.hkont

필드 매핑은 가상 데이터 기준 스케치이며, 조정 항목은 별도 내역에서 라인 단위로 합산합니다.

OpenUI5 구성

기능사용 컨트롤 · 구성
화면 골격sap.m.Page + 조회조건 패널 · 요약 메시지 · 탭 3종(sap.m.IconTabBar)
데이터 연동manifest.json dataSources.mainService(OData V2, 상대 경로)로 기본 모델을 만들고 defaultCountMode:"Inline" · useBatch:false 로 구성합니다. 탭(블록)마다 해당 엔티티셋에 직접 바인딩합니다
라인 상세sap.m.Table — 행 클릭(itemPress)으로 대사 상세 다이얼로그를 엽니다
대사 상세sap.m.Dialog 1개 — 원장·조정·신고서 금액 산식과 조정 항목 목록을 함께 표시
조회조건sap.ui.model.Filter 로 조립해 각 탭 바인딩에 적용합니다. 선택 조건을 "전체"로 두면 해당 Filter 를 만들지 않습니다
예외 메시지메타데이터 실패·요청 실패를 구분해 안내하는 전용 처리기

파일 구성

경로역할
index.htmlOpenUI5 부트스트랩 — sap_horizon, OData 서비스에 연결
Component.js모델 초기화, 예외 메시지 처리기 연결
manifest.json앱 디스크립터 — zui5.whtfiling · ko 로케일, OData 서비스와 모델 선언
view/Main.view.xml조회조건 · 요약 메시지 · 탭 3종
view/DetailDialog.fragment.xml대사 상세 다이얼로그
controller/Main.controller.js조회조건 조립 · 바인딩 · 다이얼로그 · CSV
controller/BaseController.jsCSV 다운로드 공통 처리
model/formatter.js · model/ErrorHandler.js표시 서식 · 예외 메시지 처리
i18n/i18n_ko.properties화면 문구

검증 결과

검증용 샘플 데이터(귀속연월·신고구분 8건, 라인 72건, 조정 항목 74건)를 기준으로 대사식을 전수 검증했습니다. 판정 로직 시연을 위해 신고서금액이 대사식과 어긋나도록 의도적으로 편성한 예외 3건을 포함했습니다.

검증 항목결과
라인별 신고서금액 = 원장집계금액 + 조정항목합계(72건 전수)통과(비의도 불일치 0건, 의도적 예외 3건 분리 확인)
귀속연월·신고구분 합계 = 라인 합계(8건 전수)통과(불일치 0건)
조회 조건 전달 — 귀속연월·신고구분·소득종류·지급명세서 필터 · 정렬 · 총건수 표시확인
표시 금지 검사 — 커스텀 프로그램ID·앱 식별자·출처 표현0건
화면 렌더링 — 조회 버튼 위치 · sap_horizon 테마 · Enter 키 조회 · 서비스 미연결 시 안내 메시지확인

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

자주 묻는 질문

원천징수이행상황신고서는 언제, 어떤 주기로 제출하나요?

원천징수이행상황신고서는 원천징수의무자가 정기적으로 제출하는 신고서입니다. 신고 주기와 제출 기한은 회사의 신고 형태(매월/반기)에 따라 다르므로, 정확한 일정은 관련 법령과 회사 신고 이력을 확인해야 합니다.

"확인 필요"로 표시된 건은 신고 오류가 확정된 건가요?

아닙니다. 이 화면은 원장 집계 금액과 신고서 금액의 차이가 있는 건을 가려내는 조회·점검 도구입니다. 차이의 원인(조정 항목 누락, 신고서 재작성 오류 등)에 대한 최종 판단과 정정 여부는 회사와 세무 담당자가 확인해 결정합니다.

조정 항목은 화면에서 직접 입력할 수 있나요?

이 화면은 조회·점검 화면으로, 조정 항목을 새로 입력하거나 수정하는 기능은 제공하지 않습니다. 이미 반영된 조정 항목 내역을 라인별로 확인하고, 원장 금액과 신고서 금액이 어떻게 연결되는지 대사하는 데 초점을 둡니다.

지급명세서 미제출 건은 어떻게 확인하나요?

조회조건의 지급명세서 항목을 "미제출"로 선택하면 해당 라인만 걸러 볼 수 있고, 신고서 대사 요약 탭의 미제출건수 컬럼과 조회 결과 요약 메시지에서도 건수를 바로 확인할 수 있습니다.

원천세 신고 금액 대사, 소득종류 단위로 한 번 더 맞춰보세요

원장 금액만으로는 놓치기 쉬운 조정 항목·신고서금액 차이를 소득종류·지급대상 단위로 미리 걸러 두면, 신고 전 점검을 더 꼼꼼히 할 수 있습니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

원천징수이행상황신고서세무 대응원천세 대사지급명세서OpenUI5