SAP 법인세 중간예납세액 대사 점검 — 신고기준 산출액과 원장 계상액, 회사별로 맞춰본다
세액공제조정까지 반영한 신고기준 중간예납세액을, 미지급법인세 원장 계상액과 회사별로 미리 맞춰봤습니다
법인세 중간예납세액은 직전 사업연도 산출세액 또는 가결산 세액을 기준으로 회사가 스스로 계산해 자진납부합니다. 세액공제·감면 조정까지 반영한 신고기준 금액과, 실제로 미지급법인세(중간예납) 계정에 계상한 원장 금액이 결산 전에 서로 맞는지 확인하는 작업은 의외로 각 회사·기준연도별로 흩어진 자료를 일일이 대조해야 해서 손이 많이 갑니다. 이 과정을 결산 전에 화면에서 바로 확인할 수 있도록 OpenUI5 화면으로 구현했습니다.
회사코드별로 적용기준액의 1/2을 산출세액으로 계산하고, 원천납부세액공제·외국납부세액공제·통합투자세액공제 등 세액공제조정 항목 합계를 차감해 신고기준 중간예납세액을 구합니다. 이 금액을 미지급법인세(중간예납) 계정의 원장 전표 합계와 대사해, 차이가 없으면 일치, 소액 차이는 확인 필요, 큰 차이는 점검 필요로 표시합니다. 회사별 대사 결과뿐 아니라 세액공제조정 내역과 원장 전표 내역을 같은 화면에서 바로 열어 볼 수 있고, 연도별 추이 탭으로 신고기준 금액이 이후 확정신고 세액과 어떤 비율을 보였는지도 함께 확인합니다. 실제 구동 화면 5종을 함께 공개합니다.
SAP 표준 기능을 그대로 이어받은 부분
- 전표 계상 — 일반전표 입력(
FB50/F-02)으로 계상한 미지급법인세(중간예납) 전표를 그대로 원천 데이터로 씁니다 - 원장 조회 — 계정별 원장·라인아이템 조회(
FBL3N/FAGLL03)의 라인아이템 구조를 원장 전표 내역 탭으로 이어받습니다 - 잔액 대조 — 재무제표(
F.01)의 미지급법인세 표시금액과 회사별 합계를 맞춰볼 수 있습니다
| 항목 | 내용 |
|---|---|
| 업무 영역 | 재무회계(FI) · 법인세 결산 |
| 관련 기준서 / 대상 영역 | - · 세무 대응 |
| Namespace | zui5.taxprepay |
| 셸 구조 | 조회조건 영역(우측 조회) + KPI 5종 + 탭 4개, 행 클릭 상세 Dialog |
| 화면 수 | 조회 화면 1개(탭 4개) + 상세 다이얼로그 |
| SAP 표준 T-code | FB50/F-02 · FBL3N/FAGLL03 · F.01 |
| 데이터 연동 방식 | OData V2 — 화면 블록마다 엔티티셋에 직접 바인딩 |
| 성격 | 조회·점검형 — 최종 판단은 회사와 세무대리인·감사인이 수행 |
| UI 테마 | sap_horizon 단일 적용 |
| 요약 | 내용 |
|---|---|
| 무엇을 보나 | 회사·기준연도별 신고기준 중간예납세액 · 원장 계상액 · 차이 |
| 어떤 기준으로 | 산출세액(적용기준액×1/2) − 세액공제조정합계 = 신고기준, 원장 전표 합계 = 원장계상액 |
| 무엇을 가려내나 | 대사 차이 발생(점검 필요), 소액 차이(확인 필요) |
| 연동 데이터 | 세액공제조정 내역, 미지급법인세 원장 전표 내역, 연도별 신고기준 vs 확정세액 추이 |
실제 화면 5종 둘러보기
기본 조건으로 조회하면 회사별 대사 결과가 뜹니다 → 세액공제조정 내역 탭에서 조정 근거를 보고 → 원장 전표 내역에서 계상 전표를 확인하고 → 연도별 추이로 흐름을 보고 → 행을 클릭해 대사 상세를 봅니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
사용 방법
- 화면에 들어오면 서비스 정의가 로드되는 즉시 기본 조건(기준연도 2026, 전체 회사)으로 자동 조회가 1회 실행됩니다.
- 조회조건 영역에서 기준연도(필수)를 고릅니다.
- 회사코드 · 산정방식 · 판정(선택)으로 범위를 좁힙니다. “전체”로 둔 조건은 조회 요청에서 빠집니다.
- 조회 버튼은 조회조건 입력 필드 줄의 가장 오른쪽에 있습니다. 입력 필드에서 Enter 키를 눌러도 같은 조회가 실행됩니다. 초기화 버튼은 같은 줄 왼쪽에 있으며 기본 조건으로 되돌리고 다시 조회합니다.
- KPI 5종(신고기준 합계 · 원장계상 합계 · 차이 합계 · 점검 필요 · 확인 필요 회사 수)으로 전체 상태를 먼저 봅니다.
- 탭을 옮겨 ① 회사별 대사 → ② 세액공제조정 내역 → ③ 원장 전표 내역 → ④ 연도별 추이 순으로 확인합니다. 연도별 추이는 여러 연도를 함께 보여주므로 기준연도 조건과 무관하게 회사코드 조건만 적용됩니다.
- ① 탭에서 회사명 링크나 행을 클릭하면 세액공제조정·원장 전표·대사식을 담은 상세 다이얼로그가 열립니다.
- 각 탭 오른쪽 위 CSV 내려받기(UTF-8 BOM)로 현재 탭의 결과를 저장합니다.
신고기준 산출과 대사 판정 규칙
| 판정 조건 | 결과 상태 | 사용자 조치 |
|---|---|---|
| 신고기준 중간예납세액 − 원장 계상액 = 0 | 일치 | 추가 조치 불필요 |
| 0 < │차이│ ≤ 2,000,000원 | 확인 필요 | 단수차이·미기표 등 소액 사유를 확인하고 필요 시 다음 회차에 정정 |
| │차이│ > 2,000,000원 | 점검 필요 | 원장 전표 내역 탭에서 누락·중복 전표를 점검하고 재계산 여부를 확인 |
적용기준액(전기 산출세액 또는 가결산 세액)과 산정방식은 회사가 매 기준연도 초에 정한 값을 그대로 표시하며, 이 화면이 방식을 임의로 바꾸지 않습니다.
신고기준 중간예납세액 산출·대사 5단계
| 단계 | 내용 |
|---|---|
| 1단계 | 적용기준액(전기 산출세액 또는 가결산 세액)의 1/2을 산출세액으로 계산 |
| 2단계 | 원천납부세액공제·외국납부세액공제·통합투자세액공제 등 세액공제조정 항목을 유형별로 합산 |
| 3단계 | 산출세액(1/2) − 세액공제조정 합계 = 신고기준 중간예납세액 |
| 4단계 | 미지급법인세(중간예납) 계정의 원장 전표 라인을 회사·기준연도로 집계 = 원장 계상액 |
| 5단계 | 신고기준 − 원장계상 = 차이 — 위 판정 기준으로 일치·확인 필요·점검 필요를 가른다 |
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
| 기준연도 | 필수 | 중간예납세액을 산출·대사할 사업연도(2026/2025) |
| 회사코드 | 선택(기본 전체) | 가상 회사코드 4개 중 1개 또는 전체 |
| 산정방식 | 선택(기본 전체) | 전기실적기준 · 가결산기준 — 회사별 대사 탭에 적용 |
| 판정 | 선택(기본 전체) | 일치 · 확인 필요 · 점검 필요 — 회사별 대사 탭에 적용 |
결과 컬럼
| 컬럼 | 설명 |
|---|---|
| 회사 · 산정방식 · 적용기준액 | 회사코드·회사명, 산정방식, 기준금액 |
| 산출세액(1/2) · 세액공제조정합계 · 신고기준 중간예납세액 | 신고기준 산출 결과 |
| 원장계상액 · 차이 · 판정 | 원장 대사 결과 |
| 조정유형 · 내용 · 금액 | ② 세액공제조정 내역 탭 |
| 전표번호 · 전기일 · 계정 · 적요 · 금액 | ③ 원장 전표 내역 탭 |
| 연도 · 신고기준 중간예납세액 · 확정신고 산출세액 · 비율 | ④ 연도별 추이 탭 |
SAP 표준 기능 매핑
표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 그 데이터에 신고기준 산출과 대사 관점을 더해 확장합니다.
| 표준 T-code | 표준 기능 | 이 화면이 더한 것 |
|---|---|---|
FB50 / F-02 | 일반전표 입력 | 미지급법인세(중간예납) 계상 전표가 이 화면이 대사하는 원천 전표입니다 |
FBL3N / FAGLL03 | 계정별 원장(라인아이템) 조회 | 원장 전표 내역 탭이 같은 라인아이템 조회를 대사 관점으로 재구성했습니다 |
F.01 | 재무제표 조회 | 미지급법인세 잔액을 재무상태표 관점에서 함께 확인할 때 참고합니다 |
분석 지표 정의표
| 지표 | 정의 | 대응 기능 | 원천 데이터 | 비고 |
|---|---|---|---|---|
| 신고기준 중간예납세액 | 적용기준액 × 1/2 − 세액공제조정 합계 | 회사별 대사 탭 · 상세 대사식 | 미지급법인세 대응 세무 산정값 | 산정방식은 회사가 정한 값을 표시 |
| 원장 계상액 | 미지급법인세(중간예납) 계정 원장 전표 금액의 합 | 원장 전표 내역 탭 | 원장 라인 | 회사·기준연도로 집계 |
| 대사 차이 | 신고기준 중간예납세액 − 원장 계상액 | 회사별 대사 탭 판정 컬럼 | 위 두 지표의 차이 | 0이 아니면 확인·점검 필요 |
참고 CDS 뷰
| 원천 테이블 | 주요 필드 | 쓰임 |
|---|---|---|
BKPF | BUKRS · BELNR · GJAHR · BUDAT | 전표 헤더 — 전표번호·전기일 |
BSEG / ACDOCA | HKONT · DMBTR | 전표 라인 — 미지급법인세(중간예납) 계정 금액(원장 계상액의 원천) |
SKAT | SAKNR · TXT20 | 계정 마스터 텍스트 — 계정명 표시 |
define view entity Z_I_MidyearPrepayLedger
as select from bseg as line
association [0..1] to bkpf as _header on _header.belnr = line.belnr
and _header.bukrs = line.bukrs
and _header.gjahr = line.gjahr
{
key line.bukrs as CompanyCode,
key line.gjahr as FiscalYear,
key line.belnr as DocumentNo,
key line.buzei as DocumentItem,
line.hkont as GLAccount,
line.dmbtr as Amount,
_header.budat as PostingDate
}
where line.hkont = '22800100' -- 미지급법인세(중간예납), 가상 계정체계
세액공제조정 명세는 표준 테이블이 없어 세무조정 결과를 별도로 관리하는 구조를 가정했습니다. 계정 범위는 가상 데이터 기준 스케치입니다.
OpenUI5 구성
| 기능 | 사용 컨트롤 · 구성 |
|---|---|
| 화면 골격 | sap.m.Page + 조회조건 패널 · KPI 5종 · IconTabBar 4개 탭 |
| 데이터 연동 | manifest.json dataSources.mainService(OData V2, 상대 경로)로 기본 모델을 만들고 defaultCountMode:"Inline" · useBatch:false 로 구성합니다. 화면 블록마다 해당 엔티티셋에 직접 바인딩하고, 최초 바인딩은 보류했다가 조회 시 필터를 건 뒤 재개합니다 |
| 조회조건 | sap.ui.model.Filter 로 조립해 바인딩에 적용합니다. 전체를 고른 조건은 필터를 만들지 않습니다. 정렬은 Sorter로 고정 지정합니다 |
| 회사별 대사 | sap.ui.table.Table — 판정 상태에 따라 행을 표준 강조색으로 구분하고 cellClick 으로 상세를 엽니다 |
| 세액공제조정 · 원장 전표 · 연도별 추이 | sap.m.Table |
| KPI | 조회조건이 걸린 회사별 대사 엔티티셋을 다시 읽어 컨트롤러 한 곳에서 합산합니다. 금액은 문자열로 오는 Decimal 을 숫자로 바꿔 계산합니다 |
| 예외 메시지 | 메타데이터 실패·요청 실패·빈 결과를 구분해 안내하는 전용 처리기 |
파일 구성
| 경로 | 역할 |
|---|---|
index.html | OpenUI5 부트스트랩 — sap_horizon, OData 서비스에 연결 |
Component.js | 모델 초기화, 예외 메시지 처리기 연결 |
manifest.json | 앱 디스크립터 — zui5.taxprepay · ko 로케일, OData 서비스와 모델 선언 |
view/Main.view.xml | 조회조건 · KPI · 4개 탭 |
view/DetailDialog.fragment.xml | 회사별 대사 상세(세액공제조정·원장 전표) 다이얼로그 |
controller/Main.controller.js | 조회조건 조립 · 바인딩 · KPI · 다이얼로그 · CSV |
controller/BaseController.js | CSV 다운로드 공통 처리 |
model/formatter.js · model/ErrorHandler.js | 표시 서식·판정 상태 · 예외 메시지 처리 |
i18n/i18n_ko.properties | 화면 문구 |
검증 결과
검증용 샘플 데이터(가상 4개 회사 · 2개 기준연도, 회사·기준연도 조합 8건)를 기준으로 대사식을 전수 검증했습니다.
| 검증 항목 | 결과 |
|---|---|
| 산출세액(1/2) − 세액공제조정합계 = 신고기준 중간예납세액 (8건) | 통과(차이 0) |
| 원장 전표 라인 합계 = 원장 계상액 (8건) | 통과(차이 0) |
| 신고기준 − 원장계상 = 판정에 표시된 차이 (8건) | 통과(차이 0) |
| 점검 기능 확인용 의도적 예외(원장 전표를 신고기준과 다르게 계상) | 2건 — 확인 필요 1건 · 점검 필요 1건, 예외 외 차이 0건(일치 6건) |
| 화면 KPI 합계 = 검증 스크립트 결과 | 일치 |
| 조회 조건 전달 — 기준연도·회사·산정방식·판정 필터 · 정렬 | 확인 |
| 표시 금지 검사 — 커스텀 프로그램ID·앱 식별자·출처 표현 | 0건 |
화면 렌더링 — 조회 버튼 위치 · sap_horizon 테마 · Enter 키 조회 · 서비스 미연결 시 안내 메시지 | 확인 |
모든 데이터는 검증용으로 구성한 가상 데이터입니다. 중간예납세액에 대한 최종 회계·세무 판단은 회사와 세무대리인·감사인이 수행합니다.
자주 묻는 질문
이 화면이 다루는 기준연도와 회사 범위는 어디까지인가요?
검증용 샘플 데이터 기준으로 2025~2026 두 개 기준연도와 가상 회사코드 4개를 조회조건으로 제공합니다. 실제 적용 시에는 연동하는 원장 데이터 범위에 맞춰 기준연도와 회사코드를 넓힐 수 있으며, 중간예납 신고·납부기한 등 세부 일정은 관련 법령을 확인해야 합니다.
"점검 필요"로 표시되면 세무조정이 잘못됐다는 뜻인가요?
아닙니다. 신고기준으로 산출한 중간예납세액과 미지급법인세 원장 계상액 사이에 차이가 발생했다는 뜻입니다. 이 화면은 분류·집계·대사를 돕는 조회·점검 도구이며, 차이의 원인 확인과 최종 회계·세무 판단은 회사와 세무대리인·감사인이 합니다.
세액공제조정 항목이나 원장 전표를 화면에서 고칠 수 있나요?
아니요. 이 화면은 조회·점검 전용이며 세액공제조정 항목이나 원장 전표를 생성·수정하지 않습니다. 항목 조정과 전표 처리는 기존 SAP 표준 거래에서 이루어지고, 이 화면은 그 결과를 신고기준 금액과 대사할 뿐입니다.
회사별 대사에 쓰는 데이터는 어디서 가져오나요?
화면은 OData 서비스 모델에 바인딩되어 조회조건에 맞춰 데이터를 불러옵니다. 신고기준 중간예납세액과 세액공제조정 내역, 미지급법인세 원장 전표는 각각 별도 엔티티셋으로 제공되며, 이 글의 화면은 검증용 샘플 데이터를 기준으로 캡처했습니다.