SAP 금융상품 상계(넷팅) 요건 점검 — IAS 32, 법적 권리와 결제 의도부터 갈라본다
거래상대방별로 흩어진 자산·부채를 한 화면에 모아 상계 요건부터 맞춰봅니다
결산 시점에는 파생상품·환매조건부매매·유가증권대여처럼 같은 거래상대방과 여러 건의 금융자산·부채가 동시에 걸려 있는 경우가 많습니다. 계약서를 하나하나 열어 "법적으로 상계할 수 있는 권리가 있는지", "순액으로 결제하기로 했는지"를 확인하고, 요건을 충족한 건만 상계해 재무상태표에 순액으로 표시하는 작업은 거래상대방 수가 늘어날수록 손이 많이 갑니다. 담보 등 관련금액까지 감안한 순액을 다시 맞추려면 화면을 여러 번 오가야 합니다.
표준 전표·계정 구조를 그대로 이어받아 거래상대방·상품유형별로 금융자산·부채 쌍을 한 화면에 모으고, 법적 상계권리·순액결제 의도 두 요건을 대사해 상계 가능 여부를 가려내는 화면을 OpenUI5로 확장 했습니다. 담보 등 관련금액을 반영한 순액도 함께 보여줘 IFRS 7 상계 공시에 필요한 숫자를 한 번에 확인할 수 있습니다. 실제 구동 화면 4종을 함께 공개합니다.
SAP 표준 기능을 그대로 이어받은 부분
- 전표 구조 — 표준 회계전표 항목(차변/대변) 구조를 그대로 사용해 금융자산·부채 잔액을 집계
- 계정 마스터 — 표준 G/L 계정 마스터 체계로 금융상품 계정을 식별
- 표준 화면 — 계정별 라인아이템 조회(FBL3N) · 자동 정산(F.13) · 거래처 라인아이템 조회(FBL5N)
| 항목 | 내용 |
|---|---|
| 업무 영역 | 재무회계(FI) · 금융상품 |
| 관련 기준서 | IAS 32 금융상품 표시(K-IFRS 제1032호) · IFRS 7 금융상품 공시(K-IFRS 제1107호) |
| Namespace | zui5.offsetchk |
| 셸 구조 | 조회조건 영역(우측 조회) + 요약 패널 + 결과 테이블, 상세 Dialog |
| 화면 수 | 조회 화면 1개 + 상세 다이얼로그 |
| SAP 표준 T-code | FBL3N, F.13, FBL5N |
| 성격 | 조회·판정·집계형 — 회계적 옳고 그름의 최종 판단은 회사·감사인 몫 |
| UI 테마 | sap_horizon 단일 적용 |
실제 화면 4종 둘러보기
회계연도·기간·거래상대방·상계요건·쌍 ID를 넣고 조회하면 상계 쌍 목록과 요약 패널이 함께 뜹니다 → 행을 클릭하면 그 쌍의 담보 등 관련금액 내역이 다이얼로그로 열립니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
조작 방법
- 회계연도 · 기간(전체·010~012) · 거래상대방 · 상계요건 · 쌍 ID를 지정합니다.
- 쌍 ID 입력 필드에서 Enter 키를 누르거나 조회조건 영역 오른쪽 끝의 조회 버튼을 누르면 결과 테이블과 요약 패널이 함께 재조회됩니다. 초기화 버튼은 조건을 기본값으로 되돌립니다.
- 결과 테이블의 행을 클릭하면 그 쌍의 담보 등 관련금액 내역이 상세 다이얼로그로 열립니다.
- 우측 상단 CSV 버튼으로 현재 조회 결과를 내려받습니다.
상계요건 판정 로직
| 판정 조건 | 결과 | 사용자 조치 |
|---|---|---|
| 법적 집행 가능한 상계권리 + 순액결제·동시결제 의도 모두 있음 | 충족 | 상계액 산출, 순액표시 |
| 법적 권리는 있으나 결제 의도 미확인 | 확인 필요 | 담당자가 결제 의도 확인 후 재판정 |
| 법적 집행 가능한 상계권리 자체가 없음 | 미충족 | 총액 그대로 표시(상계 미적용) |
이 화면이 대신 정하지 않는 것
"확인 필요"로 표시된 쌍이 실제로 상계 가능한지, 계약서상 표현이 법적으로 집행 가능한 권리에 해당하는지는 회사의 법무·회계 검토를 거쳐 정해집니다. 이 화면은 그 확인이 필요한 후보를 골라내는 점검 도구입니다.
상계 점검 처리 단계
| 단계 | 내용 |
|---|---|
| 1단계 | 거래상대방·상품유형별 금융자산·부채 총액을 쌍으로 조회 |
| 2단계 | 법적 상계권리·순액결제 의도 여부를 확인해 상계요건을 판정 |
| 3단계 | 요건 충족 쌍만 상계액 산출 — min(총액자산, 총액부채) |
| 4단계 | 순액표시액 계산 — 총액 - 상계액 |
| 5단계 | 담보 등 관련금액을 순액표시액 한도 내에서 차감 |
| 6단계 | 연도·기간 기준 합계를 집계해 요약 패널에 표시 |
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
| 회계연도 | 필수 | 4자리 연도 |
| 기간 | 선택 | 전체 또는 010~012(전체 선택 시 조건 미전달) |
| 거래상대방 | 선택 | 전체 또는 은행·증권사 6곳 |
| 상계요건 | 선택 | 전체·충족·미충족·확인 필요 |
| 쌍 ID | 선택 | 부분 일치 검색(포함 검색), Enter 키로 바로 조회 |
결과 컬럼
| 컬럼 | 설명 |
|---|---|
| 쌍 ID / 거래상대방 | 금융자산·부채 쌍 식별자와 거래상대방명 |
| 상품유형 | 파생상품(스왑·선물환)·환매조건부매매·유가증권대여 |
| 총액(자산) / 총액(부채) | 상계 전 금융자산·부채 총액 |
| 상계액 / 순액표시(자산) | 상계 산출액과 상계 후 순액표시 자산 |
| 상계요건 / 비고 | 충족·미충족·확인 필요와 확인이 필요한 사유 |
SAP 표준 기능 매핑
표준 실행은 SAP 표준 T-code가 담당하고, 이 화면은 조회·점검 관점을 더해 확장합니다.
| SAP 표준 T-code | 연관 기능 |
|---|---|
FBL3N | 총계정원장 계정별 라인아이템 조회 |
F.13 | 자동 정산(Automatic Clearing) |
FBL5N | 거래처(고객) 라인아이템 조회 |
요구사항 매핑표
| 기준서 | 요구사항 | 대응 기능 |
|---|---|---|
| IAS 32(K-IFRS 1032) | 상계 요건 — 법적 상계권리 + 순액결제·동시결제 의도 | 상계요건 판정(충족/미충족/확인 필요) |
| IFRS 7(K-IFRS 1107) | 상계 공시 — 총액·상계액·순액표시·관련금액 | 상계 쌍 + 관련금액(담보 등) 조합 조회 |
참고 CDS 뷰
운영 서비스로 연결할 때를 가정해 새로 스케치한 집계 뷰 예시입니다(운영 반영 시 권한 체크를 추가해야 합니다).
@AbapCatalog.sqlViewName: 'ZCDSOFFSETPR'
define view ZCDS_I_OffsetPair
as select from bseg
association [0..*] to bseg as _Liability on _Liability.gjahr = bseg.gjahr
and _Liability.shkzg = 'H'
{
key bseg.gjahr as Gjahr,
key bseg.monat as Period,
key bseg.kunnr as PairId,
bseg.hkont as AssetAccount,
sum(bseg.dmbtr) as GrossAsset,
_Liability
}
// 법적 상계권리·순액결제 의도는 계약관리대장에서 읽어와 위 쌍과 함께 대사
OpenUI5 구성
| 기능 | 사용 컨트롤 |
|---|---|
| 화면 골격 | sap.m.Shell + sap.m.Page + 조회조건 Panel + 요약 Panel |
| 조회조건 | sap.m.Input · sap.m.Select — 우측 끝에 조회 버튼, Enter 키로 즉시 재조회 |
| 요약 패널 | oModel.callFunction("/GetOffsetTotals", ...)로 집계값을 가져와 JSON 모델에 반영 |
| 결과 테이블 | sap.ui.table.Table — 행 클릭 시 상세 다이얼로그 |
| 상세 | sap.m.Dialog + sap.m.Table — 담보 등 관련금액 표시 |
| 공통 처리 | CSV 다운로드 공통 컨트롤러, 전역 오류 처리기 |
서비스 경로는 manifest.json의 dataSources에 상대 경로로 선언한 OData 모델을
그대로 바인딩하며, 조회조건은 sap.ui.model.Filter로 조립해 전달합니다. "전체" 선택 시 해당
조건은 아예 전달하지 않습니다.
파일 구성
| 경로 | 역할 |
|---|---|
index.html | OpenUI5 부트스트랩 — sap_horizon |
Component.js | 컴포넌트 초기화, 전역 오류 처리기 연결 |
manifest.json | 앱 디스크립터 — zui5.offsetchk · OData dataSources · ko 로케일 |
view/Main.view.xml | 조회조건 + 요약 패널 + 결과 테이블 |
view/DetailDialog.fragment.xml | 관련금액 상세 다이얼로그 |
controller/Main.controller.js | 조회 · 필터 조립 · 요약 집계 호출 · 다이얼로그 · CSV 다운로드 로직 |
controller/BaseController.js | CSV 다운로드 공통 처리 |
model/ErrorHandler.js | 전역 오류 처리 |
model/formatter.js | 금액·상태 서식 |
i18n/i18n_ko.properties | ko 로케일 리소스 |
검증 환경 구성 상세는 이 글에서 다루지 않습니다. 운영 전환 시에는 화면과 판정 로직은 그대로 두고 데이터 계층만 실제 서비스 호출에 맞추면 됩니다.
검증 결과
화면 구성에 쓴 데이터는 총액·상계액·순액표시가 항상 맞물리도록 구성했습니다(상계 요건에 따라 상계액이 0이 되는 정상 케이스 포함).
| 검증 항목 | 결과 |
|---|---|
| 상계 쌍 전수 대사(총액-상계액=순액표시, 24건) | 일치 24건, 불일치 0건 |
| 담보 차감 후 순액 대사(관련금액이 있는 쌍, 12건) | 일치 12건, 불일치 0건 |
| 표시 금지 검사 — 커스텀 프로그램ID·앱 식별자·출처 표현 검출 | 0건 |
| 화면 렌더링 — 실브라우저에서 조회 → 필터 → Enter 키 → 행 클릭 상세까지 실동작 후 캡처 | 4/4 |
| 조회 버튼 위치 · sap_horizon 테마 적용 · Function Import 응답 반영 | 확인 |
거래상대방·금액은 모두 검증용으로 구성한 가상 데이터입니다.
자주 묻는 질문
이 화면은 언제부터, 어느 범위에 적용하나요?
IAS 32 금융상품 표시(K-IFRS 제1032호)의 상계 요건과 IFRS 7 금융상품 공시(K-IFRS 제1107호)의 상계 공시 요구사항을 참고한 점검 도구입니다. 별도로 확인된 경과규정은 없으며, 회사가 이미 적용 중인 회계기준서를 기준으로 회계기간별로 조회해 사용합니다.
상계요건이 "확인 필요"로 뜨면 바로 상계할 수 없다는 뜻인가요?
이 화면은 법적 집행 가능한 상계권리·순액결제 의도 두 요건을 대사해 확인이 필요한 후보를 가려내는 조회·점검 도구입니다. "확인 필요"로 표시된 결과가 곧 상계 불가를 의미하지 않으며, 최종 회계 판단은 회사와 감사인이 합니다.
화면의 수치는 실시간 SAP 데이터인가요?
실제 운영 화면은 OData 서비스를 통해 조회합니다. 이 글에 표시된 수치와 캡처는 검증용 샘플 데이터이며 실제 업무 데이터가 아닙니다.
요약 패널의 합계는 어떻게 계산되나요?
화면 상단 요약 패널은 별도 집계 함수(Function Import)를 호출해 현재 조회조건(연도·기간) 범위의 상계 쌍을 서버 측에서 합산한 결과입니다. 하단 테이블의 개별 쌍 합계와 항상 같은 데이터에서 계산되도록 구성했습니다.