SAP 변동대가 추정·제약 점검 — IFRS 15, 리베이트·보너스를 얼마까지 수익에 넣었는지 시나리오와 원장으로 맞춰본다
기댓값 또는 가능성이 가장 높은 금액으로 추정한 변동대가에 제약을 적용한 금액이 원장 인식액과 맞는지, 기말 재평가까지 건마다 맞춰 봅니다
고객에게 수량 리베이트를 주기로 했거나 목표를 달성하면 성과 보너스를 받기로 한 계약, 납기가 늦으면 배상금을 내야 하는 계약에서는 거래가격이 계약 시점에 확정되지 않습니다. IFRS 15 고객과의 계약에서 생기는 수익(K-IFRS 제1115호)은 이런 변동대가를 기댓값 또는 가능성이 가장 높은 금액 중 받을 금액을 더 잘 예측하는 방법으로 추정하도록 하고, 추정한 금액은 이미 인식한 누적 수익이 나중에 유의적으로 환원되지 않을 가능성이 매우 높은 정도까지만 거래가격에 포함하도록 합니다(변동대가 추정치의 제약). 보고기간말마다 추정을 다시 살펴보는 것도 요구사항의 일부입니다. 표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 조회·검증 관점을 더해 확장합니다.
실무에서는 시나리오 확률을 다 더해도 100%가 되지 않거나, 제약을 적용하지 않은 기댓값 그대로 원장에 인식하거나, 분기말 재평가가 빠지는 일이 생깁니다. 항목마다 제약 전 추정액과 제약 후 금액을 산출해 원장 인식액과 견주고 차이가 나는 건을 가려내는 과정을 OpenUI5 화면으로 확장했습니다. 실제 구동 화면 6종을 함께 공개합니다.
| 항목 | 내용 |
|---|---|
| 업무 영역 | 재무회계(FI) — 수익 인식 |
| 관련 기준서 | IFRS 15 고객과의 계약에서 생기는 수익(K-IFRS 제1115호) — 변동대가 추정과 제약 |
| Namespace | zui5.varcons |
| 셸 구조 | 단일 페이지 + 6개 탭 |
| 화면 수 | 메인 1 · 상세 다이얼로그 1 |
| SAP 표준 T-code | VBO3 · FBL5N · FAGLL03 |
| 데이터 연동 방식 | OData V2 (조회조건 전부 $filter) |
| 성격 | 조회·대사·점검형 |
| 테마 | sap_horizon · 한국어 |
| 요약 | 내용 |
|---|---|
| 점검 대상 | 변동대가 유형(수량 리베이트·성과 보너스·지연 배상금·가격 보호)별 추정 방법·시나리오·제약 지표·제약 후 금액·인식액·기말 재평가 |
| 핵심 산식 | 제약 후 = min(제약 전 추정액, 이상 확률 90% 이상인 가장 큰 금액) · 거래가격 = 고정대가 + 제약 후 변동대가 · 차이 = 제약 후 − 인식액 |
| 결과 표시 | 정상 / 점검 필요 / 확인 필요 |
실제 화면 6종 둘러보기






사용 방법
- 회계연도를 넣고, 변동대가 유형·추정 방법·점검 결과는 필요할 때만 고릅니다. 비워 두면(전체) 조건 없이 조회됩니다.
- 조회 버튼은 조회조건 입력 필드 줄의 가장 오른쪽에 있습니다. 항목 ID·계약번호 입력란에서 Enter 키를 눌러도 같은 조회가 실행됩니다. 화면을 열면 기본 조건(회계연도 2026)으로 자동 조회됩니다.
- 요약 줄에서 항목 수, 제약 전 추정액, 제약 차감액, 제약 후 금액, 인식액, 차이, 점검·확인 필요 건수를 먼저 확인합니다.
- 탭을 항목 명세 → 시나리오 → 제약 지표 → 기말 재평가 → 유형별 집계 → 대사 결과 순으로 옮겨 가며 좁혀 봅니다.
- 항목 명세에서 점검 결과를 골라 건을 좁히고 행을 누르면 시나리오별 확률·금액과 제약 지표가 상세 다이얼로그로 열립니다.
- 각 탭의 CSV 내려받기(UTF-8 BOM)로 결과를 저장할 수 있습니다.
시나리오로 제약 후 금액을 가르는 네 가지 판정
항목마다 인식액과 제약 후 금액의 차이, 제약 지표, 기말 재평가 기록 순으로 판정합니다. 앞 조건에 걸리면 그 결과를 표시합니다.
| 판정 조건 | 결과 상태 | 사용자 조치 |
|---|---|---|
| 인식액이 제약 후 금액보다 큼 | 점검 필요 | 제약 적용 여부와 인식 시점의 추정 자료 확인 |
| 인식액이 제약 후 금액보다 작음 | 확인 필요 | 제약 후 금액이 원장에 반영됐는지 확인 |
| 제약 지표 3개 이상 해당인데 제약 차감액이 0 | 점검 필요 | 지표 검토 근거와 시나리오 추정의 일관성 확인 |
| 보고기간말 추정 재평가 기록 없음 | 확인 필요 | 기말 재평가 수행 여부와 기록 위치 확인 |
| 위 조건에 모두 해당하지 않음 | 정상 | - |
판정 결과는 확인 대상을 알리는 표시이며, 최종 판단은 회사와 감사인이 합니다.
제약 전 추정액에서 기말 재평가까지 산출 순서
- 제약 전 추정액 — 기댓값 방법:
Σ(확률 × 금액), 가능성이 가장 높은 금액 방법: 확률이 가장 큰 시나리오의 금액 (시나리오 확률 합계 100%) - 제약 기준 금액 —
해당 금액 이상이 될 확률(이상 확률) ≥ 임계 확률인 가장 큰 금액. 임계 확률 90%는 점검용 가정 - 제약 후 금액 —
min(제약 전 추정액, 제약 기준 금액), 제약 차감액 =제약 전 − 제약 후 - 거래가격 —
고정대가 + 제약 후 변동대가 - 대사 —
제약 후 − 인식액 = 차이, 항목 합계 = 유형별 = 전체 합계 - 기말 재평가 —
기초 추정 + 추정 변동 = 기말 추정, 마지막 기말 추정 = 제약 후 금액
금액 단위는 원입니다.
조회조건
| 조회조건 | 필수 | 설명 |
|---|---|---|
| 회사코드 | 필수 | 기본 1000 |
| 회계연도 | 필수 | 기본 2026 |
| 변동대가 유형 | 선택 | 수량 리베이트 · 성과 보너스 · 지연 배상금 · 가격 보호, 전체 선택 시 조건 없이 조회 |
| 추정 방법 | 선택 | 기댓값 · 가능성이 가장 높은 금액, 전체 선택 시 조건 없이 조회 |
| 점검 결과 | 선택 | 전체 / 정상 / 점검 필요 / 확인 필요 |
| 항목 ID · 계약번호 | 선택 | 입력한 값과 같은 건만 조회 |
결과 컬럼
| 영역 | 내용 |
|---|---|
| 요약 | 항목 수 · 제약 전 추정액 · 제약 차감액 · 제약 후 금액 · 인식액 · 차이 · 점검 필요·확인 필요 건수 |
| 항목 명세 | 항목 ID · 계약번호 · 고객 · 점검 결과 · 유형 · 추정 방법 · 고정대가 · 제약 전 추정액 · 제약 차감액 · 제약 후 금액 · 거래가격 · 인식액 · 차이 · 제약 지표 해당 수 · 기말 재평가 · 사유 |
| 시나리오 | 항목 ID · 시나리오 · 확률 · 금액 · 확률×금액 · 이상 확률 · 제약 기준 |
| 제약 지표 | 항목 ID · 지표 · 해당 여부 · 비고 |
| 기말 재평가 | 항목 ID · 기간 · 기초 추정 · 추정 변동 · 기말 추정 |
| 유형별 집계 · 대사 결과 | 건수 · 금액 합계 · 결과별 건수 · 대사식 · 검사 건수 · 차이 건수 · 최대 차이 금액 |
SAP 표준 기능 매핑
- 수익·판매 문서 — 판매 문서(VBAK·VBAP), 청구 문서(VBRK·VBRP), 리베이트 계약(KONA)과 유니버설 저널(ACDOCA)을 사용해 집계
| T-code | 이름 | 쓰임 |
|---|---|---|
VBO3 | 리베이트 계약 조회 | 수량 리베이트 항목의 계약 조건을 확인합니다 |
FBL5N | 고객 개별 항목 조회 | 고객별 청구·정산 전표와 인식액을 대조합니다 |
FAGLL03 | G/L 계정 개별 항목 조회 | 변동대가 관련 계정의 인식액을 확인합니다 |
| 기준서 | 요구사항 | 화면 반영 |
|---|---|---|
| IFRS 15 고객과의 계약에서 생기는 수익(K-IFRS 제1115호) | 변동대가 추정 — 기댓값 또는 가능성이 가장 높은 금액 | 항목 명세 · 시나리오 탭, 제약 전 추정액 |
| IFRS 15 (K-IFRS 제1115호) | 변동대가 추정치의 제약 | 제약 기준 금액, 제약 후 금액, 제약 차감액 |
| IFRS 15 (K-IFRS 제1115호) | 제약 판단 시 고려 요소 | 제약 지표 탭 5종 |
| IFRS 15 (K-IFRS 제1115호) | 보고기간말 추정 재평가 | 기말 재평가 탭, 대사식 6 |
참고 CDS 뷰
define view entity ZI_VarConsItem
as select from acdoca as g
inner join vbak on vbak.vbeln = g.awref
{
key g.rbukrs as CompanyCode,
key g.ryear as FiscalYear,
key vbak.vbeln as ContractNo,
vbak.kunnr as Customer,
vbak.guebg as StartDate,
sum( g.hsl ) as Recognized
}
group by g.rbukrs, g.ryear, vbak.vbeln, vbak.kunnr, vbak.guebg
// 시나리오·확률·제약 지표·분기말 추정 이력은 회사가 관리하는 추정 자료로 표준 테이블에 없어 확인 필요뷰 이름과 조건은 스케치이며, 변동대가 인식 계정과 계약의 연결 기준은 회사별로 달라 확인 필요로 남겼습니다.
OpenUI5 구성
| 구성 | 내용 |
|---|---|
| 업무 영역 | 재무회계(FI) · 수익 인식 |
| 화면 구성 | 조회조건 영역(우측 조회) + 요약 줄 + 항목 명세·시나리오·제약 지표·기말 재평가·유형별 집계·대사 결과 6개 탭, 상세 Dialog |
| 데이터 모델 | OData V2 모델을 앱 설정(manifest)에서 선언하고, 표마다 해당 엔티티셋에 직접 바인딩 |
| 조회조건 처리 | 필터 객체로 만들어 서버 조회 조건($filter)으로 전달하며 "전체"는 조건을 만들지 않음 |
| 정렬·페이징 | 정렬 객체로 서버 정렬($orderby), 목록 범위 읽기로 페이징($top·$skip), 총건수는 인라인 건수 |
| 집계 | 요약 값은 서비스 집계 엔티티셋에서 읽고, 금액 문자열은 숫자로 변환해 표시·비교 |
| 실패 안내 | 서비스 연결 실패와 요청 실패, 빈 응답을 구분해 사용자 메시지로 안내 |
| 테마 | sap_horizon · 한국어 |
파일 구성
| 구분 | 내용 |
|---|---|
| 앱 본체 | index.html · manifest.json · Component.js · controller · view · model · i18n · css |
| 데이터 서비스 | OData 서비스 정의와 엔티티셋별 데이터 |
| 검증 전용 | 앱 본체와 분리된 검증용 샘플 데이터 구성 |
| 설명서 | readme.html (13개 절) |
검증 결과
화면 구성에 쓴 검증용 샘플 데이터는 가상 고객 72건의 변동대가 항목을 기준으로 원 단위로 맞물리도록 구성했습니다.
| 대사식 | 검사 | 결과 | 의도적 예외 |
|---|---|---|---|
| 시나리오 확률 합계 = 100% | 72 | 일치 | 0 |
| 제약 전 추정액 = 기댓값 Σ(확률×금액) 또는 확률 최대 시나리오 금액 | 72 | 일치 | 0 |
| 제약 전 − 제약 차감 = 제약 후 | 72 | 일치 | 0 |
| 제약 후 = min(제약 전, 이상 확률 90% 이상인 가장 큰 금액) 재계산 | 72 | 일치 | 0 |
| 고정대가 + 제약 후 변동대가 = 거래가격 | 72 | 일치 | 0 |
| 제약 후 − 인식액 = 차이 | 72 | 일치 | 0 |
| 기초 + 변동 = 기말 추정, 기말 추정 = 제약 후 | 69 | 일치 | 0 |
| 항목 합계 = 유형별 합계 = 전체 합계 | 10 | 일치 | 0 |
점검 필요 13건과 확인 필요 8건(모두 21건)은 점검 화면의 동작을 보이기 위해 의도적으로 구성한 케이스이며 대사 차이와 분리해 기록했습니다. 판정 분포는 정상 51건 · 점검 필요 13건 · 확인 필요 8건입니다. 기댓값과 제약 후 금액은 시나리오 자료에서 다시 계산해 전수 비교했고 차이는 0건이었으며, 집계 탭 합계도 항목 합계와 일치했습니다.
자주 묻는 질문
이 화면의 “점검 필요”는 회계처리가 틀렸다는 뜻인가요?
아닙니다. 이 화면은 원장 인식액이 시나리오로 산출한 제약 후 금액과 다른 건을 가려내는 점검 도구입니다. 차이의 원인과 최종 회계 판단은 기준서 원문과 회사의 회계정책에 따라 회사와 감사인이 합니다.
적용 시기와 범위는 어떻게 되나요?
IFRS 15 고객과의 계약에서 생기는 수익(K-IFRS 제1115호)은 이미 적용 중인 기준서이며, 이 화면은 그 가운데 변동대가의 추정 방법·제약·보고기간말 재평가만 다룹니다. 환불부채 표시와 주석 공시, 문단번호와 경과규정은 원문으로 확인하지 못해 확인 필요로 남겼습니다.
제약 기준 금액의 임계 확률 90%는 기준서 수치인가요?
아닙니다. 제약 기준 금액을 계산해 보기 위한 점검용 가정입니다. 회사가 정한 판단 기준과 다르면 결과가 달라질 수 있으므로 최종 판단은 회사와 감사인이 합니다.
시나리오·확률 자료는 SAP 어디에서 가져오나요?
표준 테이블에 있는 자료가 아니라 회사가 관리하는 추정 자료입니다. 확인 필요 항목으로 남겼으며, 그 자료를 서비스의 시나리오 엔티티셋으로 제공하면 같은 화면이 그대로 동작합니다.
결산 직전, 리베이트·보너스의 제약 후 금액과 원장 인식액을 미리 맞춰 두세요
변동대가가 많은 회사는 감사 시기에 계약마다 시나리오와 제약 판단을 엑셀로 다시 정리하게 됩니다. 화면에서 제약 후 금액과 원장 인식액이 다른 건을 미리 가려 두면 결산과 감사 대응이 한결 가벼워집니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.