솔루션 홈
IFRS 15

SAP 계약 식별 요건 점검 — IFRS 15, 다섯 요건을 못 채운 계약의 받은 대가는 수익이 아니라 부채인지부터 맞춰본다

승인·권리·지급조건·상업적 실질·회수가능성 다섯 요건으로 계약을 가르고, 요건을 못 채운 계약의 받은 대가를 부채로 뒀는지 장부·원장과 맞춰 봅니다

고객이 주문서를 보냈고 대금 일부도 입금됐는데, 그 계약을 회계상 “고객과의 계약”으로 봐도 될까요? IFRS 15 고객과의 계약에서 생기는 수익(K-IFRS 제1115호)은 계약이 당사자의 승인·확약, 이전할 재화·용역과 관련된 각 당사자의 권리 식별, 지급조건 식별, 상업적 실질, 대가 회수가능성이 높음이라는 다섯 요건을 모두 충족할 때에만 고객과의 계약으로 회계처리하도록 하고, 요건을 충족하지 못한 계약에서 받은 대가는 종결조건을 충족할 때까지 수익이 아니라 부채로 인식하도록 합니다. 표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 조회·검증 관점을 더해 확장합니다.

실무에서는 서명이 끝나지 않은 계약이나 회수가능성이 낮아진 고객의 대금을 입금 즉시 매출로 잡거나, 이미 요건이 갖춰졌는데 받은 대가가 부채로 남아 있거나, 증빙이 부족해 성격이 애매한 건이 섞이곤 합니다. 계약마다 다섯 요건의 충족 여부를 읽어 기준 수익·부채를 구하고 장부 수익·부채·원장 수익 잔액과 견주는 과정을 OpenUI5 화면으로 확장했습니다. 실제 구동 화면 7종을 함께 공개합니다.

SAP 표준 기능을 그대로 이어받은 부분 — 판매 계약과 오더는 VA43 · VA03 이, 청구문서는 VF03 이, 고객 개별 항목은 FBL5N 이, 수익·부채 계정 항목은 FAGLL03 이, 고객 신용 정보는 FD33 이 담당합니다. 이 화면은 표준 데이터 구조를 그대로 이어받아 계약 식별 판정과 수익·부채 대사라는 조회·검증 관점을 더해 확장합니다.
항목내용
업무 영역재무회계(FI) — 수익(판매)
관련 기준서IFRS 15 고객과의 계약에서 생기는 수익(K-IFRS 제1115호) — 고객과의 계약 식별 요건
Namespacezui5.ctident
셸 구조단일 페이지 + 5개 탭
화면 수메인 1 · 상세 다이얼로그 1
SAP 표준 T-codeVA43 · VA03 · VF03 · FBL5N · FAGLL03 · FD33
데이터 연동 방식OData V2 (조회조건 전부 $filter)
성격조회·재계산·대사·점검형
테마sap_horizon · 한국어
요약내용
점검 대상계약 건별 다섯 요건 판정과 기준 수익·부채, 장부 수익·부채·기타 계정, 제품·용역군별 원장 수익 잔액
핵심 산식기준 수익·부채 = 식별됨은 이행분 수익과 나머지 대가(부채), 식별 안 됨은 종결조건 충족이면 수령 대가 전액 수익·아니면 전액 부채 · 수령 대가 = 장부 수익 + 장부 부채 + 장부 기타 계정
결과 표시정상 / 점검 필요 / 확인 필요

실제 화면 7종 둘러보기

계약 건별 식별 판정 탭과 요약 지표
계약 건별 식별 판정 탭과 요약 지표 — 조회조건과 요약 줄, 계약마다 다섯 요건 충족 여부와 기준·장부 금액이 한 화면에 뜹니다. 조회 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
점검 필요 계약만 조회한 모습
점검 필요 계약만 조회한 모습 — 점검 결과를 “점검 필요”로 고르면 장부 수익·부채가 기준 처리와 다른 계약만 남습니다.
요건별 충족 현황 탭
요건별 충족 현황 탭 — 요건마다 충족·미충족·확인 필요 건수와 미충족 계약의 거래가격, 그 계약에 계상된 장부 수익을 보여 줍니다.
제품·용역군별 수익·부채 증감표 탭
제품·용역군별 수익·부채 증감표 탭 — 수령 대가가 기준 수익·기준 부채로 나뉘는 모습과 장부 수익·원장 수익 잔액 대사를 보여 줍니다.
판정 구분별 요약 탭
판정 구분별 요약 탭 — 식별됨·식별 안 됨(종결조건 미충족/충족)·판정 보류 구분별 건수와 금액을 모아 봅니다.
계약 상세 창
계약 상세 창 — 계약 행을 누르면 금액·요건 요약과 다섯 요건 판정 내역, 증빙 요약이 한 창에 열립니다.
대사 결과 탭
대사 결과 탭 — 대사식마다 검사 건수와 차이 건수, 최대 차이 금액을 보여 줍니다.

사용 방법

  1. 조회조건 입력 — 회계연도는 필수이고(기본 2026), 회사코드는 목록에서 고릅니다(기본 1000). 점검 결과와 계약 번호는 선택입니다. 계약 번호는 대소문자를 가리지 않고 입력합니다.
  2. 조회 — 조회 버튼은 조회조건 영역의 입력 칸들 오른쪽 끝에 있고 초기화 버튼이 그 옆에 있습니다. 입력 칸에서 Enter 키를 눌러도 조회됩니다. 화면이 열릴 때는 기본 조건으로 한 번 자동 조회합니다.
  3. 요약 KPI 확인 — 판정 계약 건수, 점검 필요·확인 필요 건수, 요건 미충족 계약 수령 대가 합계, 확인 필요 계약 수령 대가 합계, 장부·기준 수익 차이 절대값 합계를 봅니다.
  4. 탭 이동 순서 — 계약 건별 식별 판정 → 요건별 충족 현황 → 제품·용역군별 수익·부채 증감표 → 판정 구분별 요약 → 대사 결과 순으로 봅니다.
  5. 행 클릭 상세 — 계약 건별 탭의 행을 누르면 계약 요약과 다섯 요건 판정 내역(증빙 요약 포함)이 상세 창에 나타납니다. 닫기 버튼으로 닫습니다.
  6. CSV 내려받기 — 현재 탭과 같은 조건의 자료를 UTF-8 BOM CSV 로 내려받습니다. 파일 이름은 한글 기능명입니다.

계약 식별을 가르는 다섯 요건과 판정 규칙

계약마다 다섯 요건(① 승인·확약 ② 권리 식별 ③ 지급조건 식별 ④ 상업적 실질 ⑤ 회수가능성)의 판정을 읽어 계약 식별 여부를 정하고, 장부 수익·부채를 기준 수익·부채와 비교합니다.

판정 조건결과 상태사용자 조치
다섯 요건 모두 충족 → 식별됨, 장부 수익 = 이행분 수익, 장부 부채 = 수령 대가 − 이행분 수익정상조치 없음
식별됨이나 장부 수익 ≠ 이행분 수익점검 필요이행 진행 자료와 부채의 수익 대체 여부, 이행분 초과 계상 여부 확인
미충족 요건 1개 이상 → 식별 안 됨, 종결조건 미충족, 장부 수익 0 · 장부 부채 = 수령 대가정상조치 없음(요건 재평가 사실이 생기면 재조회)
식별 안 됨, 종결조건 미충족인데 장부에 수익 계상점검 필요요건 재평가 사실이 있는지, 받은 대가를 부채로 분류해야 하는지 확인
식별 안 됨, 종결조건 충족, 장부 수익 = 수령 대가정상조치 없음
식별 안 됨, 종결조건 충족인데 받은 대가가 부채로 남음점검 필요수익 전환 여부 확인
장부 기타 계정에 받은 대가가 남음점검 필요수익·부채 계정으로의 분류 확인
미충족 요건은 없으나 일부 요건의 증빙이 없음확인 필요증빙 확인 후 재조회(기준 수익·부채는 산정하지 않음)
제품·용역군에 점검 필요 계약이 있음 / 없고 확인 필요 계약만 있음점검 필요 / 확인 필요해당 군의 계약 건 확인

판정 결과는 확인 대상을 알리는 표시이며, 최종 판단은 회사와 감사인이 합니다.

요건 판정에서 수익·부채 대사까지의 순서

  1. 충족 요건 수 = 요건 판정 Y 의 개수. 5요건 모두 Y 이면 식별됨, N 이 하나라도 있으면 식별 안 됨, N 없이 확인 필요(U)가 있으면 판정 보류 (대사식 R2)
  2. 종결조건 = (남은 이전 의무 없음 · 대가를 거래가격의 90% 이상 수령 · 환불 불가) 또는 (계약 종료 · 환불 불가). 90% 는 “대부분”을 뜻하는 가상 설정값입니다(확인 필요)
  3. 기준 수익·부채 = 식별됨은 이행분 수익과 나머지 수령 대가(부채), 식별 안 됨은 종결조건 충족이면 수령 대가 전액 수익·아니면 전액 부채, 판정 보류는 산정하지 않음 → 수령 대가 = 기준 수익 + 기준 부채 (R3)
  4. 수익 차이 = 장부 수익 − 기준 수익, 부채 차이 = 장부 부채 − 기준 부채 (판정 완료 건)
  5. 수령 대가 = 장부 수익 + 장부 부채 + 장부 기타 계정 (R1)
  6. 요건별 충족 + 미충족 + 확인 필요 건수 = 계약 수 (R4)
  7. 제품·용역군 장부 수익 = Σ 계약 장부 수익 = 원장 수익 잔액 (R5)
  8. 요약 합계 = Σ 구분별 행, 구분별 건수 = 정상 + 점검 필요 + 확인 필요 (R6)

금액은 원 단위이며, 고객·계약·금액은 모두 가상 설정값입니다.

조회조건

조회조건입력 방식필수 여부전달 방식
회사코드목록(1000 · 2000)선택(기본 1000)CompanyCode eq
회계연도직접 입력필수(기본 2026)FiscalYear eq
점검 결과목록(전체 · 정상 · 점검 필요 · 확인 필요)선택ResultText eq — '전체'이면 조건을 만들지 않음 (계약 건별 탭)
계약 번호직접 입력선택ContractNo eq (계약 건별 탭)

결과 컬럼

탭주요 컬럼
계약 건별 식별 판정계약 번호 · 점검 결과 · 고객 · 제품·용역군 · 계약일 · 거래가격 · 수령 대가 · 요건 ①~⑤ 충족 여부 · 충족 요건 · 계약 식별 판정 · 남은 이전 의무 · 받은 대가 환불 가능 · 계약 종료 · 종결조건 충족 · 기준 수익·부채 · 장부 수익·부채·기타 계정 · 수익 차이 · 부채 차이 · 비고
요건별 충족 현황판정 요건 · 충족·미충족·확인 필요 건수 · 미충족 계약 거래가격 · 미충족 계약 장부 수익 · 미충족 중 점검 필요 건수
제품·용역군별 수익·부채 증감표제품·용역군 · 점검 결과 · 계약·점검 필요 건수 · 수령 대가 · 기준 수익·부채 · 확인 필요 수령 대가 · 장부 수익·부채·기타 계정 · 수익 차이 합계 · 원장 수익 잔액 · 원장 차이
판정 구분별 요약판정 구분(식별됨 · 식별 안 됨 종결조건 미충족/충족 · 판정 보류 · 합계) · 건수(정상/점검 필요/확인 필요) · 수령 대가·요건 미충족 수령 대가·기준 수익·기준 부채·장부 수익·장부 부채 합계 · 수익 차이 절대값 합계
대사 결과대사식 · 대사 항목 · 산식 · 검사 건수 · 차이 건수 · 최대 차이 금액

SAP 표준 기능 매핑

SAP 표준 T-code 매핑

표준 T-code표준 기능이 화면과의 관계
VA43판매 계약 조회계약 조건(승인·인도·지급 조건)을 확인할 때 이어서 사용
VA03판매오더 조회계약에 묶인 오더의 품목·인도 조건 확인
VF03청구문서 조회청구된 수령 대가의 근거 확인
FBL5N고객 개별 항목 조회고객별 입금·미결 항목으로 수령 대가 확인
FAGLL03G/L 계정 개별 항목 조회수익·부채 계정의 장부 금액과 이 화면의 집계를 대조
FD33고객 신용 관리 조회대가 회수가능성 판단 자료(신용 정보) 확인

표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 조회·검증 관점을 더해 확장합니다.

IFRS 요구사항 매핑

기준서요구사항대응 기능원천 데이터비고
IFRS 15 고객과의 계약에서 생기는 수익(K-IFRS 제1115호)계약이 승인·확약, 권리 식별, 지급조건 식별, 상업적 실질, 대가 회수가능성 요건을 모두 충족할 때 고객과의 계약으로 회계처리계약 건별 식별 판정 탭의 요건 ①~⑤ 와 충족 요건 수판매 계약·오더의 계약 점검표요건 재평가 시점은 미반영(확인 필요)
IFRS 15 고객과의 계약에서 생기는 수익(K-IFRS 제1115호)요건을 충족하지 못한 계약에서 받은 대가는 종결조건을 충족할 때까지 부채로 인식기준 부채 · 종결조건 충족 여부고객 입금 내역, 계약 종료·환불 조건“대부분” 기준은 가상 설정값(확인 필요)
IFRS 15 고객과의 계약에서 생기는 수익(K-IFRS 제1115호)요건을 충족한 계약은 이행한 만큼 수익으로 인식하고 받은 대가 중 남은 부분은 부채기준 수익·기준 부채, 수익·부채 차이이행 진행 자료, 수익·부채 원장최종 판단은 회사와 감사인

참고 CDS 뷰

원천테이블

원천테이블설명사용 필드
VBAK · VBAP판매 계약·오더 헤더·품목계약 번호, 계약일, 고객, 순금액(거래가격)
VBRK · VBRP청구 헤더·품목청구 금액
BSID · BSAD고객 미결·반제 개별 항목수령 대가(입금 반제분)
ACDOCA유니버설 저널 항목수익 계정·부채 계정·기타 계정 금액(장부)
KNA1고객 마스터고객 코드·이름

필드 매핑

OData 엔티티.프로퍼티원천테이블.필드 / 산식
ContSet.ContractNo · ContractDate · CustomerNameVBAK-VBELN · VBAK-AUDAT · KNA1-NAME1
ContSet.TransPriceVBAP-NETWR 계약 합계
ContSet.ConsRecvBSAD 고객 입금 반제 금액 합(수령 대가)
ContSet.Crit1 ~ Crit5계약 점검표 값(가상 설정값: Y 충족 · N 미충족 · U 증빙 확인 필요, 확인 필요)
ContSet.MetCount · IdentTextY 개수 · 5→식별됨 / N 1개 이상→식별 안 됨 / 그 외→판정 보류 (파생)
ContSet.ExpRev · ExpLiab식별됨: 이행분 수익(가상 진행 자료, 확인 필요) · ConsRecv − ExpRev / 식별 안 됨: ConsRecv 또는 0 (파생)
ContSet.BookRev · BookLiab · BookOtherACDOCA 수익 계정 · 계약부채 계정 · 기타 계정 금액 합
ContSet.RevDiff · LiabDiffBookRev − ExpRev · BookLiab − ExpLiab (파생)
CritSet.*계약 점검표의 요건별 판정·증빙 요약(가상 설정값)
CritSumSet.* · RollSet.* · SumSet.*ContSet 을 요건·제품·용역군·판정 구분으로 집계한 값, 원장 수익 잔액은 ACDOCA 집계

CDS 뷰 스케치

define view entity ContractIdentCheck
  as select from vbak as h
    inner join vbap as i on i.vbeln = h.vbeln
    inner join kna1 as c on c.kunnr = h.kunnr
{
  key h.vbeln                           as ContractNo,
      h.audat                           as ContractDate,
      c.name1                           as CustomerName,
      sum( i.netwr )                    as TransPrice,
      case when Crit1 = 'Y' and Crit2 = 'Y' and Crit3 = 'Y' and Crit4 = 'Y' and Crit5 = 'Y' then '식별됨'
           when Crit1 = 'N' or Crit2 = 'N' or Crit3 = 'N' or Crit4 = 'N' or Crit5 = 'N'     then '식별 안 됨'
           else '판정 보류' end         as IdentText
}

스케치이며 요건 판정(Crit1~Crit5)과 종결조건 값은 별도 계약 점검표에서 받는 값으로 가정합니다(확인 필요).

OpenUI5 구성

구성내용
업무 영역재무회계(FI) · 수익(판매)
화면 구성조회조건 영역(우측 조회) + 요약 줄 + 계약 건별 판정·요건별 충족·군별 증감표·구분별 요약·대사 5개 탭, 상세 Dialog
데이터 모델OData V2 모델을 앱 설정(manifest)에서 선언하고, 표마다 해당 엔티티셋에 직접 바인딩
조회조건 처리필터 객체로 만들어 서버 조회 조건($filter)으로 전달하며 "전체"는 조건을 만들지 않음
정렬·페이징정렬 객체로 서버 정렬($orderby), 목록 범위 읽기로 페이징($top·$skip), 총건수는 인라인 건수
집계요약 값은 서비스 집계 엔티티셋에서 읽고, 금액 문자열은 숫자로 변환해 표시·비교
표 구성건수가 많고 컬럼이 많은 계약 건별 탭은 sap.ui.table.Table, 나머지 탭과 상세 창은 sap.m.Table
실패 안내서비스 연결 실패와 요청 실패, 빈 응답을 구분해 사용자 메시지로 안내
테마sap_horizon · 한국어

파일 구성

구분내용
앱 본체index.html · manifest.json · Component.js · controller · view · model · i18n · css
데이터 서비스OData 서비스 정의와 엔티티셋별 데이터
검증 전용앱 본체와 분리된 검증용 샘플 데이터 구성
설명서readme.html (13개 절)

검증 결과

화면 구성에 쓴 검증용 샘플 데이터는 가상 계약 57건(회사 1000 42건 · 회사 2000 15건)과 요건 판정 285행을 기준으로 원 단위로 맞물리도록 구성했습니다.

대사식검사결과차이 건수
수령 대가 = 장부 수익 + 장부 부채 + 장부 기타 계정42일치0
충족 요건 수와 식별 판정(5→식별됨 / N 있음→식별 안 됨 / 그 외→판정 보류)42일치0
수령 대가 = 기준 수익 + 기준 부채 (판정 완료 건)37일치0
요건별 충족 + 미충족 + 확인 필요 건수 = 계약 수5일치0
군별 장부 수익 = Σ 계약 장부 수익 = 원장 수익 잔액4일치0
요약 합계 = Σ 구분별 행, 구분별 건수 = 정상 + 점검 필요 + 확인 필요5일치0

회사 1000 은 “점검 필요” 계약 9건(요건 미충족 계약에 수익 계상 3건, 종결조건 충족 후에도 부채 잔존 2건, 요건 충족 후에도 부채 잔존 2건, 이행분 초과 수익 계상 1건, 기타 계정 잔존 1건)과 “확인 필요” 계약 5건(일부 요건 증빙 확인 필요)이 예외이고, 회사 2000 에도 같은 유형의 예외를 소수 넣었습니다. 이는 점검 화면의 동작을 보이기 위해 의도적으로 구성한 케이스이며 대사 차이와 분리해 기록했습니다. 기준 수익·부채는 별도 스크립트로 다시 계산해 판정 완료 37건을 전수 비교했고 대사 차이는 0건이었으며, 화면의 요약 지표(회사 1000: 판정 계약 42건 · 점검 필요 9 · 확인 필요 5 · 요건 미충족 계약 수령 대가 2,238,500,000원)도 스크립트 결과와 일치했습니다.

자주 묻는 질문

이 화면의 “점검 필요”는 회계처리가 틀렸다는 뜻인가요?

아닙니다. 이 화면은 계약 식별 여부에서 기대되는 수익·부채를 장부와 맞춰 차이가 나는 건을 가려내는 점검 도구입니다. 차이의 원인과 최종 회계 판단은 기준서 원문과 회사의 회계정책에 따라 회사와 감사인이 합니다.

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

이 화면은 IFRS 15 고객과의 계약에서 생기는 수익(K-IFRS 제1115호) 중 고객과의 계약을 식별하는 다섯 요건과 요건을 충족하지 못한 계약의 받은 대가 처리만 다룹니다. 회사별 적용 시점과 경과규정, 문단번호는 원문으로 확인하지 못해 확인 필요로 두었고, 수행의무 식별·거래가격 배분 등 다른 단계는 범위에 넣지 않았습니다.

요건 중 일부만 증빙이 있으면 어떻게 보이나요?

미충족 요건은 없으나 일부 요건의 증빙이 없으면 계약이 식별되는지 이 화면이 판정하지 않고 “확인 필요”로 표시합니다. 증빙을 확인해 요건 판정을 보완하고 다시 조회하면 판정됩니다.

요건을 나중에 다시 평가하는 경우도 반영되나요?

반영하지 않았습니다. 이 화면은 조회 시점의 요건 판정값만 쓰는 가상 설정이며, 사실과 상황이 유의적으로 바뀐 경우의 재평가와 그 이후 회계처리 반영 방식은 확인 필요입니다.

#IFRS 15 #K-IFRS 1115 #계약 식별 #수익인식 요건 #회수가능성 #상업적 실질 #OpenUI5

수주 직후 입금분의 수익 인식, 계약 요건부터 건별로 확인해 두세요

서명이 덜 끝난 계약이나 회수가능성이 흔들리는 고객의 입금분이 매출로 잡혀 있으면 감사 시기에 계약서와 입금 내역을 엑셀로 다시 대조하게 됩니다. 화면에서 다섯 요건과 장부 수익·부채가 다른 계약을 미리 가려 두면 결산과 감사 대응이 한결 가벼워집니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

도입 문의