리스부채 유동·비유동 구분 점검 — IFRS 16, 12개월 기준으로 리스부채를 다시 나눠 장부의 유동·비유동 구분과 견주고 이자·원금 일정까지 확인한다
12개월 뒤 잔액과의 차이로 유동 재계산 · 장부 구분액과 견주기 · 12개월 내 지급 일정(이자·원금) · 월별 합계와 대사 — 소개 영상과 실제 화면 6종, 그리고 CDS 코드까지
소개 영상1분 22초8개 장면음성 안내·자막처음 화면 → 점검 필요 → 지급 일정 → 월별 합계 → 대사 결과 → 계약 상세
개발 배경 — 이 앱을 사용해야 하는 이유
리스이용자는 IFRS 16(K-IFRS 제1116호)에 따라 리스부채를 인식하고, 재무상태표에서는 1년 안에 갚을 몫(유동)과 그 뒤에 갚을 몫(비유동)으로 나누어 보여 줍니다. 결산 때마다 부딪히는 질문은 단순합니다. 장부에 올라간 유동 리스부채가 정말 앞으로 12개월 안에 갚을 원금인가. 리스부채는 계약마다 이자율과 지급 일정이 달라서, 이 질문에 답하려면 계약 조건으로 잔액을 다시 계산해야 합니다.
지금은 이 일이 리스 계약 관리 목록, 계산 엑셀, 총계정원장 잔액 세 곳에 흩어져 있습니다. 담당자는 계약별 지급표에서 12개월 내 지급액을 합산하고, 그중 이자를 빼 원금만 가려내 장부 유동 계정과 견주는 작업을 달마다 손으로 반복합니다. 이 앱은 그 계산을 계약·월 한 줄에 모아 재계산한 유동액과 장부의 유동액을 나란히 놓고, 차이가 나는 줄만 점검 필요로 걸러 줍니다.
이자를 포함한 금액이 유동으로 올라가기 쉽다
월 840만 원씩 내는 사무실 임차가 있다고 하면 12개월 내 지급액은 1억 800만 원입니다. 그러나 그중 이자가 약 1,300만 원이라면 유동 리스부채는 약 8,775만 원이어야 합니다. 지급표의 합계를 그대로 유동 계정에 옮기면 이자가 섞여 유동부채가 부풀고 비유동부채는 줄어듭니다. 이 앱은 12개월 내 지급액과 이자를 따로 보여 주고, 장부 유동액이 할인 전 지급액에 가까우면 점검 코드 GROSS로 표시합니다.
한번 나눈 구분이 다음 달로 그대로 넘어간다
월이 바뀌면 12개월 창이 한 달씩 앞으로 가므로 유동·비유동 구분도 다시 나눠야 합니다. 월마감 때 이 재분류가 빠지면 장부의 유동액이 전월 값 그대로 남습니다. 잔액은 지급에 따라 줄었는데 유동액만 그대로이니 합계는 맞아 보이고, 눈으로는 잘 드러나지 않습니다. 장부 유동액이 전월 재계산액과 같은 계약·월은 점검 코드 STALE로 표시합니다.
종료가 가까운 계약은 남은 지급 전부가 유동이다
잔여 기간이 12개월 이내로 들어온 계약은 남은 지급이 모두 유동이어야 하고, 이때 유동액은 잔액과 같아집니다. 그런데 비유동 계정에 일부가 남아 있으면 재무상태표에서 비유동부채가 실제보다 크게 나옵니다. 복합기·사무기기 리스처럼 계약이 끝나 가는 건은 이런 누락이 반복되기 쉬워, 잔여 12개월 이내인데 유동 장부액이 잔액보다 작으면 SHORT로 표시합니다.
합계는 맞는데 구분이 어긋나는 일
유동 장부액과 비유동 장부액을 더한 값은 리스부채 잔액과 같아야 합니다. 이 합이 어긋나면 구분 이전에 계정 간 이동이나 전기 오류를 의심해야 합니다. 이 앱은 장부 유동 + 비유동에서 잔액을 뺀 총액 차이를 따로 계산해 어긋난 계약·월을 TOTAL로 표시하고, 요약 위쪽 숫자와 합쳐 보이지 않게 둡니다.
그래서 무엇을 보려는 점검인가
정리하면 네 가지입니다. 계약 조건으로 리스부채 잔액을 다시 구하고, 12개월 뒤 잔액과의 차이로 유동액을 재계산하고, 그 값을 장부의 유동·비유동 구분과 견주고, 12개월 내 지급을 이자와 원금으로 나눠 그 근거를 보입니다. 이 네 가지를 계약·월 한 줄과 상세 한 창에서 따라갈 수 있게 한 것이 이 앱입니다. 증분차입이자율을 어떻게 정했는지, 연장·해지 선택권을 어떻게 판단했는지는 회사의 판단이므로 화면이 대신하지 않습니다.
사용 방법
- 회계연도(필수, 4자리)를 확인하고 조회를 누르거나 입력칸에서 Enter 키를 누릅니다. 화면을 열면 한 번 자동으로 조회됩니다.
- 필요하면 전기 월 시작·종료, 계약, 자산 구분, 점검 결과로 범위를 좁힙니다. 비워 두면 전체입니다.
- 위쪽 요약에서 선택 범위 마지막 월의 잔액·유동 재계산액·유동 장부액·유동 차이와 점검 필요 계약·월, 대사 차이 건수를 봅니다.
- 계약별 구분 → 12개월 내 지급 일정 → 월별 합계 → 대사 결과 탭 순서로 옮겨 가며 근거를 확인합니다.
- 행을 누르면 계약 정보와 그 달 기준 12개월 지급 일정이 한 창에 열립니다. 닫기 버튼으로 닫습니다.
- 표 위 오른쪽의 CSV 내려받기로 현재 탭의 조회 결과를 UTF-8 파일로 저장해 결산 점검표에 붙입니다.
숫자를 믿을 수 있는가 — 검증 결과
화면에 나오는 숫자는 가상의 리스 계약 12건(건물·차량·IT장비·기계, 월납·분기납·연납)을 1~6월 기준으로 만든 검증용 샘플 데이터를 전수로 대사한 결과입니다. 계약·월 71행, 지급 일정 566행, 월별 합계 6행이며, 정합성 대사 5건은 모두 차이가 없습니다.
| 대사식 | 검사 건수 | 차이 건수 |
|---|---|---|
| R01 유동 + 비유동 = 리스부채 잔액 (계약·월) | 71 | 0 |
| R02 계약별 합계 = 월별 합계 (유동 재계산액) | 6 | 0 |
| R03 12개월 내 지급 일정의 원금 합계 = 유동 재계산액 | 71 | 0 |
| R04 12개월 내 지급액 − 이자 = 유동 재계산액 | 71 | 0 |
| R05 전월 잔액 × (1 + 월이자율) − 당월 지급 = 당월 잔액 | 59 | 0 |
의도적 예외 4종(점검 코드 GROSS 4건, STALE 2건, SHORT 4건, TOTAL 1건, 합계 11건)은 점검 화면의 동작을 보이려고 일부러 넣은 건입니다. 계약·월 71건 중 11건이 점검 필요로 나오는 것이 정상 동작이며, 정합성 대사의 차이 건수와는 섞지 않고 따로 기록합니다. 6월 기준 잔액은 2,842.0백만원, 유동 재계산액은 771.9백만원, 장부 유동액은 827.1백만원이고 유동 차이는 +55.1백만원(7.14%)입니다. 화면 요약과 월별 합계가 검증 스크립트 결과와 같음을 렌더링 상태에서 대조했습니다.
무엇으로 만들었나
| 자리 | 무엇 | 왜 그렇게 두었나 |
|---|---|---|
| 화면 | UI5 표준 컨트롤 — 조회조건 바, 요약 수치, 탭이 있는 표, 상세 창 | 추가 라이브러리 없이 표준 컨트롤만 써서 SAP 화면과 같은 조작감을 유지합니다. |
| 산출·판정 로직 | 12개월 뒤 잔액 차이로 유동액을 구하고 점검 코드(GROSS · STALE · SHORT · TOTAL)로 판정하는 규칙 | 규칙을 서비스 쪽에 두어 화면은 결과만 읽습니다. 운영 전환 때 화면을 고치지 않습니다. |
| 데이터 연동 | OData V2 서비스 — 계약·지급 일정·월 합계·대사 네 묶음과 조회 함수 1개 | 서비스 선언은 앱 설정 파일에 상대 경로로 둡니다. 서비스 주소만 바꾸면 운영 서비스로 옮겨집니다. |
| 조회조건 전달 | 화면의 입력값을 표준 필터 객체로 만들어 서비스에 전달 | “전체”는 조건을 만들지 않아 서비스가 불필요한 조건을 해석하지 않습니다. |
| 건수 집계 | 결과 건수는 서비스가 함께 돌려주는 총건수를 사용 | 화면에서 따로 세지 않아 요약과 표가 어긋나지 않습니다. |
| 테마 | SAP Horizon | S/4HANA Fiori 화면과 색·글꼴·간격이 같습니다. |
| 앱 정보 | 내용 |
|---|---|
| 업무 영역 | 재무회계 — 리스(IFRS 16 리스이용자) |
| 관련 기준서 | IFRS 16 리스(K-IFRS 제1116호) |
| SAP 표준 T-code | RECN · FAGLL03 · FS10N · F.01 |
| 화면 성격 | 조회·점검 화면 (최종 판단은 회사와 감사인) |
| 테마 | sap_horizon |
실행 화면
실제로 돌아가는 화면 6종을 사용 순서대로 싣습니다. 그림을 누르면 크게 볼 수 있고, 화면마다 무엇을 하는 자리인지 아래에 적었습니다. 숫자는 모두 같은 자료에서 나온 것이라 화면끼리 맞춰 보셔도 됩니다.
처음 열었을 때
조회 한 번으로 계약·월 전체와 요약 수치가 나오고, 점검 결과로 좁혀 다시 볼 줄만 남깁니다.

처음 열면 기본 조건(회계연도 2026, 월·계약·자산 구분·점검 결과는 전체)으로 자동 조회됩니다. 요약 수치는 선택한 범위의 마지막 월 기준이라 6월의 잔액 · 유동 재계산액 · 유동 장부액 · 차이를 보여 주고, 점검 필요 계약·월과 대사 차이는 범위 전체의 건수입니다. 표에서는 한 줄에 잔액, 재계산한 유동·비유동, 장부 유동·비유동, 차이와 차이율이 이어집니다.

조회조건의 점검 결과를 점검 필요로 바꾸고 조회를 누르면 장부와 재계산이 다른 계약·월만 남습니다. 탭 머리의 건수도 71에서 11로 바뀝니다. 차이가 한 계약에 몰리는지, 여러 계약에 퍼지는지가 먼저 보이고, 점검 내용 열이 어느 방향을 다시 열어 봐야 하는지 알려 줍니다. 원인을 단정하지는 않습니다.
일정과 월 합계로 근거 보기
유동 재계산액이 어디서 나왔는지는 지급 일정에서, 달마다 차이가 어떻게 쌓이는지는 월별 합계에서 확인합니다.

지급일마다 기초 잔액, 리스료 지급액, 이자, 원금 상환, 기말 잔액이 한 줄에 놓입니다. 월납 계약은 열두 줄, 분기납은 네 줄, 연납은 한 줄로 나옵니다. 한 계약·월의 원금 상환을 모두 더하면 계약별 구분 탭의 유동 재계산액과 같아야 하며, 이 일치를 대사 R03이 71건 전수로 검산합니다.

월마다 계약 수, 잔액, 유동·비유동 재계산액, 장부 유동액, 유동 차이와 차이율, 점검 필요 계약 수를 한 줄로 합산합니다. 1·2월은 점검 필요가 0건이고 3월 2건, 4월 2건, 5월 3건, 6월 4건으로 늘어나는 흐름이 보입니다. 월별 합계 탭에는 계약·자산 구분 조건이 적용되지 않고 회계연도와 월 범위만 적용됩니다.
대사 결과와 상세
숫자를 믿어도 되는지는 대사 탭에서, 한 계약의 사정은 상세 창에서 봅니다.

대사 R01~R05는 화면 숫자끼리 맞는지를 보는 검산이라 차이 건수가 0이어야 합니다. R06~R09는 점검 코드별 건수(GROSS 4 · STALE 2 · SHORT 4 · TOTAL 1)를 따로 세어 두어 정합성 차이와 섞이지 않게 했습니다. 위쪽 요약의 대사 차이 건수는 정합성 대사의 차이만 센 값입니다.

계약 번호와 자산 구분, 지급 주기, 증분차입이자율, 개시·종료일, 다음 지급일, 잔여 개월 같은 계약 정보와 그 달 기준 12개월 일정이 같이 나옵니다. 계약별 구분·지급 일정·월별 합계 어느 탭에서든 행을 누르면 열리고, 닫기 버튼으로 닫습니다.
화면 뒤에서 일어나는 일
계약·월마다 아래 순서로 판정합니다. 차이 허용 폭은 1,000원이며, 점검 코드는 원인을 단정하지 않고 점검 방향만 알려 줍니다.
| 판정 조건 | 결과 상태 | 사용자 조치 |
|---|---|---|
| 유동 장부액 − 유동 재계산액, 유동+비유동 장부액 − 잔액이 모두 1,000원 이내 | 정상 | 조치 없음 |
| 유동 장부액이 12개월 내 지급액(할인 전)에 가깝다 — 점검 코드 GROSS | 점검 필요 | 유동액에 이자가 포함됐는지 확인 필요 |
| 유동 장부액이 전월 재계산 유동액과 같다 — 점검 코드 STALE | 점검 필요 | 월 마감 때 유동·비유동을 다시 나눴는지 확인 필요 |
| 잔여 기간이 12개월 이내인데 유동 장부액이 잔액보다 작다 — 점검 코드 SHORT | 점검 필요 | 남은 지급이 모두 유동에 들어갔는지 확인 필요 |
| 유동+비유동 장부액이 리스부채 잔액과 다르다 — 점검 코드 TOTAL | 점검 필요 | 잔액과 구분액 사이 차이 원인 확인 필요 |
처리는 다음 순서로 이어집니다.
- 월 할인율을 구합니다.
r = (1 + 연 증분차입이자율)^(1/12) − 1 - 리스부채 잔액을 구합니다.
B(t) = Σ 리스료 ÷ (1 + r)^(지급월 − t). 보고월 말 지급분은 이미 지급한 것으로 보고 뺍니다. - 12개월 뒤 잔액 B(t+12)를 같은 식으로 구합니다.
- 유동 재계산액 = B(t) − B(t+12), 비유동 재계산액 = B(t) − 유동 재계산액으로 나눕니다.
- 지급 일정은 이자 = 기초 잔액 × ((1 + r)^(지급 사이 개월 수) − 1), 원금 상환 = 리스료 − 이자로 만듭니다.
- 장부 유동·비유동 금액과 견주어 점검 코드를 붙이고, 아래 대사식을 전수로 검산합니다.
숫자로 확인하면 이렇습니다. 본사 사무실 임차 1월의 잔액은 317,610,496원, 12개월 내 지급액(할인 전)은 100,800,000원, 그중 이자는 13,046,475원이어서 유동 재계산액은 100,800,000 − 13,046,475 = 87,753,525원입니다. 장부 유동액이 같은 금액이므로 이 줄은 정상입니다.
조회조건
| 조건 | 필수 | 기본값 | 서비스에 보내는 방식 |
|---|---|---|---|
| 회계연도 | 필수 | 2026 | Gjahr eq '2026' |
| 전기 월 시작·종료 | 선택 | 전체 | Period ge/le 또는 bt로 묶어 전송. 둘 다 있으면 시작 이상·종료 이하 |
| 계약 | 선택 | 전체 | ContractNo eq 'L02' (전체면 조건을 만들지 않음) |
| 자산 구분 | 선택 | 전체 | AssetClass eq '건물' (전체면 조건을 만들지 않음) |
| 점검 결과 | 선택 | 전체 | CheckStatus eq 'CHECK' (전체면 조건을 만들지 않음) |
월별 합계 탭에는 계약·자산 구분 조건이 적용되지 않고, 대사 결과 탭에는 회계연도만 적용됩니다.
결과 컬럼
| 컬럼 | 의미 | 산출식 |
|---|---|---|
| 리스부채 잔액 | 보고월 말 현재 남은 리스료의 현재가치 | Σ 리스료 ÷ (1 + r)^(지급월 − t) |
| 유동 재계산액 | 앞으로 12개월 안에 상환될 원금 | B(t) − B(t+12) |
| 비유동 재계산액 | 12개월 뒤에 상환될 원금 | 잔액 − 유동 재계산액 |
| 유동·비유동 장부액 | 총계정원장의 리스부채 유동·비유동 계정 잔액 | 계정 매핑에 따라 읽음 |
| 유동 차이 | 장부와 재계산의 차이 | 유동 장부액 − 유동 재계산액 |
| 유동 차이율 | 재계산액 대비 차이 비율 | 차이 ÷ 재계산액 × 100 |
| 12개월 내 지급액·이자 | 할인 전 지급 합계와 같은 기간 이자 | 지급 일정 합계 |
| 총액 차이 | 구분 이전의 합계 어긋남 | (유동+비유동 장부액) − 잔액 |
| 점검 결과·코드 | 정상 또는 점검 필요와 GROSS·STALE·SHORT·TOTAL | 위 판정표 |
좁은 화면에서 달라지는 것
창이 좁아지면 조회조건이 여러 줄로 접히고, 요약 수치는 두 줄로 나뉘며, 표는 가로로 밀어 볼 수 있습니다. 맨 앞 열(전기 월·계약 번호·계약)은 고정해 옆으로 밀어도 어느 계약인지 놓치지 않습니다. 상세 창은 화면 전체를 쓰도록 넓어집니다.
파일 구성
앱 폴더
├─ 앱 시작 파일, 앱 설정(서비스 선언 포함), 컴포넌트
├─ controller/ 기본 컨트롤러 · 메인 컨트롤러
├─ view/ 메인 화면 · 상세 창
├─ model/ 표시 형식 · 오류 처리
├─ css/ · i18n/ 스타일 · 한국어 문구
├─ odata/ 서비스 정의 · 메타데이터 · 데이터 제공 로직
└─ media/ 소개 영상
SAP 표준 기능 확장 포인트 — 표준 T-code와 어떻게 연계되는지
표준 실행은 SAP 표준 T-code가 담당하고, 이 화면은 조회·검증 관점을 더해 확장합니다. 표준 화면이 이미 잘하는 일은 그대로 두고, 표준 화면 사이에서 끊기는 자리만 이어 붙입니다.
표준으로 되는 것과 안 되는 것
| 하고 싶은 일 | SAP 표준 | 표준에서 걸리는 자리 | 이 앱이 더하는 관점 |
|---|---|---|---|
| 리스 계약 조건과 지급 일정 확인 | RECN | 계약 단위로 보여 주며 보고월마다 12개월 창을 다시 잘라 합산해 주지는 않습니다 | 계약·월마다 12개월 내 지급을 이자와 원금으로 나눠 보여 줍니다 |
| 리스부채 계정 잔액 조회 | FS10N | 계정 단위 잔액이라 어느 계약의 잔액인지 알지 못합니다 | 계약·월 줄에 장부 유동·비유동을 붙여 재계산값과 견줍니다 |
| 계정 라인 아이템 확인 | FAGLL03 | 전표를 하나씩 열어야 하고 재계산 기준이 없습니다 | 차이가 난 계약·월의 원천 확인으로 이어 줍니다 |
| 재무상태표의 유동·비유동 확인 | F.01 | 보고서 구조가 고정이라 구분의 근거 계산이 보이지 않습니다 | 구분액을 만든 근거(12개월 뒤 잔액과의 차이)를 보여 줍니다 |
| 12개월 뒤 잔액으로 유동액 재계산 | 없음 | 표준에는 계약별 재계산 결과를 장부와 나란히 두는 자리가 없습니다. 보통 엑셀로 계산합니다 | 잔액 차이로 유동액을 다시 구하고 1,000원 허용 폭으로 판정합니다 |
| 구분 오류 유형 식별 | 없음 | 이자 포함·미갱신·누락·합계 어긋남을 가르는 점검이 없습니다 | GROSS · STALE · SHORT · TOTAL 코드로 확인 방향을 알려 줍니다 |
T-code별 연계 지점
| T-code | 이름 | 이 앱과 맞닿는 지점 |
|---|---|---|
| RECN | 리얼 에스테이트 계약(RE-FX) | 리스 계약을 RE-FX로 관리한다면 계약 조건과 지급 일정을 확인하는 출발점입니다. 이 앱의 계약 번호로 같은 계약을 열어 지급액·주기·기간이 화면의 일정과 같은지 봅니다. 리스를 다른 계약 관리 모듈로 운영한다면 그 원천이 같은 자리를 맡습니다(확인 필요). |
| FAGLL03 | G/L 계정 라인 아이템 조회 | 장부 유동·비유동 리스부채 계정의 라인을 확인합니다. 차이가 난 계약·월의 장부 유동액을 만든 전표를 열어, 월마감 재분류 전표가 있었는지 봅니다. |
| FS10N | G/L 계정 잔액 조회 | 계정별 월말 잔액을 이 앱의 장부 유동·비유동 금액과 대조합니다. 계약별로 쪼개지 않은 계정 합계가 이 앱의 월별 합계(장부 유동)와 같아야 합니다. |
| F.01 | 재무제표 실행 | 재무상태표에 나타나는 유동·비유동 리스부채를 확인합니다. 이 앱의 월별 합계에서 장부 유동액과 비유동 장부액의 합이 보고서의 금액과 맞는지 봅니다. |
두 화면의 숫자가 다를 때는 먼저 리스부채 계정 매핑(어느 계정이 유동이고 어느 계정이 비유동인가)이 같은지 봅니다. 결산 보고와 감사 대응에 쓰는 보고서는 계속 표준 화면에 남깁니다. 이 앱은 그 보고서를 대신하지 않고, 마감 전에 장부 구분이 재계산과 맞는지 보는 점검 자료를 더합니다. 그래서 운영으로 옮겨도 기존 표준 보고서를 없앨 필요가 없습니다.
S/4HANA 분석 스택과의 자리
표준 CDS 분석 쿼리, Fiori 분석 앱, Analysis for Office는 계정 잔액을 여러 축으로 보는 데 강합니다. 이 앱이 다루는 것은 잔액 자체보다 그 잔액이 어떻게 유동과 비유동으로 갈라져야 하는가입니다. 그래서 장부 금액은 표준 저널 항목 뷰를 읽는 기본 뷰로 두어 분석 쿼리와 같은 원천을 공유하고, 재계산은 별도 뷰에서 계약 조건을 읽어 구합니다. 두 값은 계약·월 키로 만나 큐브에서 비교합니다.
확장 포인트 — 운영에서 실제로 손대는 자리
| 자리 | 손대는 일 | 이유 |
|---|---|---|
| 리스부채 계정 매핑 | 유동·비유동 리스부채 계정이 어느 G/L 계정인지, 계약 유형별로 다른지 매핑 표에 입력 | 이 표가 비면 장부 금액이 읽히지 않습니다 |
| 지급 일정 원천 | 계약 관리(RE-FX 등)의 지급 일정 또는 리스 대장을 읽는 뷰 지정 | 원천 테이블은 회사 환경마다 달라 확인 필요입니다 |
| 증분차입이자율 | 계약별 이율과 적용 시작일을 입력 | 이율 근거는 계약별로 확인해야 하며 이 값이 모든 재계산의 기준입니다 |
| 허용 폭 | 차이 허용 금액(샘플은 1,000원)을 회사 기준으로 조정 | 너무 작으면 반올림 차이가, 너무 크면 실제 오류가 가려집니다 |
| 확장 필드 | 회사 고유 구분(사업부, 지역)이 필요하면 확장 필드로 추가 | 표준 필드를 건드리지 않고 확장합니다 |
| 권한 | 회사코드 권한 객체와 연결 | 합계 요약까지 같은 권한이 적용되어야 합니다 |
요구사항 매핑표
| 기준서 | 요구사항 | 대응 기능 | 원천 데이터 | 비고 |
|---|---|---|---|---|
| IFRS 16 리스(K-IFRS 제1116호) | 리스부채의 후속 측정 — 이자 반영, 리스료 지급 반영 | 잔액 재계산과 12개월 내 지급 일정 | 리스 계약 조건·지급 일정, 증분차입이자율 | 증분차입이자율 근거는 계약별로 확인 필요 |
| 〃 | 재무상태표에서 리스부채 별도 표시 또는 주석 공시 | 계약별 구분 탭의 장부 유동·비유동 대사 | 리스부채 계정 잔액 | 계정 매핑은 회사별로 확인 필요 |
| 재무제표 표시(K-IFRS 제1001호) | 부채의 유동·비유동 구분 | 12개월 내 상환 원금을 유동으로 재계산 | 리스부채 잔액·지급 일정 | 연장·해지 선택권 등 세부 판단은 회사 판단. IFRS 18 시행(2027-01-01 이후 개시 회계연도) 뒤 요구사항 위치는 확인 필요 |
IFRS 16은 2019-01-01 이후 개시하는 회계연도부터 적용합니다. 이 외의 경과규정과 문단별 요구사항은 원문을 확인한 뒤 적용하시기 바랍니다.
CDS 구성
운영 전환의 핵심은 화면이 아니라 CDS 뷰입니다. 화면이 부르는 서비스는 아래 뷰 레이어를 그대로 노출하는 얇은 껍데기입니다. 객체 이름은 이 글의 예시이며 고객사 명명 규칙에 맞게 바꿔 쓰시면 됩니다. 표준 CDS 뷰는 실재가 확인된 것만 썼고, 확인하지 못한 자리(리스 계약 원천)는 “확인 필요”로 적었습니다.
뷰 레이어 구성
| 레이어 | 뷰 | 하는 일 | 왜 나누나 |
|---|---|---|---|
| 기준 | ZLCNC_ACCMAP (테이블) | 리스부채 유동·비유동 G/L 계정 매핑 | 계정 체계는 회사마다 달라 코드가 아닌 데이터로 둡니다 |
| 차원 | ZI_LeaseContract | 계약 번호·자산 구분·지급 주기·증분차입이자율 | 계약 조건을 한 곳에서 읽어 재계산과 화면이 같은 값을 씁니다 |
| 지급 일정 | ZI_LeaseSchedule | 지급일별 리스료와 12개월 창 판정 | 유동 재계산은 지급 일정에서 출발합니다 |
| 장부 | ZI_LeaseBook | 표준 저널 항목에서 유동·비유동 장부 금액 | 표준 원천을 그대로 읽어 대사의 한쪽을 정직하게 둡니다 |
| 큐브 | ZC_LeaseCurCube | 계약·월별 재계산 유동액과 장부 금액, 차이, 점검 코드 | 판정 규칙을 한 곳에 모읍니다 |
| 쿼리 | ZC_LeaseCurQuery | 화면이 읽는 조회 뷰(필터·정렬 주석) | 화면 조건과 서비스 필터를 맞춥니다 |
| 권한 | ZC_LeaseCurQuery (DCL) | 회사코드 권한 | 합계 요약까지 같은 권한을 적용합니다 |
| 서비스 | 서비스 정의·바인딩 | OData V2 게시 | 화면은 이 서비스만 바라봅니다 |
① 계정 매핑 테이블
어느 G/L 계정이 유동 리스부채이고 어느 계정이 비유동인지를 담는 입력 기준입니다. 같은 리스부채라도 회사마다 계정을 다르게 쓰고, 자산 구분이나 계약 유형마다 계정을 나누기도 합니다. 이 표가 장부 금액의 출발점이라 담당자가 바꿀 때 변경 이력이 남아야 하고, 비어 있으면 장부 금액은 0으로 읽히지 않고 “매핑 없음”으로 드러나야 합니다.
" ─────────────────────────────────────────────
" ZLCNC_ACCMAP 리스부채 계정 매핑
" 역할 : 유동·비유동 리스부채 G/L 계정을 회사코드·자산 구분별로 지정
" 이유 : 계정 체계는 회사마다 달라 코드에 박지 않고 데이터로 둔다
" ─────────────────────────────────────────────
@EndUserText.label : '리스부채 계정 매핑'
@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE
@AbapCatalog.tableCategory : #TRANSPARENT
@AbapCatalog.deliveryClass : #C
@AbapCatalog.dataMaintenance : #ALLOWED
define table zlcnc_accmap {
key mandt : mandt not null;
key bukrs : bukrs not null;
key asset_class : abap.char(10) not null; " 건물·차량·IT장비·기계
key valid_from : abap.dats not null; " 유효 시작일
cur_account : saknr not null; " 유동 리스부채 계정
noncur_account : saknr not null; " 비유동 리스부채 계정
changed_by : syuname;
changed_at : timestampl;
}
② 계약 기본 뷰 — 계약 조건
재계산에 필요한 계약 조건(지급 주기, 회차 지급액, 증분차입이자율, 개시·종료일)을 한 번에 읽는 기본 뷰입니다. 리스 계약을 RE-FX로 관리하면 그 계약 원천을, 별도 대장으로 관리하면 그 테이블을 읽습니다. 어느 쪽인지는 고객 환경에서 확인해야 하므로 아래는 자리만 잡아 둔 스케치입니다.
" ─────────────────────────────────────────────
" ZI_LeaseContract 리스 계약 기본 뷰 (스케치)
" 역할 : 계약 조건을 한 곳에서 읽는다
" 이유 : 재계산·화면·분석 쿼리가 같은 이율과 지급 조건을 쓰게 한다
" 확인 필요 : 계약 원천(RE-FX 계약 뷰 또는 리스 대장 테이블)
" ─────────────────────────────────────────────
@AbapCatalog.viewEnhancementCategory : [#NONE]
@AccessControl.authorizationCheck : #CHECK
@EndUserText.label : '리스 계약 조건'
@Metadata.ignorePropagatedAnnotations : true
define view entity ZI_LeaseContract
as select from zlcnc_contract " 확인 필요: 운영 원천으로 교체
{
key bukrs as CompanyCode,
key contract_no as LeaseContract,
contract_name as ContractName,
asset_class as AssetClass,
pay_freq as PayFrequency, " M 월 · Q 분기 · Y 연
@Semantics.amount.currencyCode : 'Currency'
pay_amount as PaymentAmount,
currency as Currency,
ibr_pct as IncrementalBorrowingRate, " 연 %, 계약별
start_date as StartDate,
end_date as EndDate
}
③ 지급 일정 뷰 — 12개월 창
보고월마다 “지금부터 12개월 안에 지급되는가”를 지급일 단위로 판정하는 뷰입니다. 유동 재계산액은 이 창 안의 원금 상환분이므로, 창을 자르는 기준(보고월 말을 넘는 첫 지급일부터 12개월)을 한 곳에만 둡니다. 보고월 말에 지급하는 분은 이미 지급한 것으로 봐서 제외합니다.
" ─────────────────────────────────────────────
" ZI_LeaseSchedule 지급 일정과 12개월 창
" 역할 : 지급일별 리스료, 이자, 원금과 12개월 창 포함 여부
" 이유 : 창 기준을 한 곳에 두어 유동 재계산과 화면 일정이 같게 한다
" ─────────────────────────────────────────────
@AbapCatalog.viewEnhancementCategory : [#NONE]
@AccessControl.authorizationCheck : #CHECK
@EndUserText.label : '리스 지급 일정'
define view entity ZI_LeaseSchedule
with parameters
p_report_month_end : abap.dats
as select from zlcnc_paysched as s
inner join ZI_LeaseContract as c
on c.CompanyCode = s.bukrs
and c.LeaseContract = s.contract_no
{
key s.bukrs as CompanyCode,
key s.contract_no as LeaseContract,
key s.seq_no as PaymentSeq,
s.pay_date as PaymentDate,
@Semantics.amount.currencyCode : 'Currency'
s.payment as Payment,
s.currency as Currency,
" 보고월 말을 넘고 12개월 안이면 유동 창에 포함
case
when s.pay_date > $parameters.p_report_month_end
and s.pay_date <= dats_add_months( $parameters.p_report_month_end, 12, 'FAIL' )
then 'X' else ' '
end as InCurrentWindow
}
④ 장부 기본 뷰 — 표준 저널 항목에서 읽기
대사의 한쪽은 장부에 실제로 올라간 금액입니다. 표준 저널 항목 뷰를 읽고, 매핑 테이블로 유동·비유동을 가려 계약·월 단위로 모읍니다. 전표에 계약 번호를 어디에 실을지(참조 키, 배정 필드, 오더 등)는 운영에서 합의해야 하므로 LeaseContractKey는 확인 필요 자리입니다.
" ─────────────────────────────────────────────
" ZI_LeaseBook 유동·비유동 리스부채 장부 금액
" 역할 : 표준 저널 항목에서 매핑 계정별 월말 잔액을 계약 단위로 모음
" 이유 : 장부를 표준 원천 그대로 읽어 대사의 한쪽을 정직하게 둔다
" 확인 필요 : 계약 번호를 싣는 전표 필드(LeaseContractKey)
" ─────────────────────────────────────────────
@AbapCatalog.viewEnhancementCategory : [#NONE]
@AccessControl.authorizationCheck : #CHECK
@EndUserText.label : '리스부채 장부 금액'
define view entity ZI_LeaseBook
as select from I_JournalEntryItem as j
inner join zlcnc_accmap as m
on m.bukrs = j.CompanyCode
and ( m.cur_account = j.GLAccount or m.noncur_account = j.GLAccount )
{
key j.CompanyCode,
key j.FiscalYear,
key j.FiscalPeriod,
key j.LeaseContractKey as LeaseContract, " 확인 필요
@Semantics.amount.currencyCode : 'CompanyCodeCurrency'
sum( case when j.GLAccount = m.cur_account
then j.AmountInCompanyCodeCurrency else 0 end ) as BookCurrent,
@Semantics.amount.currencyCode : 'CompanyCodeCurrency'
sum( case when j.GLAccount = m.noncur_account
then j.AmountInCompanyCodeCurrency else 0 end ) as BookNonCurrent,
j.CompanyCodeCurrency
}
where j.Ledger = '0L'
group by j.CompanyCode, j.FiscalYear, j.FiscalPeriod, j.LeaseContractKey, j.CompanyCodeCurrency
⑤ 큐브 — 재계산과 판정
계약·월 한 줄에서 재계산한 유동액과 장부 금액이 만나는 자리입니다. 점검 코드 판정 순서(TOTAL → SHORT → STALE → GROSS)와 허용 폭이 여기에 모이므로, 이 뷰를 바꾸면 화면과 분석 쿼리의 판정이 함께 바뀝니다. 잔액 B(t)와 B(t+12)는 증분차입이자율로 할인한 현재가치 함수에서 오며, 아래는 판정 부분을 중심으로 줄인 스케치입니다.
" ─────────────────────────────────────────────
" ZC_LeaseCurCube 계약·월 유동 재계산과 점검 판정
" 역할 : 재계산 유동액 vs 장부 유동액, 점검 코드
" 이유 : 판정 규칙과 허용 폭을 한 곳에 모은다
" ─────────────────────────────────────────────
@AbapCatalog.viewEnhancementCategory : [#NONE]
@AccessControl.authorizationCheck : #CHECK
@EndUserText.label : '리스부채 유동 재계산 큐브'
@Analytics.dataCategory : #CUBE
define view entity ZC_LeaseCurCube
as select from ZI_LeaseBalance as b " B(t), B(t+12), 12개월 내 지급·이자
left outer join ZI_LeaseBook as k
on k.CompanyCode = b.CompanyCode
and k.FiscalYear = b.FiscalYear
and k.FiscalPeriod = b.FiscalPeriod
and k.LeaseContract = b.LeaseContract
{
key b.CompanyCode, key b.FiscalYear, key b.FiscalPeriod, key b.LeaseContract,
@Semantics.amount.currencyCode : 'Currency'
@DefaultAggregation : #SUM
b.BalanceNow as LeaseLiability,
@Semantics.amount.currencyCode : 'Currency'
@DefaultAggregation : #SUM
b.BalanceNow - b.BalanceAfter12 as CurrentRecalc, " B(t) - B(t+12)
@Semantics.amount.currencyCode : 'Currency'
@DefaultAggregation : #SUM
b.BalanceAfter12 as NonCurrentRecalc,
@Semantics.amount.currencyCode : 'Currency'
@DefaultAggregation : #SUM
k.BookCurrent as BookCurrent,
@Semantics.amount.currencyCode : 'Currency'
@DefaultAggregation : #SUM
k.BookCurrent - ( b.BalanceNow - b.BalanceAfter12 ) as DiffCurrent,
case
when abs( k.BookCurrent + k.BookNonCurrent - b.BalanceNow ) > 1000 then 'TOTAL'
when b.RemainingMonths <= 12 and k.BookCurrent < b.BalanceNow - 1000 then 'SHORT'
when abs( k.BookCurrent - b.PrevCurrentRecalc ) <= 1000
and abs( k.BookCurrent - ( b.BalanceNow - b.BalanceAfter12 ) ) > 1000 then 'STALE'
when abs( k.BookCurrent - b.Gross12 ) <= 1000
and abs( k.BookCurrent - ( b.BalanceNow - b.BalanceAfter12 ) ) > 1000 then 'GROSS'
else 'OK'
end as CheckCode,
b.Currency
}
⑥ 소비 쿼리 — 화면이 읽는 뷰
서비스가 노출하는 뷰입니다. 화면의 조회조건과 서비스 필터가 같은 이름으로 이어지도록 필터 주석을 달고, 기본 정렬을 지정합니다. 점검 결과(정상·점검 필요)는 점검 코드에서 파생해 필터로 쓸 수 있게 둡니다.
" ─────────────────────────────────────────────
" ZC_LeaseCurQuery 화면이 읽는 소비 뷰
" 역할 : 조회조건 필터 · 기본 정렬 · 점검 결과 파생
" ─────────────────────────────────────────────
@AccessControl.authorizationCheck : #CHECK
@EndUserText.label : '리스부채 유동·비유동 구분 점검'
@Metadata.allowExtensions : true
@VDM.viewType : #CONSUMPTION
define view entity ZC_LeaseCurQuery
as projection on ZC_LeaseCurCube
{
@Consumption.filter : { selectionType : #SINGLE, mandatory : true }
key FiscalYear,
@Consumption.filter.selectionType : #INTERVAL
key FiscalPeriod,
@Consumption.filter.selectionType : #SINGLE
key LeaseContract,
LeaseLiability, CurrentRecalc, NonCurrentRecalc,
BookCurrent, DiffCurrent,
CheckCode,
case when CheckCode = 'OK' then 'OK' else 'CHECK' end as CheckStatus
}
⑦ 권한 — DCL
리스부채는 회사 단위 숫자라 회사코드 권한을 겁니다. 요약 수치가 전체 합계를 보여 주면 권한 밖 회사의 숫자가 합계 차이로 드러날 수 있으므로, 요약과 표가 같은 권한 정의를 거치게 합니다.
" ─────────────────────────────────────────────
" ZC_LeaseCurQuery DCL
" 역할 : 회사코드 권한 (회계 전표 조회 권한 객체와 연결)
" ─────────────────────────────────────────────
@EndUserText.label : '리스부채 점검 — 회사코드 권한'
@MappingRole : true
define role ZC_LeaseCurQuery {
grant select on ZC_LeaseCurQuery
where ( CompanyCode ) = aspect pfcg_auth( F_BKPF_BUK, BUKRS, ACTVT = '03' );
}
⑧ 서비스 정의와 바인딩
화면이 바라보는 OData V2 서비스를 게시합니다. 서비스 이름과 경로는 소문자로 통일하고, 엔티티 이름은 화면의 바인딩과 맞춥니다. 게시한 뒤에는 화면 설정 파일의 서비스 주소만 운영 서비스로 바꾸면 됩니다.
" ─────────────────────────────────────────────
" 서비스 정의와 바인딩
" ─────────────────────────────────────────────
@EndUserText.label : '리스부채 유동·비유동 구분 점검 — 서비스'
define service ZUI_LeaseCur {
expose ZC_LeaseCurQuery as ContractSet;
expose ZC_LeaseSchedQuery as SchedSet;
expose ZC_LeaseMonthQuery as MonthSet;
expose ZC_LeaseReconQuery as ReconSet;
}
" 서비스 바인딩 : 유형 OData V2 - UI, 이름 ZUI_LEASECUR_O2
" 게시 후 서비스 활성화 확인(게이트웨이 서비스 관리) → 화면 설정의 서비스 주소 교체
운영 시점에 해야 할 일
개발보다 정하는 일이 많습니다. 아래는 코딩이 아니라 합의입니다.
| 해야 할 일 | 무엇을 정하나 | 정하지 않으면 | 누가 |
|---|---|---|---|
| 리스부채 계정 매핑 | 유동·비유동 계정이 어느 G/L 계정인지, 자산 구분마다 다른지 | 장부 금액이 읽히지 않거나 다른 계정이 섞입니다 | 결산 · 회계 정책 |
| 계약 번호의 전표 연결 | 계약 번호를 전표의 어느 필드에 싣는지 | 장부 금액을 계약 단위로 나눌 수 없습니다 | 결산 · 개발 |
| 지급 일정 원천 | RE-FX 계약, 리스 대장, 외부 계산서 중 무엇이 원천인지 | 재계산의 근거가 달라집니다 | 재무보고팀 · 계약 관리 |
| 증분차입이자율 | 계약별 이율과 적용 시작일, 변경 시 처리 | 재계산 잔액 전체가 어긋납니다 | 재무보고팀 · 자금 |
| 재측정 반영 시점 | 리스기간 변경·리스료 변경 뒤 일정 갱신 시점 | 일정이 낡아 유동 재계산이 틀어집니다 | 재무보고팀 |
| 허용 폭 | 차이를 정상으로 볼 금액(샘플 1,000원) | 작은 차이에 점검 필요가 몰리거나 오류가 가려집니다 | 결산 |
| 권한 설계 | 회사코드 범위와 요약 수치의 권한 | 합계 차이로 다른 회사 숫자가 드러납니다 | 보안 · 권한 |
| 표준 화면 대사 | FS10N·F.01과 맞출 항목과 시점 | 두 화면 숫자가 다를 때 원인을 찾기 어렵습니다 | 결산 |
| 전송 순서 | 테이블 → 기본 뷰 → 큐브 → 쿼리 → DCL → 서비스 순으로 TR 구성 | 활성화 오류로 서비스가 열리지 않습니다 | Basis · 개발 |
| 서비스 활성화와 주소 교체 | 게이트웨이 서비스 관리 또는 바인딩 게시 후 화면 설정의 서비스 주소 교체 | 화면이 검증용 데이터를 그대로 읽습니다 | Basis · 개발 |
운영 데이터로 갈 때
리스 계약은 대개 수백에서 수천 건이고 지급 일정은 그 수십 배지만, 계약·월 큐브는 보고월을 필수 조건으로 두면 한 번에 읽는 양이 작습니다. 회계연도를 필수로 두어 전체 기간을 한 번에 읽지 않게 하고, 지급 일정은 계약·월을 지정했을 때만 펼쳐 읽습니다. 장부 금액은 저널 항목을 회사코드·원장·회계연도 순의 키로 읽어 먼저 집계한 뒤 계약 조건과 만납니다. 월마감 직후 한꺼번에 조회가 몰리면 큐브 결과를 월 단위로 저장해 두는 방법도 있습니다.
자주 묻는 질문
도입 상담과 데모에서 나온 질문 25개를 네 묶음으로 적었습니다.
판정과 해석
점검 필요가 나오면 회계처리가 틀린 것입니까?
아닙니다. 이 화면은 재계산과 대사를 돕는 점검 도구이고, 점검 필요는 그 계약·월을 다시 열어 보라는 신호입니다. 차이의 원인은 증분차입이자율, 지급 일정의 갱신 시점, 리스기간 판단 같은 계약 조건과 회계처리를 확인해야 알 수 있습니다. 최종 판단은 회사와 감사인이 합니다.
유동 재계산액은 어떻게 구합니까?
보고월 말 잔액 B(t)에서 12개월 뒤 잔액 B(t+12)를 뺍니다. 두 잔액은 남은 리스료를 월 할인율로 할인한 현재가치이며, 보고월 말 지급분은 이미 지급한 것으로 보고 뺍니다. 이 차이는 앞으로 12개월 안에 상환될 원금이라 이자가 섞이지 않습니다.
12개월 내 지급액과 유동 리스부채가 다른 이유가 무엇입니까?
12개월 내 지급액은 이자를 포함한 할인 전 합계이고, 유동 리스부채는 그중 원금만입니다. 1월 본사 사무실 임차는 지급액 100,800,000원에서 이자 13,046,475원을 빼 87,753,525원이 유동입니다. 장부 유동액이 지급액에 가까우면 GROSS로 표시합니다.
점검 코드 네 개는 무엇이 다릅니까?
GROSS는 이자가 포함된 금액이 유동에 올라간 경우, STALE은 장부 유동액이 전월 재계산액 그대로인 경우, SHORT는 잔여 12개월 이내인데 유동이 잔액보다 작은 경우, TOTAL은 유동과 비유동의 합이 잔액과 다른 경우입니다. 여러 조건에 걸리면 TOTAL → SHORT → STALE → GROSS 순으로 먼저 걸린 코드 하나만 붙입니다.
1,000원 허용 폭은 왜 필요합니까?
재계산은 월 할인율과 반올림이 들어가고 장부는 원 단위로 기록되므로 몇 원 단위 차이는 늘 생깁니다. 이 차이까지 점검 필요로 띄우면 진짜 오류가 묻힙니다. 샘플에서는 1,000원으로 두었고, 운영에서는 회사의 중요성 기준에 맞춰 정합니다.
점검 코드가 OK이면 장부가 맞다는 뜻입니까?
아닙니다. 이 화면이 확인한 범위(유동 재계산, 합계, 대표 오류 유형)에서 발견된 것이 없다는 뜻일 뿐입니다. 증분차입이자율의 적정성, 리스기간 판단, 연장·해지 선택권 같은 회계 판단은 화면 밖에서 확인해야 합니다.
금액과 산식
월 할인율은 어떻게 정합니까?
계약별 연 증분차입이자율에서 r = (1 + 연 이율)^(1/12) − 1로 구합니다. 연 이율을 12로 나누는 단순 방식이 아니라 복리 환산이라 12개월 뒤 원금과 이자의 합이 연 이율과 맞습니다. 이율 근거는 계약별로 확인해야 합니다.
분기납·연납 계약의 이자는 어떻게 계산합니까?
이자 = 기초 잔액 × ((1 + r)^(지급 사이 개월 수) − 1)로 구합니다. 분기납이면 지급 사이가 3개월, 연납이면 12개월이므로 한 번에 그만큼의 이자가 쌓인 뒤 리스료에서 먼저 충당되고 나머지가 원금 상환이 됩니다.
잔여 기간이 12개월 이내이면 유동액은 얼마입니까?
남은 지급이 모두 12개월 안이므로 B(t+12)는 0이고, 유동 재계산액은 잔액과 같아집니다. 비유동 재계산액은 0입니다. 그런데 장부에 비유동이 남아 있으면 SHORT로 표시합니다.
정합성 대사 다섯 개는 무엇을 검산합니까?
R01은 유동 + 비유동 = 잔액, R02는 계약별 합계 = 월별 합계, R03은 지급 일정의 원금 합계 = 유동 재계산액, R04는 지급액 − 이자 = 유동 재계산액, R05는 전월 잔액 × (1 + 월이자율) − 당월 지급 = 당월 잔액입니다. 이 샘플에서는 검사 71 · 6 · 71 · 71 · 59건 모두 차이가 없습니다.
정합성 대사와 의도적 예외는 무엇이 다릅니까?
정합성 대사는 화면 숫자끼리 맞는지를 보는 검산이라 차이가 0이어야 합니다. 의도적 예외(GROSS 4 · STALE 2 · SHORT 4 · TOTAL 1건)는 점검 화면의 동작을 보이려고 샘플에 일부러 넣은 오류 유형입니다. 둘을 섞으면 “대사가 틀렸다”와 “점검이 걸렸다”를 구분할 수 없어 따로 기록합니다.
유동 차이율은 어떻게 읽습니까?
차이 ÷ 유동 재계산액 × 100입니다. 6월 합계는 +7.14%이고, 계약 한 줄로는 물류센터 창고 임차 4월 +29.56%처럼 한 계약이 크게 벌어진 경우가 눈에 띕니다. 반대로 복합기·사무기기 리스는 장부 유동액이 재계산액의 절반이라 −50%로 나옵니다.
데이터와 연계
데이터는 어디서 가져옵니까?
장부 유동·비유동 금액은 표준 총계정원장(ACDOCA)의 리스부채 계정 잔액을 읽고, 계약 조건과 지급 일정은 리스 계약 원천에서 읽습니다. 계약 원천이 RE-FX 계약인지 별도 대장인지는 회사마다 달라 확인이 필요합니다.
표준 T-code와 어떤 관계입니까?
표준 실행은 SAP 표준 T-code가 담당하고 이 화면은 점검 관점을 더해 확장합니다. 계약 조건은 RECN, 계정 라인은 FAGLL03, 계정 잔액은 FS10N, 재무상태표는 F.01로 확인하고, 이 화면은 그 결과를 계약·월 단위로 나란히 놓습니다.
운영 서비스로 연결하는 절차와 시간은 어떻습니까?
화면 쪽은 설정 파일의 서비스 주소를 바꾸는 한 줄입니다. 서비스 쪽은 계정 매핑, 계약 원천 확인, 뷰 레이어 구성, 권한, 서비스 게시가 필요합니다. 기술 작업보다 계정 매핑과 계약 번호 연결을 합의하는 데 시간이 더 듭니다.
권한과 보안은 어떻게 처리합니까?
쿼리에 회사코드 권한을 겁니다. 요약 수치가 전체 합계를 보여 주면 권한 밖 회사의 숫자가 합계 차이로 드러날 수 있으므로, 요약과 표가 같은 권한을 거치게 합니다.
계약이 많으면 느려지지 않습니까?
계약·월 큐브는 보고월과 회계연도를 필수 조건으로 읽어 양이 작습니다. 지급 일정은 계약·월을 지정해 펼쳐 읽고, 장부 금액은 저널 항목을 키 순서대로 먼저 집계합니다. 월마감 직후 조회가 몰리면 월 단위 결과 저장을 검토합니다.
계정이나 이율이 바뀌면 어떻게 합니까?
계정은 매핑 테이블에 유효 시작일을 두고 바꾸고, 이율은 계약별 이율 이력으로 관리합니다. 화면과 서비스 코드는 고치지 않습니다. 이율이 바뀐 시점부터 일정을 다시 만들고 재측정 반영 시점을 합의해 둡니다.
범위와 도입
IFRS 16은 언제부터 적용합니까?
IFRS 16 리스(K-IFRS 제1116호)는 2019-01-01 이후 개시하는 회계연도부터 적용합니다. 유동·비유동 구분을 정하는 재무제표 표시 기준서의 세부 요구사항과 IFRS 18(2027-01-01 이후 개시 회계연도부터 적용) 이후의 위치는 원문을 확인한 뒤 판단해야 합니다.
이 화면이 유동·비유동 구분을 확정해 줍니까?
아닙니다. 계약 조건으로 다시 계산한 값과 장부 값을 견주는 점검 도구입니다. 연장·해지 선택권을 어떻게 볼지, 증분차입이자율을 어떻게 정했는지는 회사의 판단이며 화면이 대신하지 않습니다.
누가 쓰면 좋습니까?
결산 담당자와 리스 계약 관리 담당자가 같은 화면에서 같은 숫자로 이야기할 때 효과가 큽니다. 월마감 전에는 점검 필요 줄부터 훑고, 평소에는 새 계약이나 재측정이 생긴 달에 열어 구분이 따라왔는지 봅니다.
도입하면 무엇이 달라집니까?
계약 목록, 계산 엑셀, 총계정원장 잔액을 번갈아 열던 일이 표 한 장을 훑는 일로 줄어듭니다. 회의의 주제도 “유동 금액이 맞는가”에서 “왜 이 계약만 어긋났는가”로 옮겨 갑니다.
이 앱은 감사인의 판단을 대신합니까?
아닙니다. 점검 필요는 개별 확인 신호이고, 구분의 적정성과 회계처리의 최종 판단은 회사와 감사인이 합니다. 화면은 판단에 필요한 재계산 근거와 일정을 한곳에 모아 줍니다.
샘플 데이터는 실제 고객 자료입니까?
아닙니다. 가상의 리스 계약 12건으로 만든 검증용 샘플 데이터이며, 실제 고객사의 계약·계정과목·금액을 쓰지 않았습니다. 실제 데이터로 연결하면 같은 화면이 그 회사의 계약과 장부를 읽습니다.
검토용 자료는 어떻게 쓰면 됩니까?
왼쪽의 검토용 자료 다운로드를 누르면 이 글의 내용과 화면으로 만든 검토용 문서가 내려받아집니다. IT 부서가 경영지원팀장과 본부장에게 올리는 검토 자료의 틀이며, 마지막 장의 검토 의견은 빈칸으로 두었습니다.