SAP 확정급여제도 정산·축소 손익 인식 점검 — IAS 19, 사건이 일어난 날 바로 손익이 됩니다
제도별 정산·축소 이벤트가 발생한 회계연도에 손익이 즉시 인식됐는지, 확정급여채무(DBO) 증감표가 원장과 맞는지를 데이터로 먼저 확인해 둡니다
인원 구조조정으로 제도가 축소되거나, 퇴직급여를 일시금으로 정산해 의무를 소멸시키면 IAS 19 종업원급여(K-IFRS 제1019호)는 그 손익을 이연하지 말고 사건이 일어난 회계연도에 즉시 당기손익으로 인식하도록 합니다. 다음 결산까지 미루거나, 보험수리적손익처럼 기타포괄손익으로 처리하는 실수가 실무에서는 드물지 않게 생깁니다.
제도별 확정급여채무(DBO) 증감 데이터와 결산 분개 데이터를 이어받아, 정산·축소 이벤트마다 인식시점과 재계산 손익을 대사하고 DBO 증감표를 원장과 맞춰보는 과정을 OpenUI5 화면으로 확장했습니다. 실제 구동 화면 5종을 함께 공개합니다.
SAP 표준 기능을 그대로 이어받은 부분
- 원장 — 확정급여채무 계정의 총계정원장 라인아이템(
ACDOCA)을 원장잔액 대사 근거로 사용 - 전표 — 정산 지급·결산 인식 분개 전표(
BKPF·BSEG)를 인식손익 근거로 사용 - 표준 화면 — 원장 라인아이템 조회(FAGLL03) · 전표 조회(FB03)
| 항목 | 내용 |
|---|---|
| 업무 영역 | 재무회계(FI) · 결산 |
| 관련 기준서 | IAS 19 종업원급여(K-IFRS 제1019호) — 확정급여제도의 정산·축소로 발생한 손익은 발생한 회계연도에 즉시 당기손익으로 인식 |
| Namespace | zui5.dbosettle |
| 셸 구조 | 조회조건 영역(우측 조회) + KPI 4종 + 정산·축소 이벤트·DBO 증감표·점검 결과 3개 탭, 상세 Dialog |
| 화면 수 | 조회 화면 1개 + 상세 다이얼로그 |
| SAP 표준 T-code | FAGLL03 · FB03(§7 참고) |
| 데이터 연동 방식 | OData V2 — 화면 블록마다 엔티티셋에 직접 바인딩 |
| 성격 | 조회·대사·점검형 — 정산·축소 인식 분개 기표는 화면 밖 프로세스 |
| UI 테마 | sap_horizon 단일 적용 |
실제 화면 5종 둘러보기
회계연도·제도를 넣고 조회하면 정산·축소 이벤트와 KPI가 한 화면에 뜹니다 → 탭을 옮겨 DBO 증감표로 원장을 대사하고 → 점검 결과에서 확인이 필요한 건만 추려 봅니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
사용 방법
- 회계연도를 넣습니다. 기간·제도·이벤트 구분은 비워 두면(전체) 전체가 조회됩니다.
- 조회 버튼은 조회조건 입력 필드 줄의 가장 오른쪽에 있습니다. 제도 입력 필드에서 Enter 키를 눌러도 같은 조회가 실행됩니다.
- 대상 이벤트·DBO 변동액 합계·인식손익 합계·점검 필요 건수 4개 KPI를 먼저 확인합니다.
- 탭을 옮겨 가며 정산·축소 이벤트 → DBO 증감표 → 점검 결과 순으로 좁혀 봅니다.
- 이벤트·증감표 행을 누르면 상세 내역이 다이얼로그로 열립니다.
- 각 탭에서 CSV 내려받기(UTF-8 BOM)로 결과를 저장할 수 있습니다.
즉시 인식이 원칙 — 정산·축소 판정 로직
정산·축소로 생긴 손익은 다음 결산으로 미루지 않습니다. 발생한 그 회계연도에 전액 인식돼야 합니다.
| 판정 조건 | 결과 상태 | 사용자 조치 |
|---|---|---|
| 인식시점 = 즉시인식, 재계산 손익과 차이 0 | 정상 | 추가 조치 없음 |
| 인식시점 = 이연인식(발생 연도에 전액 인식되지 않음) | 점검 필요 | 인식 시점을 재확인하고 미인식 잔액의 당기 인식 여부를 검토합니다 |
| 인식손익 ≠ DBO 변동액 − 정산대가, 차이 발생 | 점검 필요 | 보험수리적 평가 결과와 전기 금액의 산출 근거를 재대사합니다 |
| DBO 증감표 기말잔액 ≠ 원장잔액, 차이 발생 | 점검 필요 | 결산 전기 누락·중복 여부를 원장에서 재확인합니다 |
이 화면이 대신 정하지 않는 것
판정 결과는 확인 대상을 알리는 표시이며, 기준서 충족 여부를 단정하지 않습니다. 정산·축소 해당 여부 자체의 판단(급부 의무 소멸 여부, 유의적 감소·개정 여부)은 계약과 제도 변경 내용을 근거로 회사가 판단합니다. 이 화면은 이미 정산·축소로 분류된 이벤트의 인식시점과 금액을 재계산해 대사하는 역할만 합니다. 최종 판단은 기준서 원문에 따라 회사와 감사인이 합니다.
이벤트 발생부터 원장 대사까지
| 단계 | 내용 |
|---|---|
| 1단계 | 제도별 기초 DBO에 당기근무원가·이자원가·보험수리적손익을 반영한다 |
| 2단계 | 정산·축소 이벤트가 발생한 기간에는 이벤트의 DBO 변동액을 정산변동·축소변동란에 반영한다 |
| 3단계 | 급여 지급액을 차감해 기말 DBO를 산출한다 — 기초DBO + 근무원가 + 이자원가 + 보험수리적손익 − 정산변동 − 축소변동 − 지급액 = 기말DBO |
| 4단계 | 기말 DBO를 원장상 확정급여채무 잔액과 대사한다 — 기말DBO = 원장잔액 |
| 5단계 | 이벤트별 인식손익을 재계산해 신고된 인식손익과 대사한다 — DBO 변동액 − 정산대가 = 인식손익 |
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
| 회계연도 | 필수 | 대상 회계연도. 기본값 2026 |
| 기간 | 선택 | 전체 / 003 / 006 / 009 / 012 |
| 제도 | 선택 | 제도 코드 자동완성 입력, 전체 선택 시 조건 없이 조회 |
| 이벤트 구분 | 선택 | 전체 / 정산(Settlement) / 축소(Curtailment) |
결과 컬럼
| 영역 | 컬럼 · 표시 |
|---|---|
| 정산·축소 이벤트 | 제도 · 이벤트ID · 발생일 · 구분 · 정산전/정산후 DBO · DBO 변동액 · 정산대가 · 인식손익 · 차이 · 인식시점 · 상태 |
| DBO 증감표 | 제도 · 기간 · 기초 DBO · 당기근무원가 · 이자원가 · 보험수리적손익 · 정산변동 · 축소변동 · 급여지급액 · 기말 DBO · 원장잔액 · 차이 |
| 점검 결과 | 점검ID · 제도 · 이벤트ID · 점검유형 · 내용 · 차이 · 구분 |
SAP 표준 기능 매핑
표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 그 데이터에 정산·축소 관점의 조회·검증을 더해 확장합니다.
| 표준 T-code | 표준 기능 | 이 화면이 더한 것 |
|---|---|---|
FAGLL03 | G/L 개별항목 조회 | 확정급여채무 계정의 원장잔액을 DBO 증감표 기말잔액과 대사합니다 |
FB03 | 전표 조회 | 정산·축소 인식손익 분개 전표를 이벤트 단위로 대사합니다 |
IFRS 요구사항 매핑표
| 기준서 | 요구사항 | 이 화면의 대응 기능 | 원천 데이터 | 비고 |
|---|---|---|---|---|
| IAS 19 (K-IFRS 제1019호) | 정산·축소로 발생한 손익의 즉시 인식 | 인식시점 점검(이연인식 검출) | 보험수리적 평가 결과 · BSEG | 이연 인식 건은 미인식 잔액을 함께 표시합니다 |
| IAS 19 (K-IFRS 제1019호) | 확정급여채무의 기초~기말 증감 공시 | DBO 증감표(정산·축소 변동 구분 표시) | 보험수리적 평가 결과 · ACDOCA | 정산·축소 변동을 근무원가·이자원가와 별도 컬럼으로 분리합니다 |
참고 CDS 뷰
| 원천 테이블 | 주요 필드 | 쓰임 |
|---|---|---|
ACDOCA | RBUKRS · GJAHR · RACCT · HSL | 확정급여채무 계정 잔액(원장 대사 근거) |
BKPF / BSEG | BELNR · BUZEI · HKONT · DMBTR | 정산 지급·결산 인식 분개 전표 |
define view entity I_DboSettlementEvent
as select from acdoca as Ledger
association [0..1] to I_DboPlanRollforward as _Rollforward
on Ledger.PlanCode = _Rollforward.PlanCode
and Ledger.FiscalYear = _Rollforward.FiscalYear
{
key Ledger.PlanCode,
key Ledger.EventId,
Ledger.EventDate,
Ledger.EventType,
Ledger.DboChangeAmount,
Ledger.SettlementConsideration,
Ledger.RecognizedGainLoss,
_Rollforward
}
표준 CDS 뷰 이름과 필드는 시스템 릴리스에 따라 다를 수 있으므로, 도입 시 실제 시스템에서 확인해 확정합니다.
OpenUI5 구성
| 기능 | 사용 컨트롤 · 구성 |
|---|---|
| 화면 골격 | sap.m.Page + 조회조건 패널 · KPI 4종 + sap.m.IconTabBar 3개 탭 |
| 데이터 연동 | manifest.json dataSources.mainService(OData V2, 상대 경로) — 화면 블록마다 엔티티셋에 직접 바인딩합니다. 모델 설정은 useBatch:false · defaultCountMode:"Inline" |
| 조회조건 | sap.m.Select · sap.m.Input(자동완성) — 우측 끝에 조회·초기화 버튼, Enter 키로 즉시 재조회, sap/ui/model/Filter로 조회조건을 조립합니다. "전체"를 고른 조건은 필터를 만들지 않습니다 |
| 정렬 · 페이징 | 엔티티셋 기본 정렬과 sap.ui.table.Table 스크롤 페이징으로 처리 — 전체를 받아 화면에서 걸러내지 않습니다 |
| 이벤트·증감표 표 | sap.ui.table.Table — 행 클릭 시 상세 다이얼로그 |
| 점검 결과 표 | sap.m.Table — sap.m.ObjectStatus로 상태를 표준 ValueState 로만 표시 |
| 공통 처리 | CSV 다운로드 공통 컨트롤러(UTF-8 BOM), 전역 오류 처리기 — 메타데이터 로드 실패·요청 실패·빈 응답을 구분해 안내 |
파일 구성
| 경로 | 역할 |
|---|---|
index.html | OpenUI5 부트스트랩 — sap_horizon, OData 서비스에 연결 |
Component.js | 화면 상태 모델 초기화, 전역 오류 처리기 연결 |
manifest.json | 앱 디스크립터 — zui5.dbosettle · ko 로케일, OData 서비스와 모델 선언 |
view/Main.view.xml | 조회조건 · KPI · 3개 탭 |
view/DetailDialog.fragment.xml | 상세 내역 다이얼로그 |
controller/Main.controller.js | 조회조건 조립 · 바인딩 · 다이얼로그 · CSV 다운로드 |
controller/BaseController.js | CSV 다운로드 공통 처리 |
model/ErrorHandler.js | 전역 오류 처리 |
model/formatter.js | 금액 · 날짜 · 상태 표시 서식 |
i18n/i18n_ko.properties | ko 로케일 리소스 |
운영 데이터는 OData 서비스가 제공하며, 검증용 샘플 데이터는 화면과 완전히 분리해 별도로 둡니다. 화면과 판정 로직은 그대로 씁니다.
검증 결과
화면 구성에 쓴 검증용 샘플 데이터는 5개 제도, 정산·축소 이벤트 14건, 제도×기간 증감표 20행을 기준으로 금액이 원(KRW) 단위로 맞물리도록 구성했습니다.
| 검증 항목 | 결과 |
|---|---|
| DBO 증감표 — 기초 + 증가 − 감소 = 기말 = 원장잔액 (20행 전수) | 통과(의도적 예외 1건 제외 차이 0) |
| 이벤트 인식손익 — 인식손익 = DBO 변동액 − 정산대가, 발생 연도 즉시 인식 (14건 전수) | 통과(의도적 예외 2건 제외 차이 0) |
| 점검 결과 집계 = 인식시점 예외 2건 + 원장 대사 예외 1건 | 통과(3건 일치) |
| 화면 KPI 합계 = 조회 결과 재계산값 | 통과(차이 0) |
| 조회 조건 전달 — 제도 필터 · $orderby 내림차순 · $top 정렬 확인 | 확인 |
| 표시 금지 검사 — 커스텀 프로그램ID·앱 식별자·출처 표현 검출 | 0건 |
| 화면 렌더링 — 실브라우저에서 조회 → 탭 이동 → 행 클릭 상세까지 실동작 후 캡처 | 5/5 |
조회 버튼 위치 · sap_horizon 테마 · Enter 키 조회 · 서비스 미연결 시 오류 안내 | 확인 |
모든 데이터는 검증용으로 구성한 가상 데이터입니다.
자주 묻는 질문
이 화면의 판정이 곧 기준서 충족 여부인가요?
아닙니다. 이 화면은 정산·축소 이벤트의 인식시점과 금액, DBO 증감표의 원장 대사 결과를 집계해 확인이 필요한 건을 가려내는 점검 도구입니다. 최종 판단은 기준서 원문에 따라 회사와 감사인이 합니다.
정산(Settlement)과 축소(Curtailment)는 어떻게 다른가요?
정산은 제도상 급부 의무의 전부 또는 일부를 현금 지급 등으로 소멸시키는 거래이고, 축소는 종업원 수의 유의적 감소나 제도 개정으로 미래 근무에 대한 급여 산정기준이 유의적으로 바뀌는 사건입니다. 두 사건 모두 발생한 회계연도에 손익을 즉시 인식합니다.
적용 시기와 범위는 어떻게 되나요?
IAS 19 종업원급여(K-IFRS 제1019호)는 이미 시행 중인 기준서입니다. 확정급여제도를 운영하는 모든 보고기간에 적용되며, 정산·축소 이벤트가 발생하는 결산마다 점검할 대상입니다.
인식이 이연됐는지는 어떻게 알 수 있나요?
화면은 이벤트별로 재계산한 손익(DBO 변동액에서 정산대가를 뺀 값)과 실제 인식된 손익을 비교합니다. 두 금액이 다르거나 인식시점이 발생 연도가 아니면 점검 대상으로 표시합니다.