SAP 금융부채 유동성위험 만기분석 — IFRS 7, 계약상 잔존만기별 현금흐름부터 맞춰본다
차입금·사채·리스부채·매입채무는 각자 다른 시스템·대장에서 관리되곤 합니다. 이 화면은 그 계약상 현금흐름을 만기구간 5개로 모아 한 번에 대사합니다.
IFRS 7 금융상품:공시(K-IFRS 제1107호)는 유동성위험 관리 공시의 하나로, 금융부채의 계약상 잔존만기를 구간별로 나눠 할인하지 않은 계약상 현금흐름(원금과 표시이자 포함)으로 표시하도록 요구합니다. 문제는 차입금·사채·리스부채·매입채무가 서로 다른 계약·시스템에서 각각 관리되어, 결산 때마다 만기 구간을 사람이 스프레드시트로 다시 모아야 하는 경우가 많다는 점입니다.
이 반복 작업을 화면 하나로 옮기기 위해 OpenUI5 화면으로 확장했습니다. 장기차입금·단기차입금· 사채·리스부채·매입채무 및 기타 금융부채 5개 구분의 상품을 3개월 이내부터 5년 초과까지 5개 만기구간으로 나눠 집계하고, 구분별·전체 장부금액을 재무상태표 금융부채 총액과 대사하는 것까지 한 화면에서 확인하도록 구성했으며, 실제 구동 화면 3종을 함께 공개합니다.
이 화면이 더하는 부분
- 상품별 만기구간 배분 — 차입금·사채·리스부채·매입채무를 3개월 이내~5년 초과 5개 구간으로 통일된 기준으로 배분
- 구분별 대사 요약 — 5개 금융부채 구분별 상품수·장부금액·계약상현금흐름 합계·차이(미래이자 등)를 한 화면에서 비교
- 계약상현금흐름 vs 장부금액 — 할인 전 현금흐름 합계와 상각후원가 장부금액의 차이를 상품별로 분리 표시
- 재무상태표 대사 — 전체 장부금액 합계를 재무상태표 금융부채 총액과 자동 대사
| 항목 | 내용 |
|---|---|
| 업무 영역 | 재무회계(FI) · 결산 · 공시 |
| 관련 기준서 | IFRS 7 금융상품: 공시(K-IFRS 제1107호) |
| Namespace | zui5.liqmaturity |
| 셸 구조 | 조회조건(우측 조회) + 구분별 대사 요약 · 만기구간별 합계 + 상품별 결과 그리드, 만기내역 Dialog |
| 화면 수 | 조회 화면 1개 + 만기분석 상세 다이얼로그 |
| SAP 표준 T-code | FBL3N · FAGLL03 · FBL1N · F.01(아래 SAP 표준 기능 매핑 참고) |
| 성격 | 조회·점검형 — 계약조건(만기·이자율)은 별도 관리, 원장 전기는 표준 프로세스가 담당 |
| UI 테마 | sap_horizon 단일 적용 |
실제 화면 3종 둘러보기
구분·통화·상품검색·대사상태를 지정해 조회하면 구분별 대사 요약·만기구간별 합계·상품별 결과가 함께 뜹니다 → 검색어를 입력하고 Enter 키로 좁혀 다시 조회할 수 있습니다 → 행의 만기내역 버튼을 누르면 상품별 만기구간 현금흐름과 대사 확인 내역이 열립니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
조작 방법
- 구분 · 통화 · 상품ID/상품명 검색 · 대사상태를 지정합니다. 구분·통화·대사상태는 값을 바꾸면 즉시 재조회되고, 검색어는 입력 후 Enter 키로 재조회됩니다.
- 좌측 구분별 대사 요약 패널에서 5개 금융부채 구분의 상품수·장부금액·계약상현금흐름 합계·차이를 확인합니다.
- 우측 만기구간별 합계 패널에서 전체 상품의 만기구간별 합계와 총 장부금액·총 계약상현금흐름·재무상태표 대사 결과를 확인합니다.
- 하단 그리드에서 상품별 장부금액과 5개 만기구간 금액, 계약상현금흐름 합계, 차이를 확인하고, 행의 만기내역 버튼을 누르면 해당 상품의 현금흐름 상세가 다이얼로그로 열립니다.
- CSV 다운로드 버튼으로 현재 조회 결과를 UTF-8(BOM) CSV 파일로 내려받을 수 있습니다.
만기구간 배분 판정 규칙
IFRS 7 유동성위험 공시는 금융부채를 계약상 잔존만기에 따라 구간별로 나눠, 할인하지 않은 계약상 현금흐름(원금과 표시이자 포함)으로 표시하도록 요구합니다. 이 화면은 상품별 계약조건에서 각 현금흐름 발생일을 확인해 아래 규칙으로 5개 구간에 배분합니다.
| 판정 조건(계약상 현금흐름 발생일 — 조회기준일 기준 잔존기간) | 배분 구간 | 포함 항목 |
|---|---|---|
| 3개월 이하 | 3개월 이내 | 이자 지급일이 임박한 경과이자, 단기차입금·수입신용장 만기 원리금, 결제기한이 3개월 이내인 매입채무 |
| 3개월 초과 ~ 1년 이하 | 3개월~1년 | 연간 이자 지급, 6개월 내 만기인 단기차입금 원금, 1년 내 첫 이자 지급이 도래하는 사채·리스료 |
| 1년 초과 ~ 2년 이하 | 1~2년 | 2년 차 이자 지급, 1년 초과 2년 이하 만기인 사채·리스료·차입금 |
| 2년 초과 ~ 5년 이하 | 2~5년 | 장기차입금 만기 일시상환 원금과 잔여 이자, 2~5년 사이 도래하는 사채·리스료 |
| 5년 초과 | 5년 초과 | 잔존만기 5년을 초과하는 계약(공개한 검증용 데이터에는 해당 건 없음) |
매입채무·미지급금 등 유의적인 금융요소가 없는 단기 금융부채는 할인 효과가 미미하므로 계약상현금흐름을 장부금액과 동일하게 표시합니다(차이 0). 차입금·사채·리스부채는 만기까지 표시이자·리스료가 남아 있으므로 계약상현금흐름 합계가 장부금액보다 크며, 그 차이를 "차이(미래이자 등)"로 별도 표시해 두 금액의 성격 차이를 구분할 수 있게 합니다.
장부금액에서 만기구간 합계까지 4단계 산출
| 단계 | 내용 |
|---|---|
| ① 상품별 현금흐름 스케줄 확인 | 대출조건·사채발행조건·리스계약·매입채무 결제조건에서 원금 상환일과 이자·리스료 지급일을 확인 |
| ② 만기구간 배분 | 위 판정 규칙에 따라 각 현금흐름을 5개 구간 중 하나에 배분(상품별 배분 합계 = 계약상현금흐름 합계) |
| ③ 구분별·전체 합계 산출 | 상품별 결과를 5개 구분으로 묶어 구분별 장부금액·계약상현금흐름 합계·차이를 산출하고 전체로 재집계 |
| ④ 재무상태표 대사 | 전체 장부금액 합계를 재무상태표 금융부채 총액과 대사해 누락·중복 없이 전수 반영됐는지 확인 |
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
| 구분 | 선택 | 전체 / 장기차입금 / 단기차입금 / 사채 / 리스부채 / 매입채무 및 기타 금융부채 |
| 통화 | 선택 | 전체 / KRW / USD(환산) |
| 상품ID/상품명 검색 | 선택 | 텍스트 입력 후 조회 버튼 또는 Enter 키로 부분일치 검색 |
| 대사상태 | 선택 | 전체 / 일치(차이 0) / 차이 있음(이자요소) |
결과 컬럼
| 컬럼 | 의미 · 표시 |
|---|---|
| 구분 / 상품ID / 상품명 / 통화 | 금융부채 상품 식별 정보 |
| 장부금액(천원) | 재무상태표 인식 장부금액(상각후원가 기준) |
| 3개월 이내 ~ 5년 초과(5개 컬럼) | 만기구간별 계약상 현금흐름(원금+표시이자, 할인 전) |
| 계약상현금흐름 합계(천원) | 5개 만기구간 금액의 합 |
| 차이(미래이자 등, 천원) | 계약상현금흐름 합계 − 장부금액. 매입채무성 항목은 0, 이자부 부채는 만기까지 남은 표시이자·리스료 합계 |
만기내역 다이얼로그에는 상품별 기본 정보, 만기구간별 현금흐름 상세, 현금흐름 발생 내역, 대사 확인 결과가 함께 표시됩니다.
SAP 표준 기능 매핑
대출·사채·리스부채별 계약조건(만기·이자율·상환스케줄)은 표준 리포트 화면에 항목별로 정리되어 표시되지 않는 경우가 많습니다. 이 화면이 참고하는 원장 조회용 표준 기능은 아래와 같습니다.
| SAP 표준 T-code | 역할 |
|---|---|
FBL3N | 총계정원장 개별항목 조회 — 차입금·사채·리스부채 계정 잔액과 개별 전표 확인 |
FAGLL03 | 신 총계정원장(New G/L) 라인아이템 조회 — 회사코드·계정별 금융부채 잔액 조회 |
FBL1N | 매입채무 개별항목 조회 — 매입채무·미지급금 결제기한(지급조건) 확인 |
F.01 | 재무제표(대차대조표) — 금융부채 총액 재무상태표 대사 대상 |
IFRS 요구사항 매핑표
| 기준서 | 요구사항 | 이 화면의 대응 기능 | 원천 데이터 | 비고 |
|---|---|---|---|---|
| IFRS 7(K-IFRS 제1107호) | 유동성위험 관리 — 금융부채의 계약상 잔존만기 분석 | 구분별·상품별 만기구간(5구간) 현금흐름 집계, 구분별·전체 대사 요약 | ACDOCA(RACCT 계정, RBUKRS 회사코드, HSL/DMBTR 금액, RWCUR 거래통화) · BSEG(ZFBDT 기산일, ZBD1T/ZBD2T 지급조건일수) · 대출·사채·리스 계약정보(확인 필요) | 실제 계약별 상환스케줄은 개별 계약관리대장·시스템에서 별도 확인이 필요하며, 이 화면은 그 결과를 취합해 재구성하는 조회 도구입니다. |
| IFRS 7(K-IFRS 제1107호) | 할인 전 계약상 현금흐름(원금+이자) 표시 | 상품별 계약상현금흐름 합계 산출 및 장부금액과의 차이(미래이자 등) 표시 | ACDOCA(HSL 상각후원가 장부금액) · 상품별 이자율·만기 조건(확인 필요) | 할인율·이자계산 방식(단리/복리, 실효이자율)은 확인된 계약조건에 따라 회사가 검토합니다. |
도입 시 확인이 필요한 부분
대출·사채·리스 계약의 상환스케줄은 표준 원장 테이블에 없는 계약관리대장 성격의 데이터라, 실제 도입 때는 회사가 관리하는 대출·사채·리스 대장과 연계 방식을 다시 정의합니다. 매입채무의 유의적 금융요소 존재 여부 판정 기준도 거래 조건에 따라 달라지므로 고정값으로 두지 않습니다.
참고 CDS 뷰
운영 서비스로 연결할 때를 가정한 참고 설계입니다(이번 화면은 mock 데이터 기반이며 아래 CDS 뷰는 구현되어 있지 않습니다).
@AbapCatalog.sqlViewName: 'ZCLIQMATURITY'
@EndUserText.label: '(참고) 금융부채 유동성위험 만기분석'
define view ZC_LIQ_MATURITY
as select from acdoca as journal
association [0..1] to bseg as _paymentTerm
on journal.rbukrs = _paymentTerm.bukrs
and journal.belnr = _paymentTerm.belnr
and journal.gjahr = _paymentTerm.gjahr
{
key journal.rbukrs as CompanyCode,
key journal.racct as GlAccount,
journal.rwcur as TransactionCurrency,
journal.hsl as CarryingAmountLC,
_paymentTerm.zfbdt as BaselineDate,
_paymentTerm.zbd1t as CashDiscountDays1
}
차입금·사채·리스부채·매입채무 계정 잔액을 표준 테이블 ACDOCA(전표 라인아이템 합계 테이블)와
BSEG(전표 라인아이템, 지급조건 필드)에서 회사코드·계정 단위로 모으는 참고용 스케치입니다.
대출·사채·리스 계약의 만기·이자율 조건은 SAP 표준 테이블에 없어 별도 관리 대상(mock)으로 두었습니다.
OpenUI5 구성
| 기능 | 사용 컨트롤 |
|---|---|
| 화면 골격 | sap.m.Shell + sap.m.App + sap.m.Page — 조회조건 Panel + 구분별/만기구간별 요약 + 결과 그리드 |
| 조회조건 | sap.m.Select(구분·통화·대사상태) · sap.m.Input(상품검색, submit 이벤트) — 우측 끝에 조회 버튼, 선택 변경/Enter 시 즉시 재조회 |
| 결과 그리드 | sap.ui.table.Table — 컬럼 12개(10개 초과)로 스크롤·컬럼 고정을 지원하는 그리드 테이블 적용 |
| 요약 패널 | sap.m.Table(구분별 대사 요약, 만기구간별 합계) — 5개 컬럼 이하라 sap.m.Table 사용 |
| 대사 상태 | sap.m.ObjectStatus — 표준 상태값(Success·Information)으로 강조 |
| 상세 다이얼로그 | sap.m.Dialog + Fragment — 만기구간별 현금흐름, 발생 내역, 대사 확인 |
| 포맷 | 금액 · 이자율 · 대사상태 포맷터, CSV 다운로드(UTF-8 BOM) |
파일 구성
| 경로 | 역할 |
|---|---|
index.html | OpenUI5 부트스트랩 — sap_horizon · lodash · moment |
Component.js | 컴포넌트 초기화 · ErrorHandler 등록 |
manifest.json | 앱 디스크립터 — zui5.liqmaturity · ko 로케일 |
view/Main.view.xml | 조회조건 + 구분별/만기구간별 요약 + 상품별 결과 그리드 |
view/DetailDialog.fragment.xml | 만기분석 상세 다이얼로그 |
controller/Main.controller.js | 조회 · 상세 다이얼로그 · CSV 다운로드 |
controller/BaseController.js | CSV 다운로드 공통 함수 |
model/ModelMock.js | localdata JSON 읽기(Promise) |
model/formatter.js | 금액 · 이자율 · 대사상태 포맷 |
model/ErrorHandler.js | 전역 오류 메시지 처리 |
i18n/i18n_ko.properties | ko 로케일 리소스 |
localdata/liqmaturity.json | 상품별 만기분석 mock 데이터(가상 계정체계, 14건) |
운영 전환 시에는 ModelMock 내부만 실제 서비스 호출로 바꾸면 화면과 산출·판정 로직은 그대로 씁니다.
검증 결과
화면 구성에 쓴 데이터는 5개 구분(장기차입금·단기차입금·사채·리스부채·매입채무 및 기타 금융부채) 14개 상품입니다.
| 검증 항목 | 결과 |
|---|---|
| 상품별 대사(Σ만기구간 5개 = 계약상현금흐름 합계, 14건 전수) | 14건 전수 재계산, 차이 0 |
| 구분별·전체 대사(5개 구분 합계 = 전체 장부금액·계약상현금흐름·만기구간 합계) | 전체 장부금액 21,480,000천원 / 계약상현금흐름 23,532,746천원, 차이 0 |
| 재무상태표 대사(전체 장부금액 = 재무상태표 금융부채 총액) | 차이 0 |
| 화면 표시값 대조(메인화면 요약 패널 vs 검증 스크립트 결과) | 일치 |
| XML/JSON 전체 파싱 · i18n 키 누락 | 파싱 오류 0건, 참조 키 68개 중 미정의 0건 |
| 조회 버튼 위치(조회조건 영역 오른쪽 끝) · Enter 키 조회 · 적용 테마(sap_horizon) | 통과 |
| 화면 렌더링 — 실브라우저에서 조회 → 필터 재조회 → 상세 다이얼로그 실동작 후 캡처 | 3/3 |
계정체계·계약조건·금액은 모두 검증용 가상 데이터입니다.
자주 묻는 질문
화면에 나오는 계약상현금흐름이 장부금액과 다른 이유는 무엇인가요?
장부금액은 상각후원가(할인된 금액)이지만, IFRS 7 유동성위험 공시는 만기까지 지급할 계약상 현금흐름을 할인하지 않고 원금과 표시이자를 모두 포함해 표시합니다. 그 차이를 차이(미래이자 등) 컬럼으로 별도 표시합니다.
매입채무는 왜 차이가 0으로 나오나요?
유의적인 금융요소가 없는 단기 매입채무·미지급금은 할인 효과가 미미해 계약상현금흐름을 장부금액과 동일하게 표시했기 때문입니다.
화면의 만기구간 배분 결과를 그대로 공시자료에 사용해도 되나요?
아니요. 이 화면은 계정 데이터를 기준으로 만기구간별 현금흐름을 집계·대사하는 점검 도구이며, 최종 표시 방법과 공시 범위에 대한 판단은 기준서 원문에 따라 회사와 감사인이 결정합니다.
이 화면은 언제부터 적용해야 하는 요구사항을 다루나요?
유동성위험 만기분석은 IFRS 7(K-IFRS 제1107호)의 기존 공시 요구사항입니다. 같은 재무제표에 표시되는 손익계산서 구조는 IFRS 18(K-IFRS 제1118호) 도입으로 2027년 1월 1일 이후 개시하는 회계연도부터 변경되며 조기적용이 허용되고 비교기간이 재작성됩니다. 유동성위험 공시 자체의 적용범위·경과규정은 회사가 기준서 원문을 통해 확인해야 합니다.