솔루션 홈
IFRS 15

SAP 고객충성제도 포인트 점검 — IFRS 15, 적립해 준 포인트만큼은 아직 번 돈이 아니다

판매와 함께 적립해 준 포인트에 거래가격을 나눠 계약부채로 두었는지, 사용·소멸에 맞춰 수익으로 옮겼는지 청구·포인트 원장·원장 데이터로 먼저 확인해 둡니다

물건을 사면 결제 금액의 일정 비율을 포인트로 적립해 주는 멤버십은 흔합니다. IFRS 15 고객과의 계약에서 생기는 수익(K-IFRS 제1115호)은 이 포인트를 고객에게 중요한 권리를 주는 선택권, 곧 별도 수행의무로 봅니다. 판매 대가를 제품과 포인트의 개별판매가격 비율로 나눠 포인트 몫은 계약부채로 남기고, 고객이 포인트를 쓰거나 포인트가 소멸할 때 수익으로 옮깁니다.

포인트를 비용·충당부채로 처리하거나, 사용률을 반영하지 않거나, 소멸된 포인트의 이연수익을 남겨 두는 일이 생깁니다. 표준 청구·원장 구조와 포인트 원장을 이어받아 적립 건마다 기준 배분과 이연수익을 계산해 장부와 나란히 놓고, 이런 건을 가려내는 과정을 OpenUI5 화면으로 확장했습니다. 실제 구동 화면 6종을 함께 공개합니다.

SAP 표준 기능을 그대로 이어받은 부분

  • 청구 — 청구 문서(VBRK/VBRP)의 매출 금액과 채널을 그대로 사용
  • 원장 — 통합 원장(ACDOCA)의 포인트 계약부채·수익 계정 금액을 그대로 사용
  • 표준 화면 — 청구 조회(VF03) · 수익성 보고서(KE30) · G/L 잔액(FS10N) · G/L 개별항목(FAGLL03)
항목내용
업무 영역재무회계(FI) · 수익 인식
관련 기준서IFRS 15 고객과의 계약에서 생기는 수익(K-IFRS 제1115호) — 고객에게 중요한 권리를 주는 선택권(고객충성제도 포인트)을 별도 수행의무로 보고 상대적 개별판매가격으로 거래가격 배분, 권리 행사·소멸 시 수익 인식
Namespacezui5.loyalty
셸 구조조회조건 영역(우측 조회) + 포인트 이연수익 대사 요약 + 포인트 적립 명세·채널별·등급별·적립월별·점검 예외 5개 탭, 상세 Dialog
화면 수조회 화면 1개 + 상세 다이얼로그
SAP 표준 T-codeVF03 · KE30 · FS10N · FAGLL03(§7 참고)
데이터 연동 방식OData V2 — 화면 블록마다 엔티티셋에 직접 바인딩
성격조회·대사·점검형 — 포인트 배분·수익 인식 전표 기표는 화면 밖 프로세스
UI 테마sap_horizon 단일 적용

실제 화면 6종 둘러보기

회사코드·회계연도를 넣고 조회하면 포인트 이연수익 대사 요약과 명세가 한 화면에 뜹니다 → 탭을 옮겨 채널별·등급별·적립월별 집계를 보고 → 점검 예외에서 확인이 필요한 건만 추려 봅니다.

아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.

Main.view.xml
포인트 적립 명세 화면 — 조회조건과 이연수익 대사 요약
메인화면 — 2026 회계연도 전체 조회 결과. 12건의 적립에 대해 포인트 배분액과 기준·장부 제품 수익, 계약부채가 한 화면에 뜹니다. 조회 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
조회조건 — Enter 키 조회
적립월 조건으로 좁힌 조회 결과
조건 조회 — 적립월을 입력하고 Enter 키만 눌러도 즉시 재조회됩니다. 사용률을 반영하지 않아 포인트에 과다 배분한 건이 바로 드러납니다.
채널별 집계
채널별 집계
채널별 집계 — 온라인몰에서 기준 계약부채와 장부 계약부채가 크게 벌어진 것이 한 줄로 보입니다.
등급별 집계
등급별 집계
등급별 집계 — 적립률이 높은 VIP 회원일수록 포인트 배분액이 커집니다.
점검 예외
점검 예외 목록
점검 예외 — 확인이 필요한 건만 유형별로 모아 보여줍니다.
상세 내역
상세 내역 다이얼로그
상세 내역 — 행을 클릭하면 포인트 개별판매가격, 배분액, 누적 사용 포인트와 기준·장부 금액이 항목별로 펼쳐집니다.

조작 방법

  1. 회사코드와 회계연도를 넣습니다. 적립 채널·적립월·판정 상태는 비워 두면 전체가 조회됩니다.
  2. 조회 버튼은 조회조건 입력 필드 줄의 가장 오른쪽에 있습니다. 입력 필드에서 Enter 키를 눌러도 같은 조회가 실행됩니다.
  3. 포인트 이연수익 대사 요약에서 포인트 배분액, 기준·장부 제품 수익과 계약부채, 배분·이연 차이를 먼저 확인합니다.
  4. 탭을 옮겨 가며 포인트 적립 명세 → 채널별 → 등급별 → 적립월별 → 점검 예외 순으로 좁혀 봅니다.
  5. 행을 누르면 포인트 개별판매가격·배분액·누적 사용과 기준·장부 금액이 상세 다이얼로그로 열립니다.
  6. 포인트 적립 명세와 점검 예외 탭에서는 CSV 내려받기(UTF-8 BOM)로 결과를 저장할 수 있습니다.

포인트 몫은 부채로 — 배분·이연 규칙

판매 대가를 제품과 포인트로 나누고, 포인트 몫은 쓰이거나 소멸할 때까지 계약부채로 남깁니다.

판정 조건결과 상태사용자 조치
포인트 개별판매가격사용률 반영적립 포인트 × 1원 × 예상 사용률로 계산합니다.
거래가격 배분상대적 개별판매가격매출을 제품과 포인트의 개별판매가격 비율로 나눕니다.
포인트 사용·소멸수익 인식사용분은 사용 비율만큼, 소멸분은 남은 전액을 수익으로 옮깁니다.
매출 전액을 제품 수익으로 인식점검 필요포인트 몫을 계약부채로 나눴는지 확인합니다.
포인트 개별판매가격에 사용률 미반영점검 필요쓰이지 않을 포인트를 뺐는지 확인합니다.
소멸 포인트의 계약부채가 남음점검 필요소멸 시점 수익 인식을 확인합니다.
예상 사용률과 최근 실적 차이 10%p 이상확인 필요배분 추정을 다시 검토합니다.

이 화면이 대신 정하지 않는 것

판정 결과는 확인 대상을 알리는 표시이며, 기준서 충족 여부를 단정하지 않습니다. 포인트가 중요한 권리인지, 예상 사용률을 어떻게 추정할지는 회사가 판단합니다. 화면은 1포인트 = 1원, 제품의 개별판매가격 = 매출액을 가정한 참고 계산이며, 10%p 기준은 확인 대상을 고르는 참고값입니다. 최종 판단은 기준서 원문에 따라 회사와 감사인이 합니다.

배분에서 이연수익 대사까지 5단계 산출

단계내용
1단계포인트 개별판매가격을 정한다 — 포인트 SSP = 적립 포인트 × 1원 × 예상 사용률
2단계거래가격을 배분한다 — 포인트 배분액 = 매출 × 포인트 SSP ÷ (매출 + 포인트 SSP)
3단계제품 수익을 정한다 — 제품 수익 = 매출 − 포인트 배분액
4단계포인트 수익을 계산한다 — 포인트 수익 = 배분액 × 누적 사용 ÷ 예상 사용 (소멸 시 전액)
5단계계약부채를 정하고 장부와 대사한다 — 계약부채 = 배분액 − 포인트 수익 / 차이 = 장부 − 기준

조회조건

필드필수설명
회사코드필수대사 요약 단건 조회의 키로도 씁니다.
회계연도필수대사 요약 단건 조회의 키로도 씁니다.
적립 채널선택전체 / 모바일 앱 / 오프라인 매장 / 온라인몰
적립월선택YYYY-MM 형식으로 한 달만 좁혀 봅니다.
판정 상태선택전체 / 정상 / 점검 필요 / 확인 필요

결과 컬럼

영역컬럼 · 표시
포인트 이연수익 대사 요약적립 건수 · 소멸 건수 · 매출 합계 · 포인트 배분액 · 기준/장부 제품 수익 · 기준/장부 계약부채 · 배분·이연 차이 · 예외 건수
포인트 적립 명세적립번호 · 적립월 · 채널 · 등급 · 매출 · 예상 사용률 · 소멸 · 포인트 배분액 · 기준/장부 제품 수익 · 기준 포인트 수익 · 기준/장부 계약부채 · 판정
채널별 · 등급별 · 적립월별 집계구분 · 건수 · 매출 · 포인트 배분액 · 포인트 수익 · 기준/장부 계약부채
점검 예외예외번호 · 적립월 · 예외 유형 · 내용 · 차이 · 중요도

SAP 표준 기능 매핑

표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 그 데이터에 포인트 배분·이연 관점의 조회·검증을 더해 확장합니다.

표준 T-code표준 기능이 화면이 더한 것
VF03청구 문서 조회포인트가 적립된 판매의 매출 금액을 가져옵니다
KE30수익성 보고서채널·등급별 매출과 포인트 배분 영향을 집계합니다
FS10NG/L 계정 잔액 조회포인트 계약부채 계정 잔액을 기준과 대사합니다
FAGLL03G/L 개별항목 조회포인트 수익 인식·소멸 전표를 건별로 확인합니다

IFRS 요구사항 매핑표

기준서요구사항이 화면의 대응 기능원천 데이터비고
IFRS 15
(K-IFRS 제1115호)
중요한 권리를 주는 선택권은 별도 수행의무포인트 배분액 산출과 매출 전액 수익 인식 검출VBRK · VBRP중요한 권리 판단은 사용자 몫입니다.
IFRS 15
(K-IFRS 제1115호)
상대적 개별판매가격 기준 거래가격 배분배분 비율 산출과 장부 대사VBRP · ACDOCA제품 SSP = 매출을 참고 가정으로 씁니다.
IFRS 15
(K-IFRS 제1115호)
선택권의 개별판매가격 추정 시 행사되지 않을 가능성 반영사용률 반영 여부 검출과 실적 비교ACDOCA사용률 추정 근거는 회사가 관리합니다.
IFRS 15
(K-IFRS 제1115호)
권리 행사·소멸 시 수익 인식, 남은 금액은 계약부채포인트 수익·계약부채 산출과 소멸 잔액 검출ACDOCA미행사 권리의 수익 인식 방식은 회사 정책에 따릅니다.

참고 CDS 뷰

원천 테이블주요 필드쓰임
VBRK / VBRPVBELN · FKDAT · VTWEG · NETWR적립이 발생한 판매 금액과 채널
ACDOCARBUKRS · GJAHR · RACCT · HSL포인트 계약부채·수익 전표
KNA1KUNNR · KTOKD회원 구분
TVTWTVTWEG · VTEXT채널 표기
T001BUKRS · WAERS회사코드 통화
define view entity ZC_LoyaltyItem
  as select from    ZI_LoyaltyLedger    as ll
    inner join      I_BillingDocument   as bd on bd.BillingDocument = ll.BillingDocument
{
  key ll.IssueBatchId          as LpId,
      ll.IssueMonth            as IssueMonth,
      bd.DistributionChannel   as Channel,
      ll.MemberGrade           as Grade,
      bd.TotalNetAmount        as SalesAmt,
      ll.PointsIssued          as PointsIssued,
      ll.PointsRedeemed        as RedeemedPts,
      bd.TransactionCurrency   as Waers
}

표준 CDS 뷰 이름과 필드는 시스템 릴리스에 따라 다를 수 있으므로, 도입 시 실제 시스템에서 확인해 확정합니다.

OpenUI5 구성

기능사용 컨트롤 · 구성
화면 골격sap.m.Page + 조회조건 패널 · 대사 요약 패널 · sap.m.IconTabBar 5개 탭
데이터 연동manifest.json dataSources.mainService(OData V2, 상대 경로) — 화면 블록마다 엔티티셋에 직접 바인딩합니다. 모델 설정은 useBatch:false · defaultBindingMode:"OneWay" · defaultCountMode:"Inline"
조회조건sap.m.Input · sap.m.ComboBox — 우측 끝에 조회·초기화 버튼, Enter 키로 즉시 재조회, sap/ui/model/Filter로 조회조건을 조립합니다. "전체"를 고른 조건은 필터를 만들지 않습니다
정렬 · 페이징sap/ui/model/Sorter와 모델의 페이징 기능으로 처리 — 전체를 받아 화면에서 걸러내지 않습니다
명세·예외 표sap.ui.table.Table — 행 클릭 시 상세 다이얼로그
집계 표sap.m.Tablesap.m.ObjectStatus로 판정 상태를 표준 ValueState 로만 표시
공통 처리CSV 다운로드 공통 컨트롤러(UTF-8 BOM), 전역 오류 처리기 — 메타데이터 로드 실패·요청 실패·빈 응답을 구분해 안내

파일 구성

경로역할
index.htmlOpenUI5 부트스트랩 — sap_horizon · lodash · moment, OData 서비스에 연결
Component.js화면 상태·조회조건 모델 초기화, 전역 오류 처리기 연결
manifest.json앱 디스크립터 — zui5.loyalty · ko 로케일, OData 서비스와 모델 선언
view/Main.view.xml조회조건 · 대사 요약 · 5개 탭
view/DetailDialog.fragment.xml상세 내역 다이얼로그
controller/Main.controller.js조회조건 조립 · 바인딩 · 다이얼로그 · CSV 다운로드
controller/BaseController.jsCSV 다운로드 공통 처리
model/ErrorHandler.js전역 오류 처리
model/formatter.js금액 · 비율 · 상태 표시 서식
i18n/i18n_ko.propertiesko 로케일 리소스

운영 데이터는 OData 서비스가 제공하며, 검증용 샘플 데이터는 화면과 완전히 분리해 별도로 둡니다. 화면과 판정 로직은 그대로 씁니다.

검증 결과

화면 구성에 쓴 검증용 샘플 데이터는 12건의 적립을 기준으로 포인트 배분액·제품 수익·포인트 수익·계약부채가 원(KRW) 단위로 맞물리도록 구성했습니다.

검증 항목결과
포인트 개별판매가격 = 적립 포인트 × 1원 × 예상 사용률통과(차이 0)
포인트 배분액 = 매출 × 포인트 SSP ÷ (매출 + 포인트 SSP)통과(차이 0)
제품 수익 + 포인트 배분액 = 매출통과(차이 0)
포인트 수익 = 배분액 × 사용 ÷ 예상 사용 (소멸 시 전액)통과(차이 0)
계약부채 = 배분액 − 포인트 수익통과(차이 0)
소멸 포인트의 계약부채 = 0통과(차이 0)
장부 제품 수익 = 기준통과(의도적 예외 제외 차이 0)
장부 포인트 수익 = 기준통과(의도적 예외 제외 차이 0)
장부 계약부채 = 기준통과(의도적 예외 제외 차이 0)
채널별 집계 = 명세 집계통과(차이 0)
등급별 집계 = 명세 집계통과(차이 0)
적립월별 집계 = 명세 집계통과(차이 0)
대사 요약행 = 실제 집계 결과통과(차이 0)
금액 차이 건 = 예외 등록 건통과(의도적 예외 제외 차이 0)
확인 대상 건 안내매출 전액 수익 인식 1건 · 사용률 미반영 1건 · 소멸 잔액 1건 · 사용률 추정 차이 1건(의도적으로 구성한 케이스)
조회 조건 전달 — 12건 → 5건 필터 · top 3 · 내림차순 정렬 · __count 12 확인확인
표시 금지 검사 — 커스텀 프로그램ID·앱 식별자·출처 표현 검출0건
화면 렌더링 — 실브라우저에서 조회 → 탭 이동 → 행 클릭 상세까지 실동작 후 캡처6/6
조회 버튼 위치 · sap_horizon 테마 · Enter 키 조회 · 서비스 미연결 시 오류 안내확인

모든 데이터는 검증용으로 구성한 가상 데이터입니다.

자주 묻는 질문

이 화면의 판정이 곧 기준서 충족 여부인가요?

아닙니다. 이 화면은 고객충성제도 포인트의 배분·이연 결과를 집계·대사해 확인이 필요한 건을 가려내는 점검 도구입니다. 최종 판단은 기준서 원문에 따라 회사와 감사인이 합니다.

적용 시기와 범위는 어떻게 되나요?

IFRS 15 고객과의 계약에서 생기는 수익(K-IFRS 제1115호)은 이미 시행 중인 기준서입니다. 이 화면은 판매와 함께 적립해 주는 포인트처럼 고객에게 중요한 권리를 주는 선택권을 다룹니다. 포인트는 매달 적립·사용·소멸되므로 결산마다 점검할 대상입니다.

포인트를 비용과 충당부채로 처리하면 안 되나요?

포인트가 고객에게 중요한 권리를 준다면 별도 수행의무이므로, 판매 대가의 일부를 포인트에 배분해 계약부채로 둡니다. 비용·충당부채 방식은 매출을 전액 수익으로 잡은 뒤 비용을 따로 잡는 것이라 수익 인식 시점과 금액이 달라집니다. 다만 포인트가 중요한 권리에 해당하는지는 회사가 판단합니다.

쓰이지 않고 소멸한 포인트는 어떻게 되나요?

포인트의 개별판매가격을 정할 때 이미 쓰이지 않을 것으로 예상되는 부분을 뺐기 때문에, 배분된 금액은 포인트가 쓰이는 비율에 맞춰 수익으로 옮겨 갑니다. 유효기간이 끝나 권리가 소멸하면 남은 계약부채는 그 시점에 모두 수익으로 인식합니다.

포인트 이연수익, 결산 전에 배분부터 맞춰보세요

적립 건마다 포인트 몫을 손으로 다시 나누는 대신, 화면에서 기준 배분과 계약부채를 장부와 미리 대사해 두면 결산과 공시 준비가 한결 가벼워집니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

IFRS 15K-IFRS 1115고객충성제도포인트계약부채중요한 권리OpenUI5