SAP 재매입약정 회계처리 점검 — IFRS 15, 다시 사 오기로 한 자산이 매출인지 금융인지 리스인지 계약 조건부터 가려본다
재매입 조건별 회계모형 판정과 기대 금액, 원장 계상액을 한 화면에서 대사합니다
기계나 설비를 고객에게 팔면서 나중에 그 자산을 다시 사 오기로 약속하는 계약이 있습니다. 회사가 다시 사 올 의무가 있으면 선도, 권리가 있으면 콜옵션, 고객이 되팔 권리를 가지면 풋옵션이라고 부릅니다. IFRS 15 고객과의 계약에서 생기는 수익(K-IFRS 제1115호)의 재매입약정 요구사항은 이런 계약에서 재매입가격이 판매가격보다 낮은지 높은지, 풋옵션이라면 재매입 시점의 예상 시장가치와 고객이 옵션을 행사할 유의적인 경제적 유인이 있는지에 따라 금융약정, 리스, 반품권이 있는 판매 가운데 어느 쪽으로 처리할지를 다룹니다. 매출로 인식하기 전에 계약 조건부터 나누어 보라는 요구입니다.
실무에서는 재매입 조건이 계약서와 영업 담당자의 메모에 흩어져 있어, 일단 매출로 올려 두고 결산에서야 다시 살펴보는 일이 생깁니다. 계약마다 재매입 조건으로 회계모형을 먼저 가르고, 모형별 수익·부채·자산 기대 금액을 원장 계상액과 나란히 놓는 과정을 OpenUI5 화면으로 확장했습니다. 결산 전에 살펴볼 계약을 미리 가려 두는 준비 도구로 쓸 수 있고, 실제 구동 화면 6종을 함께 공개합니다.
| 항목 | 내용 |
|---|---|
| 업무 영역 | 재무회계(FI) · 수익 |
| 관련 기준서 | IFRS 15 고객과의 계약에서 생기는 수익(K-IFRS 제1115호) — 재매입약정(선도·콜옵션·풋옵션) |
| Namespace | zui5.repoagmt |
| 셸 구조 | 단일 페이지 + 5개 탭 |
| 화면 수 | 메인 1 · 상세 다이얼로그 1 |
| SAP 표준 T-code | VA03 · VF03 · FBL5N · FBL3N · AS03 |
| 데이터 연동 방식 | OData V2 (조회조건 전부 $filter) |
| 성격 | 조회·대사·점검형 |
| 테마 | sap_horizon · 한국어 |
| 요약 | 내용 |
|---|---|
| 점검 대상 | 계약별 재매입 유형·가격·시장가치·유인, 판정 모형과 계상 모형, 수익·부채·자산의 기대·원장 금액 |
| 핵심 산식 | 금융부채 = 판매가 × (재매입가 ÷ 판매가)^(경과월 ÷ 기간월) · 리스수익 누계 = (판매가 − 재매입가) × 경과월 ÷ 기간월 · 환불부채 = 재매입가 × 예상 행사율 · 차이 = 원장 − 기대 |
| 결과 표시 | 정상 / 점검 필요 / 확인 필요 |
실제 화면 6종 둘러보기






사용 방법
- 회계연도를 넣고, 회사와 재매입 유형은 필요할 때만 고릅니다. 비워 두면(전체) 전체가 조회됩니다.
- 조회 버튼은 조회조건 입력 필드 줄의 가장 오른쪽에 있습니다. 회계연도 입력란에서 Enter 키를 눌러도 같은 조회가 실행됩니다. 화면을 열면 기본 조건으로 자동 조회됩니다.
- 요약 줄에서 재매입약정 수, 점검·확인 필요 계약, 판정 보류 계약, 판정 완료 계약의 기대 부채·원장 부채 합계, 원장-기대 차이 절대값을 먼저 확인합니다.
- 탭을 옮겨 가며 계약별 회계모형 판정 → 기대값·원장 항목 대사 → 회계모형별 집계 → 결과구분별 집계 → 대사 순으로 좁혀 봅니다. 재매입 유형 조건은 앞의 두 탭에 적용됩니다.
- 계약별 회계모형 판정 탭에서 행을 누르면 재매입 조건과 판정 근거, 산출 과정, 원장 대사, 단계별 결과, 수익·부채·자산 항목이 상세 다이얼로그로 열립니다.
- 각 탭의 CSV 내려받기(UTF-8 BOM)로 결과를 저장할 수 있습니다.
재매입 조건으로 회계모형을 가르는 점검 규칙
계약마다 네 단계를 확인합니다. ① 재매입 조건이 확인되었는지, ② 재매입 유형과 가격 비교로 회계모형이 정해지는지, ③ 원장 계상 모형이 판정 모형과 같은지, ④ 수익·부채·자산 원장 금액이 기대 금액과 같은지입니다.
| 판정 조건 | 판정 모형 / 결과 상태 | 사용자 조치 |
|---|---|---|
| 선도·콜옵션 — 재매입가격이 최초 판매가격 이상 | 금융약정 | 계상 모형·금액이 다르면 원장을 확인합니다. |
| 선도·콜옵션 — 재매입가격이 최초 판매가격 미만 | 리스 | 리스 처리 여부와 원장 금액을 확인합니다. |
| 풋옵션 — 재매입가격이 판매가격 미만이고 유의적 경제적 유인 있음 | 리스 | 유인 판단 근거를 회사와 감사인이 확인합니다. |
| 풋옵션 — 재매입가격이 판매가격 미만이고 유인 없음 | 반품권이 있는 판매 | 예상 행사율 근거를 확인합니다. |
| 풋옵션 — 재매입가격이 판매가격 이상이고 예상 시장가치 초과 | 금융약정 | 시장가치 추정 근거를 확인합니다. |
| 풋옵션 — 재매입가격이 판매가격 이상, 예상 시장가치 이하, 유인 없음 | 반품권이 있는 판매 | 예상 행사율 근거를 확인합니다. |
| 재매입 조건이 부족하거나 판정 규칙표에 없는 조합 | 확인 필요 (판정 보류) | 부족한 조건을 채우거나 회사와 감사인이 확인합니다. |
| 판정 모형과 계상 모형이 다르거나 원장 금액이 기대 금액과 다름 | 점검 필요 | 전표와 누락된 이자·리스수익·환불부채 계상 여부를 확인합니다. |
| 모형과 금액이 모두 일치 | 정상 | - |
판정 결과는 확인 대상을 알리는 표시이며 기준서 충족 여부를 단정하지 않습니다. 재매입가격과 판매가격을 비교할 때 화폐의 시간가치를 고려해야 하는지는 이 화면이 명목 금액으로 비교하므로 회사와 감사인의 판단이 필요합니다 — 확인 필요.
판정에서 집계 재대사까지 6단계
- 회계모형 판정 — 재매입 유형, 재매입가격과 판매가격의 비교, 예상 시장가치, 유인으로
금융약정 / 리스 / 반품권이 있는 판매 / 판정 보류중 하나를 정합니다. - 금융약정 —
금융부채 = 판매가 × (재매입가 ÷ 판매가)^(경과월 ÷ 기간월), 수익은 인식하지 않고 자산은 제거하지 않습니다. (천원 미만 반올림, 유효이자율법 근사) - 리스 —
리스수익 누계 = (판매가 − 재매입가) × 경과월 ÷ 기간월,이연 잔액 = 판매가 − 리스수익 누계, 자산은 제거하지 않습니다. (정액 근사, 감가상각은 별도 점검) - 반품권이 있는 판매 —
환불부채 = 재매입가 × 예상 행사율,수익 = 판매가 − 환불부채,회수권 = 장부원가 × 예상 행사율 - 원장 대사 —
원장 − 기대 = 차이를 수익·부채·자산마다 구하고 계상 모형이 판정 모형과 같은지 함께 봅니다. - 집계 재대사 —
모형별·결과구분별 집계 = Σ 계약
금액 단위는 천원입니다. 예상 시장가치·예상 행사율·유의적 경제적 유인은 회사가 제공하는 가정값이며, 최종 판단은 회사와 감사인이 합니다.
조회조건
| 조회조건 | 필수 | 설명 |
|---|---|---|
| 회계연도 | 필수 | 기본 2026 |
| 회사 | 선택 | 전체 선택 시 조건 없이 조회 |
| 재매입 유형 | 선택 | 선도 · 콜옵션 · 풋옵션, 전체 선택 시 조건 없이 조회 |
| 점검 결과 | 선택 | 계약별 회계모형 판정 탭 — 전체 / 정상 / 점검 필요 / 확인 필요 |
결과 컬럼
| 영역 | 내용 |
|---|---|
| 요약 | 재매입약정 수 · 점검·확인 필요 계약 · 판정 보류 계약 · 기대 부채 합계 · 원장 부채 합계 · 원장-기대 차이 절대값 |
| 계약별 회계모형 판정 | 계약 · 고객 · 재매입 유형 · 기간 · 판매가격·재매입가격·예상 시장가치·유인·예상 행사율 · 판정 모형·계상 모형 · 수익·부채·자산 기대·원장·차이 · ①~④ 단계 · 판정 근거·설명 |
| 기대값·원장 항목 대사 | 구분(수익·부채·자산) · 항목 · 기대 금액 · 원장 금액 · 차이 · 산출 근거 |
| 회계모형별 집계 | 판정 모형 · 계약 수 · 판매가격 · 기대·원장 금액 · 차이 절대값 |
| 결과구분별 집계 | 점검 결과 · 계약 수 · 판매가격 · 기대·원장 부채 · 차이 절대값 |
| 대사 | 대사식 · 산식 · 검사 건수 · 차이 건수 · 최대 차이 금액 · 의도적 예외 건수 |
SAP 표준 기능 매핑
- 원장 — 매출·금융부채·이연수익·환불부채·자산 계정 금액(
ACDOCA), 판매 오더(VBAK·VBAP), 청구 문서(VBRK·VBRP), 전표 헤더(BKPF)를 사용해 계약·회사 값을 집계 - 표준 화면 — 판매 오더(VA03) · 청구 문서(VF03) · 고객 개별 항목(FBL5N) · G/L 개별 항목(FBL3N) · 자산 조회(AS03)
| T-code | 이름 | 쓰임 |
|---|---|---|
VA03 | 판매 오더 조회 | 재매입 조건이 붙은 판매 계약의 최초 판매가격을 확인합니다 |
VF03 | 청구 문서 조회 | 청구 금액과 수취 대가를 맞춰 봅니다 |
FBL5N | 고객 개별 항목 | 대금 수취와 정산 내역을 확인합니다 |
FBL3N | G/L 계정 개별 항목 | 매출·금융부채·이연수익·환불부채 계정의 원장 계상액을 건별로 확인합니다 |
AS03 | 자산 조회 | 자산을 계속 인식하는 계약의 장부금액을 확인합니다 |
| 기준서 | 요구사항 | 화면 반영 |
|---|---|---|
| IFRS 15 고객과의 계약에서 생기는 수익(K-IFRS 제1115호) | 재매입약정 — 선도·콜옵션에서 재매입가격이 판매가격보다 낮으면 리스, 이상이면 금융약정 | 판정 규칙표 · 점검 단계 ①② |
| IFRS 15 고객과의 계약에서 생기는 수익(K-IFRS 제1115호) | 재매입약정 — 풋옵션에서 재매입가격·예상 시장가치·고객의 유의적 경제적 유인으로 금융약정·리스·반품권이 있는 판매를 가름 | 판정 규칙표 · 시장가치·유인 컬럼 |
| IFRS 15 고객과의 계약에서 생기는 수익(K-IFRS 제1115호) | 금융약정은 자산을 계속 인식하고 받은 대가를 금융부채로 인식, 판매가격과 재매입가격의 차이는 이자로 인식 | 금융부채 산식 · 점검 단계 ④ |
| IFRS 15 고객과의 계약에서 생기는 수익(K-IFRS 제1115호) | 반품권이 있는 판매는 환불부채와 반환제품회수권을 인식 | 반품권 판매 산식 · 회계모형별 집계 |
참고 CDS 뷰
define view entity ZI_RepoAgmtLedger
as select from acdoca
{
key rbukrs as CompanyCode,
key gjahr as FiscalYear,
key racct as GlAccount,
sum( hsl ) as LedgerAmount
}
group by rbukrs, gjahr, racctOpenUI5 구성
| 구성 | 내용 |
|---|---|
| 업무 영역 | 재무회계(FI) · 수익 |
| 화면 구성 | 조회조건 영역(우측 조회) + 요약 줄 + 계약별 회계모형 판정·기대값·원장 항목 대사·회계모형별 집계·결과구분별 집계·대사 5개 탭, 상세 Dialog |
| 데이터 모델 | OData V2 모델을 앱 설정(manifest)에서 선언하고, 표마다 해당 엔티티셋에 직접 바인딩 |
| 조회조건 처리 | 필터 객체로 만들어 서버 조회 조건($filter)으로 전달하며 "전체"는 조건을 만들지 않음 |
| 집계 | 요약 값은 컨트롤러 한 곳에서 계산하고 금액 문자열은 숫자로 변환해 합산 |
| 실패 안내 | 서비스 연결 실패와 요청 실패, 빈 응답을 구분해 사용자 메시지로 안내 |
| 테마 | sap_horizon · 한국어 |
파일 구성
| 구분 | 내용 |
|---|---|
| 앱 본체 | index.html · manifest.json · Component.js · controller · view · model · i18n · css |
| 데이터 서비스 | OData 서비스 정의와 엔티티셋별 데이터 |
| 검증 전용 | 앱 본체와 분리된 검증용 샘플 데이터 구성 |
| 설명서 | readme.html (13개 절) |
검증 결과
화면 구성에 쓴 검증용 샘플 데이터는 가상 회사 2곳의 재매입약정 22건(금융약정 10·리스 6·반품권이 있는 판매 3·판정 보류 3), 수익·부채·자산 항목 66줄을 기준으로 기대 금액과 원장이 천원 단위로 맞물리도록 구성했습니다.
| 대사식 | 검사 | 결과 | 의도적 예외 |
|---|---|---|---|
| 판정 규칙 재수행 — 재매입 조건으로 재산출한 모형 = 화면 모형 | 22 | 일치 | 3 |
| 금융부채 = 판매가 × (재매입가 ÷ 판매가)^(경과 ÷ 기간) | 10 | 일치 | 0 |
| 경과 = 기간일 때 금융부채 = 재매입가, 이자 누적 ≥ 0 | 10 | 일치 | 0 |
| 리스수익 누계 + 이연 잔액 = 최초 수취 대가 | 6 | 일치 | 0 |
| 매출 + 환불부채 = 최초 수취 대가, 매출원가 + 회수권 = 장부원가 | 3 | 일치 | 0 |
| 원장 − 기대 = 차이 (수익·부채·자산) | 19 | 차이 0건, 의도적 예외 7건 분리 기록 | 7 |
| 모형별·결과구분별 집계 = Σ 계약 | 14 | 일치 | 0 |
계상 모형 불일치 4건(매출 처리 3건, 리스 처리 1건), 모형은 같으나 금액이 다른 3건, 재매입 조건 부족으로 판정 보류 3건은 점검 화면의 동작을 보이기 위해 의도적으로 구성한 케이스입니다. 화면 요약의 판정 완료 계약 기대 부채 합계 21,038,603, 원장 부채 합계 18,977,732, 원장-기대 차이 절대값 6,287,371은 검증 스크립트 합계와 같습니다.
자주 묻는 질문
이 화면의 판정이 곧 기준서 충족 여부인가요?
아닙니다. 이 화면은 재매입 조건으로 회계모형을 가려 보고 기대 금액을 원장과 맞춰 보며 살펴볼 계약을 가려내는 점검 도구입니다. 회계모형의 최종 판단과 금액은 기준서 원문과 회사의 회계정책에 따라 회사와 감사인이 합니다.
적용 시기와 범위는 어떻게 되나요?
이 화면은 IFRS 15 고객과의 계약에서 생기는 수익(K-IFRS 제1115호) 가운데 재매입약정, 곧 선도·콜옵션·풋옵션이 붙은 판매 계약의 회계모형 판정 요구사항명을 대상으로 합니다. 판매후리스는 별도 점검 대상이라 범위에서 뺐고, 시행일과 경과규정, 문단번호는 원문으로 확인하지 못해 확인 필요로 남겼습니다.
예상 시장가치와 유의적 경제적 유인은 어디에서 오나요?
화면은 회사가 계약별로 제공하는 재매입 시점 예상 시장가치와 고객의 유의적 경제적 유인 여부를 입력으로 받습니다. 값이 없으면 회계모형을 정하지 않고 판정 보류로 표시하며, 두 값은 회사의 가정이므로 근거는 회사가 확인합니다.
점검 필요와 확인 필요는 무엇이 다른가요?
점검 필요는 계상 모형이 판정 모형과 다르거나 원장 금액이 기대 금액과 다른 계약처럼 원장을 다시 살펴볼 계약이고, 확인 필요는 재매입 조건이 부족하거나 판정 규칙표에 없는 조합이라 회계모형 자체를 먼저 확인해야 하는 계약입니다. 두 표기 모두 원인을 단정하지 않고 살펴볼 후보를 뜻합니다.
재매입 조건이 붙은 계약, 결산 전에 회계모형부터 나눠 보세요
계약서에 흩어진 재매입 조건을 표 계산으로 다시 나누는 대신, 화면에서 회계모형과 기대 금액을 미리 원장과 대사해 두면 결산과 감사 대응이 한결 가벼워집니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.