SAP 금융자산 제거(양도) 판정 점검 — IFRS 9, 채권을 넘겼다고 장부에서 지워지는 건 아니다
매출채권 팩토링·어음 할인·유동화에서 위험과 보상이 실제로 넘어갔는지, 얼마를 제거하고 얼마를 계속 인식해야 하는지 계약 조건과 원장 데이터로 먼저 확인해 둡니다
매출채권을 팩토링에 넘기고 돈을 받았다고 해서 그 채권이 장부에서 사라지는 것은 아닙니다. 거래처가 갚지 못하면 되사 와야 하는 상환청구권이 붙어 있다면, 형식은 양도라도 위험은 그대로 회사에 남습니다. IFRS 9 금융상품(K-IFRS 제1109호)은 이럴 때 채권을 계속 인식하고 받은 돈을 차입부채로 잡도록 요구합니다. 반대로 위험과 보상이 대부분 넘어갔다면 전부 제거하고 처분손익을 인식합니다. 둘 중 어느 쪽도 아니면 통제 이전 여부를 보고, 통제가 남아 있으면 지속적 관여 범위까지만 인식합니다.
문제는 이 판단이 계약서와 담당자의 머릿속에 흩어져 있어, 결산 때 어떤 양도가 어떤 근거로 제거됐는지 한눈에 보기 어렵다는 점입니다. 표준 채권·원장 구조를 그대로 이어받아 양도 건별로 상환청구권 조건·위험 이전율·통제 이전 여부와 판정 결과를 나란히 놓고, 제거액과 계속 인식액의 합이 양도한 장부금액과 맞는지 대사하는 과정을 OpenUI5 화면으로 확장했습니다. 실제 구동 화면 6종을 함께 공개합니다.
SAP 표준 기능을 그대로 이어받은 부분
- 채권 원천 — 고객 미결·반제 항목(
BSID/BSAD) 구조를 그대로 사용 - 전표 — 원장(
ACDOCA)의 제거·처분손익·차입 전표 금액을 그대로 집계 - 표준 화면 — 고객 개별항목(FBL5N) · G/L 개별항목(FAGLL03) · 전기 및 청산(F-30) · 어음 할인(FBWE)
| 항목 | 내용 |
|---|---|
| 업무 영역 | 재무회계(FI) · 금융상품 |
| 관련 기준서 | IFRS 9 금융상품(K-IFRS 제1109호) — 금융자산의 제거, 위험과 보상의 이전·통제 이전 판단과 지속적 관여 |
| Namespace | zui5.derecog |
| 셸 구조 | 조회조건 영역(우측 조회) + 제거 대사 요약 + 양도 거래 명세·제거 판정별·양도 유형별·상환청구권별·점검 예외 5개 탭, 상세 Dialog |
| 화면 수 | 조회 화면 1개 + 상세 다이얼로그 |
| SAP 표준 T-code | FBL5N · FAGLL03 · F-30 · FBWE · FD32(§7 참고) |
| 데이터 연동 방식 | OData V2 — 화면 블록마다 엔티티셋에 직접 바인딩 |
| 성격 | 조회·대사·점검형 — 제거 확정과 전표 기표는 화면 밖 프로세스 |
| UI 테마 | sap_horizon 단일 적용 |
실제 화면 6종 둘러보기
회사코드·회계연도를 넣고 조회하면 제거 대사 요약과 양도 거래 명세가 한 화면에 뜹니다 → 탭을 옮겨 제거 판정별·양도 유형별·상환청구권별 집계를 보고 → 점검 예외에서 확인이 필요한 건만 추려 봅니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
조작 방법
- 회사코드·회계연도를 지정하고, 계약번호·양도 유형·판정 상태는 필요할 때만 넣습니다. 비워 두면 전체가 조회됩니다.
- 조회·초기화 버튼은 조회조건 입력 필드 줄의 오른쪽 끝에 있습니다. 입력 필드에서 Enter 키를 눌러도 같은 조회가 실행됩니다.
- 제거 대사 요약에서 양도 장부금액·수취대가·제거액·계속 인식액과 분해 차이를 먼저 확인합니다.
- 양도 거래 명세에서 건별 상환청구권 조건·위험 이전율·판정과 금액 분해를 봅니다.
- 제거 판정별·양도 유형별·상환청구권별 탭에서 집계와 제거 비율을 확인합니다.
- 점검 예외에서 확인이 필요한 건을 추려 보고, 행을 클릭해 상세를 확인한 뒤 CSV 다운로드로 결과를 내려받습니다.
넘겼는지, 넘긴 척인지 — 제거 판정 세 갈래
판정은 위험과 보상이 얼마나 넘어갔느냐에서 시작해 통제 보유 여부로 이어집니다. 화면은 그 결과를 세 갈래로 표시하고, 근거가 흔들리는 건만 확인 대상으로 올립니다.
| 판정 조건 | 결과 상태 | 사용자 조치 |
|---|---|---|
| 위험과 보상이 대부분 이전됐다 | 전부 제거 | 장부금액 전액을 제거하고 처분손익을 인식합니다 |
| 위험과 보상이 대부분 남아 있다 | 계속 인식 | 자산을 그대로 두고 수취대가를 차입부채로 인식합니다 |
| 어느 쪽도 아니고 통제가 남아 있다 | 지속적 관여 범위까지 인식 | 유보한 위험 범위만 남기고 나머지를 제거합니다 |
| 제거액 + 계속 인식액 ≠ 양도 장부금액 | 점검 필요 | 분해 금액과 장부금액 산정 기준을 다시 확인 |
| 위험·보상 이전율이 판단 경계 구간인데 전부 제거 | 확인 필요 | 통제 이전 여부로 다시 판단하고 근거를 남깁니다 |
| 상환청구권을 보유한 채 전부 제거 | 확인 필요 | 상환청구 조건이 실질적으로 위험을 남기는지 확인 |
| 계속 인식 건인데 수취대가가 있다 | 확인 필요 | 받은 돈이 차입부채로 인식됐는지 확인 |
이 화면이 대신 정하지 않는 것
위험과 보상이 "대부분" 넘어갔는지, 통제가 남아 있는지는 계약 조건과 사실관계로 판단합니다. 기준서는 구체적인 비율을 정하지 않으므로, 화면의 위험·보상 이전율은 판정을 돕는 참고 지표일 뿐입니다. 이 화면은 그렇게 정해진 결과가 채권·원장 데이터와 정합적으로 대사되는지만 점검하며, 최종 판단은 기준서 원문에 따라 회사와 감사인이 내립니다.
양도에서 제거 대사까지 5단계 산출
| 단계 | 내용 |
|---|---|
| 1단계 | 양도 거래를 유형(팩토링·어음 할인·유동화·양도담보)과 상환청구권 조건으로 가릅니다 |
| 2단계 | 계약 조건에서 산출한 위험·보상 이전 정도를 봅니다 |
| 3단계 | 전부 제거 · 계속 인식 · 지속적 관여 범위까지 인식 중 하나로 판정합니다 |
| 4단계 | 장부금액을 제거액과 계속 인식액으로 나눕니다 — 제거액 + 계속 인식액 = 양도 장부금액 |
| 5단계 | 처분손익을 산출하고 집계해 대사합니다 — 처분손익 = 수취대가 − 제거액, 건별 합계 = 판정별 = 유형별 = 대사 요약 |
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
| 회사코드 | 필수 | 대상 회사코드 — 대사 요약 조회의 키로도 씁니다 |
| 회계연도 | 필수 | 조회 대상 회계연도 |
| 계약번호 | 선택 | 비우면 전체 — 빈 값은 조회 조건으로 보내지 않습니다 |
| 양도 유형 | 선택 | 전체 · 매출채권 팩토링 · 어음 할인 · 매출채권 유동화 · 채권 양도담보 |
| 판정 상태 | 선택 | 전체 · 정상 · 점검 필요 · 확인 필요 |
결과 컬럼
| 영역 | 컬럼 · 표시 |
|---|---|
| 제거 대사 요약 | 양도 건수 · 전부 제거 건수 · 양도 장부금액 · 수취대가 · 제거액 · 계속 인식액 · 분해 차이 · 예외 건수 |
| 양도 거래 명세 | 양도번호 · 계약번호 · 양수인 · 양도 유형 · 상환청구권 · 양도일 · 양도 장부금액 · 수취대가 · 위험·보상 이전율 · 제거 판정 · 제거액 · 계속 인식액 · 처분손익 · 판정 |
| 제거 판정별 집계 | 판정 구분 · 건수 · 장부금액 · 제거액 · 계속 인식액 · 처분손익 · 구성비 |
| 양도 유형별 집계 | 양도 유형 · 건수 · 장부금액 · 수취대가 · 제거액 · 계속 인식액 |
| 상환청구권별 집계 | 상환청구권 구분 · 건수 · 장부금액 · 제거액 · 제거 비율 |
| 점검 예외 | 예외번호 · 계약번호 · 양도번호 · 예외 유형 · 내용 · 차이 · 중요도 |
SAP 표준 기능 매핑
표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 그 데이터에 제거 판정 관점의 조회·검증을 더해 확장합니다.
| 표준 T-code | 표준 기능 | 이 화면이 더한 것 |
|---|---|---|
FBL5N | 고객 개별항목 조회 | 양도한 채권을 건별로 모아 제거 판정을 붙입니다 |
FAGLL03 | G/L 개별항목 조회 | 제거·차입 전표를 분해 금액과 대사합니다 |
F-30 | 전기 및 청산 | 양도에 따른 청산 결과를 제거액과 비교합니다 |
FBWE | 어음 할인·사용 | 어음 할인 건의 상환청구 조건을 판정에 반영합니다 |
FD32 | 고객 여신 관리 | 양수인·거래처 위험 정보를 함께 봅니다 |
IFRS 요구사항 매핑표
| 기준서 | 요구사항 | 이 화면의 대응 기능 | 원천 데이터 | 비고 |
|---|---|---|---|---|
| IFRS 9 (K-IFRS 제1109호) | 위험과 보상의 대부분 이전 여부 판단 | 위험·보상 이전율과 상환청구권 조건에 따른 3분기 판정 | BSID · BSAD | 이전율은 참고 지표이며 기준서가 정한 임계값이 아닙니다 |
| IFRS 9 (K-IFRS 제1109호) | 통제 이전 여부에 따른 지속적 관여 | 유보 위험액 범위까지만 인식하는 분해와 건별 표시 | BSID · 계약 조건 | 통제 보유 여부 판단은 사용자 몫입니다 |
| IFRS 9 (K-IFRS 제1109호) | 제거 시 처분손익의 인식 | 처분손익 = 수취대가 − 제거액 산출과 판정별 집계 | ACDOCA | 수수료·할인료의 손익 구분은 회사 정책에 따릅니다 |
| IFRS 9 (K-IFRS 제1109호) | 제거 요건 미충족 시 차입부채 인식 | 계속 인식 건의 수취대가를 확인 대상으로 표시 | ACDOCA · BSIK | 차입 계정 매핑은 회사 계정체계에 따릅니다 |
참고 CDS 뷰
| 원천 테이블 | 주요 필드 | 쓰임 |
|---|---|---|
BSID / BSAD | BUKRS · KUNNR · BELNR · WRBTR · ZFBDT | 양도 대상 매출채권 |
BSIK | BUKRS · LIFNR · BELNR · WRBTR | 양수인 채무·차입 인식 |
ACDOCA | RBUKRS · GJAHR · RACCT · HSL | 제거·처분손익 전표 |
VBAK | VBELN · KUNNR | 원 계약 연결 |
LFA1 | LIFNR · NAME1 | 양수인 표기 |
define view entity ZC_DerecogTransfer
as select from ZI_TransferContract as tc
inner join I_Supplier as sp on sp.Supplier = tc.Transferee
{
key tc.TransferId as TransferId,
tc.ContractNo as ContractNo,
tc.Transferee as Lifnr,
sp.SupplierName as LifnrName,
tc.TransferType as TransferType,
tc.RecourseFlag as Recourse,
tc.BookAmount as BookAmount,
tc.ConsiderAmount as ConsiderAmount,
tc.RiskRatio as RiskRatio,
tc.Currency 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(컬럼 14개·7개) — 행 클릭 시 상세 다이얼로그 |
| 집계 표 | sap.m.Table — sap.m.ObjectStatus로 판정 상태를 표준 ValueState 로만 표시 |
| 공통 처리 | CSV 다운로드 공통 컨트롤러(UTF-8 BOM), 전역 오류 처리기 — 메타데이터 로드 실패·요청 실패·빈 응답을 구분해 안내 |
파일 구성
| 경로 | 역할 |
|---|---|
index.html | OpenUI5 부트스트랩 — sap_horizon · lodash · moment, OData 서비스에 연결 |
Component.js | 화면 상태·조회조건 모델 초기화, 전역 오류 처리기 연결 |
manifest.json | 앱 디스크립터 — zui5.derecog · ko 로케일, OData 서비스와 모델 선언 |
view/Main.view.xml | 조회조건 · 대사 요약 · 5개 탭 |
view/DetailDialog.fragment.xml | 상세 내역 다이얼로그 |
controller/Main.controller.js | 조회조건 조립 · 바인딩 · 다이얼로그 · CSV 다운로드 |
controller/BaseController.js | CSV 다운로드 공통 처리 |
model/ErrorHandler.js | 전역 오류 처리 |
model/formatter.js | 금액 · 비율 · 상태 표시 서식 |
i18n/i18n_ko.properties | ko 로케일 리소스 |
운영 데이터는 OData 서비스가 제공하며, 검증용 샘플 데이터는 화면과 완전히 분리해 별도로 둡니다. 화면과 판정 로직은 그대로 씁니다.
검증 결과
화면 구성에 쓴 검증용 샘플 데이터는 양도 13건 기준으로 장부금액 분해가 원(KRW) 단위로 정확히 맞물리도록 구성했습니다.
| 검증 항목 | 결과 |
|---|---|
| 건별 제거액 + 계속 인식액 = 양도 장부금액(13건) | 통과(의도적 예외 제외 차이 0) |
| 처분손익 = 수취대가 − 제거액(10건) | 통과(차이 0) |
| 계속 인식 건의 제거액 = 0 · 계속 인식액 = 장부금액(3건) | 통과 |
| 판정별·유형별·상환청구권별 집계 = 명세 집계(10건) | 통과(차이 0) |
| 판정별 구성비 합계 100% · 대사 요약행 = 실제 집계 | 통과(차이 0) |
| 확인 대상 건 안내 | 분해 불일치 1건 · 판단 경계 구간 1건 · 상환청구권 보유 중 제거 1건 · 차입 인식 확인 3건(의도적으로 구성한 케이스) |
| 조회 조건 전달 — 13건 → 1건 필터, 정렬·건수 옵션 동작 | 확인 |
| 표시 금지 검사 — 커스텀 프로그램ID·앱 식별자·출처 표현 검출 | 0건 |
| 화면 렌더링 — 실브라우저에서 조회 → 탭 이동 → 행 클릭 상세까지 실동작 후 캡처 | 6/6 |
조회 버튼 위치 · sap_horizon 테마 · Enter 키 조회 · 서비스 미연결 시 오류 안내 | 확인 |
계약·양수인·금액은 모두 검증용으로 구성한 가상 데이터입니다.
자주 묻는 질문
IFRS 9 은 이미 시행 중인데, 왜 지금 이 점검이 필요한가요?
IFRS 9 금융상품(K-IFRS 제1109호)은 이미 시행 중인 기준서입니다. 다만 금융자산의 제거 판단은 양도 거래가 생길 때마다 계약 조건을 보고 새로 해야 하고, 제거 여부가 자산과 부채를 동시에 움직이므로 시행 여부와 무관하게 결산마다 반복되는 점검 대상입니다. 이 화면은 새 기준서를 도입하기 위한 것이 아니라, 시행 중인 요구사항을 기존 채권·원장 데이터로 다시 맞춰 보는 용도입니다.
화면의 "점검 필요" 표시는 회계처리 오류를 뜻하나요?
아닙니다. 이 화면은 제거 판정 결과와 금액 분해를 집계·대사해 확인이 필요한 건을 가려내는 점검 도구이며, 위험과 보상의 이전 정도와 통제 보유 여부에 대한 최종 판단은 기준서 원문과 계약 조건에 따라 회사와 감사인이 내립니다.
화면의 위험·보상 이전율은 기준서가 정한 수치인가요?
아닙니다. 기준서는 위험과 보상이 대부분 이전됐는지를 판단하도록 할 뿐 구체적인 비율을 정하지 않습니다. 화면의 이전율은 회사가 계약 조건으로 산출해 둔 참고 지표이며, 화면은 그 값이 판단 경계 구간에 있을 때 확인 대상으로 표시할 뿐 자동으로 판정을 바꾸지 않습니다.
계속 인식으로 판정된 건은 받은 돈을 어떻게 처리하나요?
제거 요건을 충족하지 않으면 자산을 그대로 두고 수취대가를 차입부채로 인식합니다. 화면은 계속 인식 건에 수취대가가 있으면 차입 인식 여부를 확인하도록 점검 예외에 올립니다. 실제 계정 매핑은 회사 계정체계에 따릅니다.