솔루션 홈
IFRS 15

SAP 반품권이 있는 판매 점검 — IFRS 15, 돌아올 물건은 수익이 아니라 부채와 자산이다

반품을 받아 주는 조건으로 판 매출에서 예상 반품분을 환불부채로, 돌아올 제품 원가를 반환제품회수권으로 따로 잡았는지 청구·원가·원장 데이터로 먼저 확인해 둡니다

온라인몰이나 대리점에 물건을 팔면서 일정 기간 안에 반품을 받아 주기로 했다면, 판 금액 전부를 수익으로 볼 수 없습니다. IFRS 15 고객과의 계약에서 생기는 수익(K-IFRS 제1115호)은 반품이 예상되는 부분을 수익에서 빼 환불부채로 두고, 돌아올 제품을 되찾을 권리는 반환제품회수권이라는 자산으로 따로 잡도록 합니다. 자산은 제품의 원래 장부금액에서 회수 비용과 가치 하락분을 뺀 금액입니다.

매출을 전액 수익으로 잡거나, 두 항목을 상계하거나, 회수 비용을 빼지 않는 실수가 잦습니다. 표준 청구·원가·원장 구조를 그대로 이어받아 판매 건마다 예상 반품률로 기준 측정액을 계산해 장부와 나란히 놓고, 이런 건과 반품률 추정이 실적과 벌어진 건을 가려내는 과정을 OpenUI5 화면으로 확장했습니다. 실제 구동 화면 6종을 함께 공개합니다.

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

  • 청구 — 청구 문서(VBRK/VBRP)의 매출 금액과 원가를 그대로 사용
  • 반품 — 판매오더(VBAK)의 반품 오더 유형으로 실적 반품률을 계산
  • 표준 화면 — 청구 조회(VF03) · 판매오더 조회(VA03) · 자재 문서(MB51) · 수익성 보고서(KE30)
항목내용
업무 영역재무회계(FI) · 수익 인식
관련 기준서IFRS 15 고객과의 계약에서 생기는 수익(K-IFRS 제1115호) — 반품권이 있는 판매: 받을 권리가 있을 것으로 예상하는 대가만 수익 인식, 예상 반품분의 환불부채, 반품될 제품을 회수할 권리(반환제품회수권)의 인식과 별도 표시
Namespacezui5.rtnright
셸 구조조회조건 영역(우측 조회) + 반품권 측정 대사 요약 + 반품권 판매 명세·제품군별·채널별·판매월별·점검 예외 5개 탭, 상세 Dialog
화면 수조회 화면 1개 + 상세 다이얼로그
SAP 표준 T-codeVF03 · VA03 · MB51 · KE30 · FAGLL03(§7 참고)
데이터 연동 방식OData V2 — 화면 블록마다 엔티티셋에 직접 바인딩
성격조회·대사·점검형 — 환불부채·회수권 조정 전표 기표는 화면 밖 프로세스
UI 테마sap_horizon 단일 적용

실제 화면 6종 둘러보기

회사코드·회계연도를 넣고 조회하면 반품권 측정 대사 요약과 명세가 한 화면에 뜹니다 → 탭을 옮겨 제품군별·채널별·판매월별 집계를 보고 → 점검 예외에서 확인이 필요한 건만 추려 봅니다.

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

Main.view.xml
반품권 판매 명세 화면 — 조회조건과 측정 대사 요약
메인화면 — 2026 회계연도 전체 조회 결과. 12건의 판매에 대해 예상·실적 반품률과 기준·장부 수익, 환불부채, 반환제품회수권이 한 화면에 뜹니다. 조회 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
조회조건 — Enter 키 조회
판매월 조건으로 좁힌 조회 결과
조건 조회 — 판매월을 입력하고 Enter 키만 눌러도 즉시 재조회됩니다. 의류 온라인 매출을 전액 수익으로 잡은 건이 바로 드러납니다.
제품군별 집계
제품군별 집계
제품군별 집계 — 반품이 많은 의류에서 기준 수익과 장부 수익이 크게 벌어진 것이 한 줄로 보입니다.
채널별 집계
채널별 집계
채널별 집계 — 반품이 쉬운 온라인몰에 환불부채가 몰려 있는지 봅니다.
점검 예외
점검 예외 목록
점검 예외 — 확인이 필요한 건만 유형별로 모아 보여줍니다.
상세 내역
상세 내역 다이얼로그
상세 내역 — 행을 클릭하면 반품률과 회수 비용, 기준·장부 측정액이 항목별로 펼쳐집니다.

조작 방법

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

돌아올 몫은 따로 — 반품권 측정 규칙

판 금액을 둘로 나누고, 판 제품의 원가도 둘로 나눕니다. 반품이 예상되는 쪽은 수익과 비용이 아니라 부채와 자산으로 남깁니다.

판정 조건결과 상태사용자 조치
예상 반품분환불부채매출 × 예상 반품률만큼 수익에서 빼 부채로 인식합니다.
반품될 제품의 원가반환제품회수권원가 × 반품률에서 회수 비용·가치 하락분을 빼 자산으로 인식합니다.
매출 전액을 수익으로 인식점검 필요예상 반품분을 환불부채로 옮겼는지 확인합니다.
환불부채와 반환제품회수권을 상계점검 필요두 항목을 따로 표시했는지 확인합니다.
반환제품회수권에서 회수 비용을 빼지 않음점검 필요회수 비용과 가치 하락분 반영을 확인합니다.
예상 반품률과 최근 실적 차이 5%p 이상확인 필요보고기간 말 추정을 다시 검토합니다.

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

판정 결과는 확인 대상을 알리는 표시이며, 기준서 충족 여부를 단정하지 않습니다. 반품률은 과거 경험과 현재 상황으로 회사가 추정하며, 변동대가의 제약 요건에 따라 수익을 더 보수적으로 잡을 수도 있습니다. 화면의 5%p 기준은 확인 대상을 고르는 참고값이며 기준서가 정한 수치가 아닙니다. 최종 판단은 기준서 원문에 따라 회사와 감사인이 합니다.

반품률 추정에서 측정 대사까지 5단계 산출

단계내용
1단계판매 건별 예상 반품률을 정한다 — 과거 실적·현재 상황으로 추정
2단계환불부채를 계산한다 — 환불부채 = 매출 × 예상 반품률
3단계수익을 정한다 — 수익 = 매출 − 환불부채
4단계반환제품회수권을 계산한다 — 반환제품회수권 = 원가 × 반품률 − 회수 예상 비용
5단계매출원가를 정하고 장부와 대사한다 — 매출원가 = 원가 − 반환제품회수권 / 차이 = 장부 − 기준

조회조건

필드필수설명
회사코드필수대사 요약 단건 조회의 키로도 씁니다.
회계연도필수대사 요약 단건 조회의 키로도 씁니다.
제품군선택전체 / 생활가전 / 주방용품 / 뷰티 / 의류
판매월선택YYYY-MM 형식으로 한 달만 좁혀 봅니다.
판정 상태선택전체 / 정상 / 점검 필요 / 확인 필요

결과 컬럼

영역컬럼 · 표시
반품권 측정 대사 요약판매 건수 · 매출 합계 · 기준/장부 수익 · 기준/장부 환불부채 · 기준/장부 반환제품회수권 · 측정 차이 · 예외 건수
반품권 판매 명세판매번호 · 판매월 · 제품군 · 채널 · 매출 · 예상/실적 반품률 · 기준/장부 수익 · 기준/장부 환불부채 · 기준/장부 반환제품회수권 · 판정
제품군별 · 채널별 · 판매월별 집계구분 · 건수 · 매출 · 기준/장부 수익 · 기준 환불부채 · 기준 반환제품회수권
점검 예외예외번호 · 판매월 · 예외 유형 · 내용 · 차이 · 중요도

SAP 표준 기능 매핑

표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 그 데이터에 반품권 측정 관점의 조회·검증을 더해 확장합니다.

표준 T-code표준 기능이 화면이 더한 것
VF03청구 문서 조회반품 조건이 있는 판매의 매출 금액을 가져옵니다
VA03판매오더 조회반품 오더와 원 판매를 연결해 실적 반품률을 계산합니다
MB51자재 문서 조회반품 입고 수량과 원가를 확인합니다
KE30수익성 보고서제품군·채널별 매출과 원가를 집계합니다
FAGLL03G/L 개별항목 조회환불부채·반환제품회수권 계정 금액을 대사합니다

IFRS 요구사항 매핑표

기준서요구사항이 화면의 대응 기능원천 데이터비고
IFRS 15
(K-IFRS 제1115호)
받을 권리가 있을 것으로 예상하는 대가만 수익으로 인식기준 수익 산출과 매출 전액 인식 검출VBRK · VBRP변동대가 제약 판단은 사용자 몫입니다.
IFRS 15
(K-IFRS 제1115호)
예상 반품분을 환불부채로 인식기준 환불부채 산출과 장부 대사VBRP · ACDOCA반품률 추정 근거는 회사가 관리합니다.
IFRS 15
(K-IFRS 제1115호)
반품될 제품을 회수할 권리를 자산으로 인식(원래 장부금액 − 회수 비용·가치 하락)기준 반환제품회수권 산출과 회수 비용 미차감 검출MBEW · ACDOCA가치 하락 추정은 사용자 몫입니다.
IFRS 15
(K-IFRS 제1115호)
반환제품회수권은 환불부채와 구분해 표시상계 처리 검출ACDOCA재무제표 표시는 결산 절차에서 확정합니다.
IFRS 15
(K-IFRS 제1115호)
보고기간 말마다 반품 예상치를 새로 추정예상 반품률과 최근 실적 비교VBAK · VBRP5%p 는 참고 기준입니다.

참고 CDS 뷰

원천 테이블주요 필드쓰임
VBRK / VBRPVBELN · FKDAT · MATNR · NETWR · WAVWR청구 금액과 원가
VBAKVBELN · AUART · VKORG · VTWEG반품 오더(유형)와 채널
MBEWMATNR · BWKEY · VERPR · STPRS제품 단위 원가
ACDOCARBUKRS · GJAHR · RACCT · HSL · PRCTR환불부채·반환제품회수권 전표
MARAMATNR · MATKL제품군
define view entity ZC_ReturnRightItem
  as select from    I_BillingDocumentItem as bi
    inner join      I_BillingDocument     as bd on bd.BillingDocument = bi.BillingDocument
{
  key bi.BillingDocument       as RtnId,
      bd.BillingDocumentDate   as SalesDate,
      bi.ProductGroup          as ProdGroup,
      bd.DistributionChannel   as Channel,
      bi.NetAmount             as SalesAmt,
      bi.CostAmount            as CostAmt,
      bi.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.rtnright · 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) 단위로 맞물리도록 구성했습니다.

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

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

자주 묻는 질문

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

아닙니다. 이 화면은 반품권이 있는 판매의 측정 결과를 집계·대사해 확인이 필요한 건을 가려내는 점검 도구입니다. 최종 판단은 기준서 원문에 따라 회사와 감사인이 합니다.

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

IFRS 15 고객과의 계약에서 생기는 수익(K-IFRS 제1115호)은 이미 시행 중인 기준서입니다. 이 화면은 고객이 일정 기간 안에 제품을 돌려주고 환불받을 수 있는 조건의 판매를 다룹니다. 반품률은 보고기간 말마다 다시 추정해야 하므로 결산마다 점검할 대상입니다.

예전의 반품충당부채와 무엇이 다른가요?

예전 방식은 매출을 전부 수익으로 잡고 반품으로 없어질 이익만 충당부채로 잡는 경우가 많았습니다. IFRS 15 에서는 반품이 예상되는 매출 자체를 수익에서 빼 환불부채로 두고, 돌아올 제품의 원가는 반환제품회수권이라는 자산으로 따로 잡습니다. 그래서 수익과 매출원가가 모두 줄고, 부채와 자산이 각각 총액으로 나타납니다.

반품률은 어떻게 정하나요?

과거 반품 실적과 현재 판매 조건, 제품 특성 등을 고려해 회사가 추정합니다. 추정이 불확실하면 나중에 수익을 크게 되돌리지 않을 가능성이 매우 높은 금액까지만 수익으로 잡는 변동대가 제약을 적용합니다. 화면은 예상 반품률과 최근 실적을 나란히 보여 주어, 추정을 다시 볼 필요가 있는 건을 찾게 돕습니다.

반품 조건 매출, 결산 전에 측정부터 맞춰보세요

판매 건마다 반품률을 곱해 손으로 다시 나누는 대신, 화면에서 기준 수익·환불부채·반환제품회수권을 장부와 미리 대사해 두면 결산과 공시 준비가 한결 가벼워집니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

IFRS 15K-IFRS 1115반품권환불부채반환제품회수권변동대가OpenUI5