SAP 불확실한 법인세 처리 점검 — IFRIC 23, 시나리오 확률로 세무 판단금액을 가른다
과세당국이 받아들일지 불확실한 세무처리, 기댓값법과 최빈값법으로 산출한 금액과 인식금액을 대사합니다
세무처리 중에는 과세당국이 그대로 받아들일지 확신하기 어려운 항목이 있습니다. 이전가격 조정, 손금불산입 여부, 세액공제 적격성, 고정사업장 해당 여부 같은 쟁점이 대표적입니다. IFRIC 23 법인세 처리에 관한 불확실성(K-IFRS 제2023호, IAS 12 관련 해석서)은 이런 불확실한 세무처리를 재무제표에 어떻게 인식·측정할지 정리한 해석서로, 가능한 결과를 시나리오로 나눈 뒤 기댓값법(Expected Value Method) 또는 최빈값법(Most Likely Amount) 중 결과를 더 잘 예측하는 방법으로 금액을 산출하도록 안내합니다.
문제는 이 산출 과정이 스프레드시트에 흩어져 있으면 사례가 늘어날수록 시나리오 확률 합계가 100%를 넘거나 모자라는 실수, 산출금액과 실제 인식금액이 어긋나는 채 방치되는 위험이 커진다는 점입니다. 표준 원장 구조를 그대로 이어받아, 사례별 시나리오·확률·금액을 관리하고 판단방법에 따른 산출금액과 인식금액을 자동으로 대사하는 화면을 OpenUI5로 확장했습니다. 실제 구동 화면 3종을 함께 공개합니다.
SAP 표준 기능을 그대로 이어받은 부분
- 회계처리 — 인식금액은 표준 전표 구조(미지급법인세·이연법인세부채 계정)를 그대로 사용
- 표준 화면 — 계정별 총계정원장 조회(FBL3N) · 계정 잔액 조회(FS10N)
| 항목 | 내용 |
|---|---|
| 업무 영역 | 재무회계(FI) · 법인세 |
| 관련 기준서 | IFRIC 23 법인세 처리에 관한 불확실성(K-IFRS 제2023호) |
| Namespace | zui5.taxposition |
| 셸 구조 | 조회조건 영역(우측 조회) + 대사 요약 + 탭(명세/집계), 상세 Dialog |
| 화면 수 | 조회 화면 1개(탭 2개) + 상세 다이얼로그 |
| SAP 표준 T-code | - (연관 화면은 §7 참고) |
| 성격 | 조회·집계·대사형 — 세무처리에 대한 최종 판단은 회사·세무대리인·감사인 몫 |
| UI 테마 | sap_horizon 단일 적용 |
실제 화면 3종 둘러보기
회계연도·과세연도·쟁점유형·판단방법·점검상태·사례번호를 넣고 조회하면 사례별 명세와 대사 요약이 뜹니다 → 행을 클릭하면 그 사례의 시나리오별 확률·금액이 다이얼로그로 열립니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
조작 방법
- 회계연도 · 과세연도 · 쟁점유형 · 판단방법 · 점검상태 · 사례번호를 지정합니다.
- 사례번호 입력 필드에서 Enter 키를 누르거나 조회조건 영역 오른쪽 끝의 조회 버튼을 누르면 재조회됩니다. 초기화 버튼은 조건을 기본값으로 되돌립니다.
- 쟁점유형·판단방법·점검상태를 "전체"로 두면 해당 조건 없이 조회합니다.
- 사례별 명세 탭의 행을 클릭하면 시나리오 상세 다이얼로그가 열리고, 쟁점유형별 집계 탭에서는 유형별 합계를 확인합니다.
- 각 탭 상단의 CSV 내려받기 버튼으로 현재 조회된 목록을 내려받을 수 있습니다.
불확실한 세무처리 판단 로직
사례별로 등록된 시나리오의 확률·금액을 바탕으로 판단방법에 따라 산출금액을 계산하고, 재무제표에 인식한 금액과 대사합니다.
| 판정 조건 | 결과 상태 | 사용자 조치 |
|---|---|---|
| 산출금액과 인식금액의 차이가 0에 가깝다(±0.005 이내) | 정상 | 추가 조치 없음 |
| 경영판단에 따라 산출금액보다 보수적으로 추가 적립한 의도적 예외 사례 | 확인 필요 | 재검토 사유와 적립 근거를 확인 |
| 산출금액과 인식금액의 차이가 있고 의도적 예외로 분류되지 않음 | 점검 필요 | 시나리오 확률·금액 재확인 및 인식금액 재계산 |
이 화면이 대신 정하지 않는 것
시나리오 확률·금액은 세무 판단의 결과물이지 이 화면이 만들어내지 않습니다. 이 화면은 등록된 시나리오를 바탕으로 산출금액을 계산하고 인식금액과 대사해 점검 후보를 가려내는 도구이며, 세무처리에 대한 최종 판단은 회사와 세무대리인·감사인이 합니다.
판단방법 2가지
| 방법 | 적용 기준 | 산출방식 |
|---|---|---|
| 기댓값법(Expected Value Method) | 가능한 결과가 폭넓게 분포된 경우 | Σ(시나리오 확률 × 시나리오 금액) |
| 최빈값법(Most Likely Amount) | 가능한 결과가 두 가지로 뚜렷이 나뉘는 경우 | 확률이 가장 높은 시나리오의 금액을 채택 |
산출·점검 처리 단계
| 단계 | 내용 |
|---|---|
| 1단계 | 사례별 판단방법(기댓값법/최빈값법) 확인 |
| 2단계 | 사례에 등록된 시나리오별 확률 합계가 100%인지 확인 |
| 3단계 | 판단방법에 따라 산출금액 계산 — 기댓값법은 확률가중 합계, 최빈값법은 최댓값 확률 시나리오 금액 |
| 4단계 | 산출금액과 인식금액을 대사해 차이를 확인하고, 경영판단에 따른 의도적 예외는 별도 표시 |
| 5단계 | 쟁점유형별로 사례를 집계해 유형별 합계와 전체 합계가 명세 합계와 일치하는지 확인 |
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
| 회계연도 | 필수 | 4자리 연도(단일 선택) |
| 과세연도 | 선택 | 전체/2024/2025/2026(전체 선택 시 조건 미전달) |
| 쟁점유형 | 선택 | 이전가격 조정 / 손금불산입 판단 / 세액공제 적격성 / 고정사업장 해당여부 / 기타 세무쟁점 |
| 판단방법 | 선택 | 기댓값법 / 최빈값법 |
| 점검상태 | 선택 | 정상 / 확인 필요 / 점검 필요 |
| 사례번호 | 선택 | 부분 일치(포함), Enter 키로 바로 조회 |
결과 컬럼
| 컬럼 | 설명 |
|---|---|
| 사례번호 · 과세연도 | 사례 식별 키 |
| 쟁점유형 · 쟁점 개요 | 세무상 처리가 불확실한 쟁점의 구분과 개요 |
| 판단방법 | 기댓값법 / 최빈값법 |
| 인식금액 · 방법별 산출금액 · 차이 | 재무제표에 인식한 금액과 판단방법에 따른 산출금액, 그 차이 |
| 관련 계정 | 미지급법인세 / 이연법인세부채 등 관련 계정 |
| 최근 재검토일 · 점검상태 | 사실관계 변경 등으로 재검토한 가장 최근 일자와 점검상태 |
SAP 표준 기능 매핑
| SAP 표준 T-code | 연관 기능 |
|---|---|
FBL3N | 미지급법인세·이연법인세부채 계정의 총계정원장 명세 조회 |
FS10N | 계정별 잔액 조회로 인식금액 총계 대사 |
요구사항 매핑표
| 기준서 | 요구사항 | 대응 기능 | 원천 데이터 |
|---|---|---|---|
| IFRIC 23(K-IFRS 제2023호) | 과세당국의 수용 여부가 불확실한 세무처리는 기댓값법 또는 최빈값법 중 결과를 더 잘 예측하는 방법으로 측정 | 사례별 판단방법 선택 및 산출금액 계산, 산출금액·인식금액 대사 | 미지급법인세·이연법인세부채 전표, 세무 판단 근거자료 |
| IFRIC 23 | 사실관계나 상황 변화 시 판단·추정을 재검토 | 재검토 사유·최근 재검토일 표시 | 세무 판단 근거자료 갱신 이력 |
도입 시 확인이 필요한 부분
쟁점유형 구분과 계정 매핑은 회사의 세무 판단 체계와 계정과목표에 맞춰 확정해야 합니다.
참고 CDS 뷰
운영 서비스로 연결할 때를 가정해 새로 스케치한 집계 뷰 예시입니다(운영 반영 시 권한 체크를 추가해야 합니다).
@AbapCatalog.sqlViewName: 'ZIUTPCASE'
define view Z_I_UtpCase
as select from bseg as Item
inner join bkpf as Header on Header.bukrs = Item.bukrs
and Header.belnr = Item.belnr
and Header.gjahr = Item.gjahr
{
key Header.gjahr as FiscalYear,
key Item.hkont as GLAccount,
sum(Item.dmbtr) as RecognizedAmount
}
group by Header.gjahr, Item.hkont
// 시나리오별 확률·산출금액은 세무 판단 근거자료(시나리오 분석표)를 별도 엔티티셋으로 관리
OpenUI5 구성
| 기능 | 사용 컨트롤 |
|---|---|
| 화면 골격 | sap.m.Page + 조회조건 Panel + 대사 요약 + IconTabBar |
| 조회조건 | sap.m.ComboBox · sap.m.Select · sap.m.Input — 우측 끝에 조회 버튼, Enter 키로 즉시 재조회 |
| 사례별 명세 | sap.ui.table.Table(컬럼 10개 초과) — 행 클릭 시 상세 다이얼로그 |
| 쟁점유형별 집계 | sap.m.Table — 전체 합계 행을 강조 표시 |
| 상세 | sap.m.Dialog — 선택 사례의 키 조건으로 시나리오 목록 재조회 |
| 공통 처리 | 전역 오류 처리기(ErrorHandler) |
서비스 경로는 manifest.json 의 dataSources 에 상대 경로로 선언한 OData 모델을 그대로
바인딩하며, 조회조건은 sap.ui.model.Filter 로 조립해 $filter 로만 전달합니다. 쟁점유형·판단방법·점검상태를
"전체"로 둘 때는 필터를 아예 생성하지 않습니다.
파일 구성
| 경로 | 역할 |
|---|---|
index.html | OpenUI5 부트스트랩 — sap_horizon |
Component.js | 컴포넌트 초기화, 전역 오류 처리기 연결 |
manifest.json | 앱 디스크립터 — zui5.taxposition · OData dataSources · ko 로케일 |
view/Main.view.xml | 조회조건 + 대사 요약 + 탭(명세/집계) |
view/DetailDialog.fragment.xml | 시나리오 상세 다이얼로그 |
controller/Main.controller.js | 조회·필터 조립·다이얼로그 로직 |
controller/BaseController.js | 공통 처리(CSV 내려받기 등) |
model/ErrorHandler.js | 전역 오류 처리 |
model/formatter.js | 금액·확률·점검상태 서식 |
i18n/i18n_ko.properties | ko 로케일 리소스 |
검증 환경 구성 상세는 이 글에서 다루지 않습니다. 운영 전환 시에는 화면과 판단 로직은 그대로 두고 데이터 계층만 실제 서비스 호출에 맞추면 됩니다.
검증 결과
화면 구성에 쓴 데이터는 방법별 산출금액과 인식금액의 관계가 항상 검증되도록 구성했습니다.
| 검증 항목 | 결과 |
|---|---|
| 대사식 전수 검증(방법별 산출금액 = 인식금액, 시나리오 확률 합계 = 100%, 유형별 집계 = 명세 합계) | 통과(차이 0건, 의도적 예외 2건 별도 표시) |
| 표시 금지 검사 — 커스텀 프로그램ID·앱 식별자·출처 표현 검출 | 0건 |
| 화면 렌더링 — 실브라우저에서 조회 → 탭 전환 → 행 클릭 상세까지 실동작 후 캡처 | 3/3 |
| 조회 버튼 위치 · sap_horizon 테마 적용 · Enter 키 조회 | 확인 |
| OData 계약 — 동사 경로 미사용, $filter·$orderby 로만 조회조건 전달 | 확인 |
사례·시나리오 수치는 모두 검증용으로 구성한 가상 데이터입니다.
자주 묻는 질문
이 화면이 다루는 기준서는 언제부터 적용되나요?
IFRIC 23 법인세 처리에 관한 불확실성은 2019년 1월 1일 이후 개시하는 회계연도부터 적용되며 조기적용이 허용됩니다. 그 밖의 세부 경과규정은 원문 확인이 필요한 부분은 별도로 표시합니다.
기댓값법과 최빈값법 중 어떤 것을 써야 하나요?
가능한 결과가 넓게 분포되어 있으면 기댓값법(확률가중 평균)을, 결과가 두 가지로 뚜렷이 나뉘면 최빈값법(가장 가능성 높은 단일 금액)을 사용합니다. 이 화면은 사례별로 등록된 방법에 따라 산출금액을 계산해 보여줍니다.
화면에 표시되는 점검 결과를 그대로 재무제표에 반영해도 되나요?
아니요. 이 화면은 사례별 판단 내역과 산출금액을 조회·대사하는 점검 도구이며, 세무처리에 대한 최종 판단과 재무제표 반영 여부는 회사와 세무대리인·감사인이 결정합니다.
의도적 예외로 표시된 사례는 오류인가요?
아니요. 산출금액과 다르게 보수적으로 인식금액을 조정한 경영판단 사례를 별도로 표시한 것으로, 대사식의 차이 건수와는 분리해 집계합니다.