SAP 비금융항목 계약 자기사용 예외 점검 — IFRS 9, 전력·원자재 매매계약을 자기사용으로 볼지 파생상품으로 볼지 가려 장부와 맞춰본다
규칙 순서 판정 · 장부 처리 대조 · 공정가치 대사를 계약 단위로 확인합니다
전력 공급 계약이나 구리 장기 매입 약정을 맺었는데, 이 계약은 파생상품일까요? IFRS 9 금융상품(K-IFRS 제1109호)는 비금융항목을 사거나 파는 계약이라도 기대 매입·판매·사용 요구에 따라 수령하거나 인도할 목적으로 체결해 계속 보유하는 경우(자기사용)에는 적용범위에서 제외하지만, 순액결제할 수 있는 계약은 그렇게 보지 않을 수 있다고 설명합니다. 표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 조회·검증 관점을 더해 확장합니다.
실무에서는 계약 체결 때 자기사용으로 정리했는데, 이후 일부 수량을 현금으로 차액 정산하거나 인도받은 물량을 곧바로 재매각하면서 판단 근거가 흔들리기도 합니다. 계약마다 규칙을 순서대로 적용해 자기사용과 파생상품(FVTPL)으로 나누고, 장부 처리와 공정가치를 견주어 차이 나는 건을 가려내는 과정을 OpenUI5 화면으로 확장했습니다. 실제 구동 화면 6종을 함께 공개합니다.
| 항목 | 내용 |
|---|---|
| 업무 영역 | 재무회계(FI) — 금융상품 |
| 관련 기준서 | IFRS 9 금융상품(K-IFRS 제1109호) — 비금융항목 매입·매도계약의 적용범위(자기사용 예외) |
| Namespace | zui5.ownuse |
| 셸 구조 | 단일 페이지 + 4개 탭 |
| 화면 수 | 메인 1 · 상세 다이얼로그 1 |
| SAP 표준 T-code | ME33K · ME33L · ME2N · VA43 · MB51 · FAGLL03 |
| 데이터 연동 방식 | OData V2 (조회조건 전부 $filter) |
| 성격 | 조회·판정·대사·점검형 |
| 테마 | sap_horizon · 한국어 |
| 요약 | 내용 |
|---|---|
| 점검 대상 | 전력·가스·원유·금속·곡물 같은 비금융항목 매입·매도계약 — 자기사용 요건과 장부 처리 |
| 핵심 산식 | 잔여 수량 = 약정 − 인도 − 순액결제 · 기대 공정가치 = 방향부호 × (시장 단가 − 계약 단가) × 잔여 수량 · 차이 = 장부 − 기대 |
| 결과 표시 | 정상 / 점검 필요 |
실제 화면 6종 둘러보기






사용 방법
- 기준 연월을 넣고, 회사코드·품목·거래 방향·기대 판정·판정 사유·점검 결과·계약번호는 필요할 때만 고릅니다. "전체"를 고르면 해당 조건 없이 조회됩니다.
- 조회 버튼은 조회조건 입력 필드 줄의 가장 오른쪽에 있습니다. 계약번호 입력란에서 Enter 키를 눌러도 같은 조회가 실행됩니다. 화면을 열면 기본 조건(기준 연월 202609)으로 자동 조회됩니다.
- 요약 줄에서 점검 계약 건수, 기대 자기사용·파생상품 건수, 점검 필요 건수, 기대·장부 파생 공정가치와 차이를 먼저 확인합니다.
- 탭을 계약 점검 명세 → 품목별 집계 → 판정 사유별 집계 → 대사 결과 순으로 옮겨 가며 좁혀 봅니다.
- 계약 점검 명세에서 행을 누르면 판정에 쓰인 속성과 수량 구성, 공정가치와 점검 내용이 상세 다이얼로그로 열립니다.
- CSV 내려받기(UTF-8 BOM)로 현재 탭의 결과를 저장할 수 있습니다.
자기사용인지 파생상품인지 가르는 일곱 가지 규칙
계약마다 아래 규칙을 위에서부터 적용해 처음 해당하는 조건을 판정 사유로 삼습니다.
| 판정 조건 | 판정 사유 | 기대 판정 | 사용자 조치 |
|---|---|---|---|
| 발행한 옵션형 계약이고 순액결제가 가능하다 | 발행옵션 | 파생상품(FVTPL) | 옵션 조건과 순액결제 조항을 확인합니다. |
| 당기에 순액결제 수량이 발생했다 | 당기 순액결제 실적 | 파생상품(FVTPL) | 순액결제 경위와 동종 계약에 미치는 영향을 확인합니다. |
| 유사 계약을 순액결제해 온 관행이 있다 | 순액결제 관행 | 파생상품(FVTPL) | 관행 판단 근거를 확인합니다. |
| 인도받은 뒤 단기간에 재매각해 가격 변동 이익을 얻는 관행이 있다 | 단기 재매각 관행 | 파생상품(FVTPL) | 재매각 이력과 목적을 확인합니다. |
| 약정 수량이 기대 사용·판매 요구 수량을 넘는다 | 기대 사용 요구 초과 | 파생상품(FVTPL) | 사용 계획과 약정 수량의 차이를 확인합니다. |
| 위 조건에 해당하지 않고 순액결제 가능·현금화 용이 속성도 없다 | 자기사용 요건 충족 | 자기사용(적용 제외) | 별도 조치 없음 |
| 위 조건에 해당하지 않으나 순액결제 가능 또는 현금화 용이 속성이 있다 | 평가 후 자기사용 | 자기사용(적용 제외) | 속성 평가 문서를 확인합니다. |
기대 판정과 장부 처리를 견준 점검 코드는 다음과 같습니다. 판정 결과는 확인 대상을 알리는 표시이며, 최종 판단은 회사와 감사인이 합니다.
| 점검 코드 | 조건 | 결과 | 사용자 조치 |
|---|---|---|---|
| OK | 기대 판정과 장부 처리가 같다 | 정상 | - |
| A1 | 기대는 파생상품인데 장부는 자기사용(미인식) | 점검 필요 | 파생상품 인식 대상 여부와 공정가치 차이를 확인 |
| A2 | 기대는 자기사용인데 장부는 파생상품으로 평가 | 점검 필요 | 자기사용 평가 근거와 장부 평가 사유를 확인 |
판정에서 장부 대조까지의 순서
- 수량 구성 —
잔여 수량 = 약정 수량 − 인도 수량 − 순액결제 수량 (약정금액 = 인도분 + 순액결제분 + 잔여분) - 판정 사유 —
7개 규칙을 위에서부터 적용해 처음 해당하는 조건 - 기대 공정가치 —
방향부호 × (시장 단가 − 계약 단가) × 잔여 수량, 파생상품 판정 건만 (매입 +1, 매도 −1) - 공정가치 차이 —
장부 공정가치 − 기대 공정가치 - 건수 대사 —
자기사용 건수 + 파생상품 건수 = 계약 건수 - 장부 처리 대사 —
기대 자기사용 건수 − 장부 자기사용 건수 = A2 건수 − A1 건수 - 집계 대사 —
판정 사유별 건수 합계 = 계약 건수 · 품목별 기대 공정가치 합계 = 명세 합계
금액은 원 단위이며 계약·거래처·단가는 모두 가상 설정값입니다.
조회조건
| 조회조건 | 필수 | 설명 |
|---|---|---|
| 기준 연월 | 필수 | YYYYMM 6자리 |
| 회사코드 | 선택 | 1000·2000 중 선택, 전체이면 조건 없음 |
| 품목 | 선택 | 전력·천연가스·원유·구리·알루미늄·밀 |
| 거래 방향 | 선택 | 매입·매도 |
| 기대 판정 | 선택 | 자기사용·파생상품 |
| 판정 사유 | 선택 | 규칙표 7개 사유 |
| 점검 결과 | 선택 | 정상·점검 필요 |
| 계약번호 | 선택 | Enter 키로 조회 |
결과 컬럼
| 영역 | 내용 |
|---|---|
| 요약 | 점검 계약 · 기대 자기사용 · 기대 파생상품 · 점검 필요 · 기대/장부 파생 공정가치 · 차이 · 대사 차이 건수 |
| 계약 점검 명세 | 계약번호 · 회사 · 거래상대방 · 품목 · 방향 · 체결일 · 만기일 · 수량 4종 · 기대 사용·판매 요구 수량 · 계약/시장 단가 · 잔여 약정금액 · 속성 5종 · 판정 사유 · 기대 판정 · 장부 처리 · 공정가치 3종 · 점검 결과 · 점검 내용 |
| 품목별 집계 | 회사 · 품목 · 계약 건수 · 매입/매도 · 기대/장부 건수 · 잔여 약정금액 · 공정가치 · 점검 필요 |
| 판정 사유별 집계 | 회사 · 판정 사유 · 기대 판정 · 계약 건수 · 공정가치 · A1/A2 건수 |
| 대사 결과 | 대사 항목 · 대사식 · 좌변 · 우변 · 검사 건수 · 차이 건수 · 최대 차이 |
SAP 표준 기능 매핑
| T-code | 이름 | 쓰임 |
|---|---|---|
ME33K · ME33L | 구매 계약·납품일정계약 조회 | 약정 수량·단가·납입 일정 확인 |
ME2N | 구매오더 현황 | 계약 대비 발주·입고 현황 |
VA43 | 판매 계약 조회 | 매도 계약의 약정 수량·단가 |
MB51 | 자재문서 목록 | 실제 인도 수량 |
FAGLL03 | 총계정원장 개별항목 | 파생상품 계정의 장부 금액 |
| 기준서 | 요구사항 | 화면 반영 |
|---|---|---|
| IFRS 9 금융상품(K-IFRS 제1109호) | 기대 매입·판매·사용 요구에 따라 수령·인도할 목적으로 보유하는 비금융항목 계약은 적용범위에서 제외 | 규칙 5·6·7 — 약정 수량 대 기대 사용·판매 요구 수량 |
| 같은 기준서 | 순액결제할 수 있는 계약(계약 조건·관행·재매각 관행·현금화 용이성)은 자기사용 목적이 아닐 수 있음 | 규칙 2·3·4·7 — 순액결제 실적·관행·재매각 관행·속성 |
| 같은 기준서 | 순액결제할 수 있는 발행 옵션은 자기사용 목적으로 보지 않음 | 규칙 1 — 발행옵션 여부 |
| 같은 기준서 | 적용범위에 포함되는 계약은 파생상품으로 공정가치 측정(FVTPL) | 기대 공정가치 산출, 장부 공정가치 대조 |
참고 CDS 뷰
@AbapCatalog.viewEnhancementCategory: [#NONE]
@EndUserText.label: '비금융항목 계약 자기사용 점검 (스케치)'
define view entity C_OwnUseContractCheck
as select from I_PurchaseContractItem as Ctr
left outer join I_JournalEntryItem as Jei
on Jei.ReferenceDocument = Ctr.PurchaseContract
{
key Ctr.PurchaseContract as ContrNo,
Ctr.CompanyCode as CompanyCode,
Ctr.TargetQuantity as Qty,
Ctr.NetPriceAmount as ContrPrice,
// 판정 사유: 발행옵션 → 순액결제 실적 → 관행 → 재매각 → 수량 초과 → 자기사용
case when Ctr.WrittenOption = 'X' then 'W'
when Ctr.NetSettledQuantity > 0 then 'T'
when Ctr.NetSettlePractice = 'X' then 'N'
when Ctr.ResaleShortTerm = 'X' then 'S'
when Ctr.TargetQuantity > Ctr.UseDemand then 'X'
else 'O' end as Reason,
sum( Jei.AmountInCompanyCodeCurrency ) as BkFv
}
group by Ctr.PurchaseContract, Ctr.CompanyCode, Ctr.TargetQuantity, Ctr.NetPriceAmount,
Ctr.WrittenOption, Ctr.NetSettledQuantity, Ctr.NetSettlePractice, Ctr.ResaleShortTerm, Ctr.UseDemand원천은 구매·판매 계약 문서(EKKO · EKPO · VBAK · VBAP), 자재문서(MSEG), 유니버설 저널(ACDOCA)입니다. 뷰 이름과 조건은 스케치이며, 순액결제 속성과 기대 사용 요구 수량, 시장 단가를 보관하는 자료는 SAP 환경별로 달라 확인 필요로 남겼습니다.
OpenUI5 구성
| 구성 | 내용 |
|---|---|
| 업무 영역 | 재무회계(FI) · 금융상품 적용범위 점검 |
| 화면 구성 | 조회조건 영역(우측 조회) + 요약 지표 + 계약 점검 명세·품목별·판정 사유별·대사 4개 탭, 상세 Dialog |
| 데이터 모델 | OData V2 모델을 앱 설정(manifest)에서 선언하고, 표마다 해당 엔티티셋에 바인딩 |
| 조회조건 처리 | 필터 객체로 만들어 서버 조회 조건($filter)으로 전달하며 "전체"는 조건을 만들지 않음 |
| 정렬·페이징 | 정렬 객체로 서버 정렬($orderby), 목록 범위 읽기로 페이징($top·$skip), 총건수는 인라인 건수 |
| 집계 | 요약 값은 서비스 집계 엔티티셋에서 읽고, 금액 문자열은 숫자로 변환해 표시·정렬 |
| 실패 안내 | 서비스 연결 실패와 요청 실패를 구분해 사용자 메시지로 안내 |
| 테마 | sap_horizon · 한국어 |
파일 구성
| 구분 | 내용 |
|---|---|
| 앱 본체 | index.html · manifest.json · Component.js · controller · view · model · i18n · css |
| 데이터 서비스 | OData 서비스 정의와 엔티티셋별 데이터 |
| 검증 전용 | 앱 본체와 분리된 검증용 샘플 데이터 구성 |
| 설명서 | readme.html (13개 절) |
검증 결과
화면 구성에 쓴 검증용 샘플 데이터는 가상 계약 72건(회사 1000 36건 · 회사 2000 36건)을 기준으로 원 단위로 맞물리도록 구성했습니다. 아래 검사 건수는 두 회사의 합계입니다.
| 대사식 | 검사 | 결과 | 차이 건수 |
|---|---|---|---|
| 약정금액 = 인도분 + 순액결제분 + 잔여분 | 72 | 일치 | 0 |
| 기대 공정가치 + 차이 = 장부 공정가치 | 72 | 일치 | 0 |
| 자기사용 건수 + 파생상품 건수 = 계약 건수 | 2 | 일치 | 0 |
| 기대 자기사용 − 장부 자기사용 = A2 − A1 | 2 | 일치 | 0 |
| 판정 사유별 건수 합계 = 계약 건수 | 12 | 일치 | 0 |
| 품목별 기대 공정가치 합계 = 명세 합계 | 9 | 일치 | 0 |
점검 필요는 11건(기대는 파생상품인데 자기사용으로 처리한 건 7건, 기대는 자기사용인데 파생상품으로 평가한 건 4건)입니다. 이는 점검 화면의 동작을 보이기 위해 의도적으로 구성한 케이스이며 대사 차이와 분리해 기록했습니다. 판정 규칙과 공정가치는 별도 스크립트로 다시 계산해 전수 비교했고 대사 차이는 0건이었으며(검사 169건), 요약 지표도 명세 합계와 일치했습니다.
자주 묻는 질문
이 점검은 어떤 기준서의 어떤 요구사항에 근거하나요? 적용 시기도 알려 주세요.
IFRS 9 금융상품(K-IFRS 제1109호) 의 적용범위 중 비금융항목을 매입하거나 매도하는 계약에 관한 요구사항(자기사용 예외)을 기준으로 합니다. IFRS 9 은 2018-01-01 이후 개시 회계연도부터 적용하며 조기 적용이 허용됩니다. 전력 계약 등에 대한 최근 개정과 경과규정은 기준서 원문에서 확인 필요합니다.
자기사용으로 판정되면 항상 파생상품 회계를 적용하지 않아도 되나요?
이 화면은 계약 속성과 수량을 규칙에 따라 분류·집계·대사하는 점검 도구입니다. 관행 판단과 최종 회계처리는 회사와 감사인이 판단합니다.
"점검 필요"는 회계처리에 문제가 있다는 뜻인가요?
아닙니다. 기대 판정과 장부 처리가 다르다는 사실을 알려 주는 표시이며, 원인은 계약 속성 입력, 판단 근거 문서, 장부 기록을 함께 확인해야 합니다.
순액결제 관행이나 기대 사용 요구 수량은 어디에서 가져오나요?
계약 속성과 사용 계획 값은 회사의 평가 자료가 원천이며, 이 화면의 값은 검증용 샘플 데이터입니다. 실제 원천은 시스템에서 확인 필요합니다.
장기 매매계약의 자기사용 판단 근거, 결산 전에 미리 정리해 두세요
전력·원자재 장기 계약이 늘면 감사 시기에 순액결제 이력과 사용 계획을 다시 모아야 합니다. 화면에서 판정과 장부 처리가 다른 계약을 미리 가려 두면 결산과 감사 대응이 한결 가벼워집니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.