SAP 채권채무 장단기 재분류 — 잔존만기로 유동성을 가르기
기준일 대비 잔존만기로 채권채무를 유동·비유동으로 나누고, 재분류 대상액과 조정 전표를 미리 시뮬레이션하는 결산 화면입니다.
재무제표에서 채권은 한 줄이 아닙니다. 1년 안에 들어올 것과 그 뒤에 들어올 것이 유동자산과 비유동자산으로 갈라져야 합니다.
이 구분은 기준일마다 달라집니다. 작년에 비유동이던 채권이 올해는 유동이 됩니다. SAP 표준 재분류 구조를 그대로 이어받아 잔존만기로 자동 분류하고 조정 전표까지 미리 보도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 3종을 함께 공개합니다.
SAP 표준 기능을 그대로 이어받은 부분
- 조정계정 — 거래처가 물린 조정계정(
ReconAccount)을 그대로 사용 - 계정유형 — 고객(D) · 공급업체(K) 구분(
Koart) - 재분류 계정 — 차변 조정계정(
AdjDrAccount)과 대변 조정계정(AdjCrAccount) - 거래처 정보 — 코드 · 명칭 · 국가(
Land1) · 지역(Ort01) - 미결항목 — 전표별 금액과 만기 정보
| 항목 | 내용 |
|---|---|
| 대응 T-code | F101 (채권채무 재분류) |
| 업무 영역 | 재무회계(FI) · 결산 · 재무제표 표시 |
| Namespace | zui5.regroup |
| 셸 구조 | 조회조건 영역(우측 조회·초기화) + 재분류 대상 목록, 행 선택 시 항목 상세 |
| 화면 수 | 조회 화면 1개 + 재분류 전표 시뮬레이션 |
| 데이터 | 재분류 대상 22건 · 거래처 22건 |
| 성격 | 조회·시뮬레이션형 — 실제 전기는 표준 F101 이 담당 |
| UI 테마 | sap_horizon 단일 적용 |
실제 화면 3종 둘러보기
회사코드·기준일·계정유형으로 조회하면 거래처별 재분류 대상액이 나옵니다 → 유동·비유동 구분과 조정계정을 확인하고 → 행을 눌러 재분류 전표가 어떻게 만들어지는지 미리 봅니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
조작 방법
- 회사코드와 기준일을 넣습니다. 잔존만기는 이 날짜에서 계산됩니다.
- 계정유형으로 채권과 채무를 나눠 봅니다.
- 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
- 재분류 대상액이 있는 거래처를 확인합니다. 0인 거래처는 조정이 필요 없습니다.
- 조정계정이 업무 기준과 맞는지 확인합니다. 장기성매출채권 등 계정이 표시됩니다.
- 행을 선택하면 재분류 전표가 시뮬레이션됩니다. 전기 전에 검토합니다.
- 결과는 CSV 다운로드로 내려받아 결산 조서에 첨부합니다.
잔존만기 분류 규칙
분류는 기준일과 만기일 사이의 거리로 정해집니다.
잔존만기 = 만기일 − 기준일
잔존만기 ≤ 1년 → 유동 (재분류 불필요)
잔존만기 > 1년 → 비유동 (재분류 대상)
재분류 전표 차변: 장기성 계정(AdjDrAccount)
대변: 재분류조정 계정(AdjCrAccount)
조정 계정을 따로 두는 이유
원 계정의 잔액을 직접 옮기면 개별항목 관리가 깨집니다. 반제 대상이 사라지기 때문입니다. 그래서 원 계정은 그대로 두고 조정 계정 쌍으로 표시만 바꿉니다. 재무제표에서는 비유동으로 보이면서 실무에서는 원래 채권으로 반제할 수 있습니다.
재분류 처리 4단계
| 단계 | 내용 | 결과물 |
|---|---|---|
| ① 대상 추출 | 기준일 기준 미결항목 수집 | 거래처별 잔액 |
| ② 만기 분류 | 잔존만기로 유동·비유동 구분 | 재분류 대상액 |
| ③ 전표 생성 | 조정계정 쌍으로 분개 생성 | 재분류 전표 |
| ④ 기초 역분개 | 다음 기 초에 자동 취소 | 원 상태 복귀 |
④단계가 있어야 다음 기에 중복 조정이 생기지 않습니다. 표준 F101 은 역분개 전표를 함께 만듭니다.
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
회사코드 Bukrs | 필수 | 대상 회사코드 |
| 기준일 | 필수 | 잔존만기 계산 기준일 (보통 결산일) |
계정유형 Koart | 필수 | D 고객 / K 공급업체 |
거래처 Konto | 선택 | 특정 거래처만 |
조정계정 ReconAccount | 선택 | 계정 범위 |
결과 컬럼
| 컬럼 | 의미 · 표시 |
|---|---|
거래처 Konto · Name1 | 코드와 명칭 |
국가 Land1 · 지역 Ort01 | 거래처 소재 |
조정계정 ReconAccount · ReconAccountText | 원 계정과 명칭 |
통화 Currency | 거래 통화 |
잔액 TotalBalance | 기준일 기준 미결 합계 |
재분류 차변계정 AdjDrAccount | 장기성 계정 (예: 장기성매출채권) |
재분류 대변계정 AdjCrAccount | 재분류조정 계정 |
담당자 ResponsibleUser | 결산 담당 |
비고 Remark | 소송 진행 등 특이사항 |
SAP 표준 기능 매핑
| 표준 | 역할 | 이 화면에서의 확장 |
|---|---|---|
F101 | 채권채무 재분류 실행 | 실행 전에 대상과 전표를 미리 확인 |
FBL5N · FBL1N | 개별항목 조회 | 잔존만기 기준 분류를 얹어 집계 |
BSID · BSIK | 고객 · 공급업체 미결 항목 | 분류 원천 |
KNA1 · LFA1 | 거래처 마스터 | 거래처 명칭·소재 |
SKA1 | 계정 마스터 | 조정계정 명칭 |
도입 시 확인이 필요한 부분
재분류 계정 매핑은 F101 설정에 정의됩니다. 원 계정마다 어느 장기성 계정으로 보낼지가 설정에 있으므로, 화면에서도 그 설정을 읽어야 실제 전기와 결과가 일치합니다. 또 1년 기준 외에 3개월·5년 같은 추가 구간을 쓰는 곳도 있어 구분 단계를 함께 확인합니다.
참고 CDS 뷰
@AbapCatalog.sqlViewName: 'ZCREGROUP'
@EndUserText.label: '채권채무 장단기 재분류 (Z)'
define view Z_C_AR_AP_REGROUP
with parameters p_keydate : dats
as select from bsid as Item
inner join kna1 as Customer on Item.kunnr = Customer.kunnr
{
key Item.bukrs,
key Item.kunnr as Konto,
'D' as Koart,
Customer.name1 as Name1,
Customer.land1 as Land1,
Customer.ort01 as Ort01,
Item.hkont as ReconAccount,
Item.waers as Currency,
sum( Item.dmbtr ) as TotalBalance,
// 잔존만기 1년 초과분만 재분류 대상으로 집계
sum( case when dats_days_between( :p_keydate, Item.zfbdt ) > 365
then Item.dmbtr else 0 end ) as NonCurrentAmount
// 재분류 계정 쌍은 F101 설정 테이블을 참조하는 연장 뷰에서
}
group by Item.bukrs, Item.kunnr, Customer.name1, Customer.land1,
Customer.ort01, Item.hkont, Item.waers
매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경 설정과 릴리즈에 맞춰 조정합니다.
OpenUI5 구성
| 기능 | 사용 컨트롤 |
|---|---|
| 화면 골격 | sap.m.Page + 조회조건 영역 · 재분류 대상 테이블 |
| 조회조건 | sap.m.Select · sap.m.DatePicker · sap.m.Input — 우측 끝에 조회·초기화 |
| 이벤트 | 모든 버튼이 onPAI 단일 진입점, fcCode 로 분기 |
| 대상 테이블 | sap.m.Table — 조정계정 쌍을 나란히 배치 |
| 상태 표시 | sap.m.ObjectStatus — 재분류 대상 여부 |
| 시뮬레이션 | sap.m.Dialog — 차변·대변 분개 미리보기 |
전표를 미리 보여 주는 이유
재분류는 결산 막바지에 돌리는 작업이라 잘못 전기하면 되돌리는 비용이 큽니다. 계정과 금액을 실행 전에 화면에서 확인할 수 있으면, 설정이 잘못된 계정 매핑을 미리 잡을 수 있습니다. 실제 전기는 표준 F101 에 맡기고 이 화면은 검토용으로 씁니다.
파일 구성
| 경로 | 역할 |
|---|---|
manifest.json | 앱 디스크립터 — 앱 ID(zui5.regroup) · ko 로케일 |
view/Main.view.xml | 조회조건과 재분류 대상 테이블 |
controller/Main.controller.js | 조회 · 잔존만기 분류 · 전표 시뮬레이션 · CSV |
model/ModelMock.js | localdata JSON 읽기(Promise) |
js/formatter.js | 금액 · 일자 · 계정 · 상태 색 포맷터 |
localdata/regroup.json | 재분류 대상 22건 |
localdata/bp.json | 거래처 22건 |
검증 결과
| 검증 항목 | 결과 |
|---|---|
| 잔존만기 = 만기일 − 기준일 (전 건 재계산) | 통과 |
| 1년 초과분만 재분류 대상으로 집계 | 통과 |
| 재분류 전표 차변 합계 = 대변 합계 | 통과 |
| 조정계정 코드가 있으면 명칭도 존재 | 통과 |
| 거래처 잔액 = 항목 금액 합계 | 통과 |
| XML · JSON 전체 파싱 | 오류 0건 |
| 화면 렌더링 — 실브라우저 조회 → 시뮬레이션 실동작 후 캡처 | 3/3 |
| 테마 런타임 확인 | sap_horizon |
자주 묻는 질문
왜 원 계정을 직접 옮기지 않나요?
개별항목 관리가 깨지기 때문입니다. 원 계정 잔액을 옮기면 나중에 반제할 대상이 사라집니다. 조정 계정 쌍으로 표시만 바꾸면 재무제표는 비유동으로 보이면서 실무에서는 원래 채권으로 반제할 수 있습니다.
다음 기에는 어떻게 되나요?
기초에 역분개로 자동 취소됩니다. 그러지 않으면 조정이 누적돼 이중으로 잡힙니다. 표준 F101 은 재분류 전표와 역분개 전표를 함께 만듭니다.
1년 말고 다른 구간도 쓰나요?
씁니다. 3개월 이내·1년 이내·1년 초과처럼 여러 단계로 나누는 곳도 있고, 공시 요구사항에 따라 5년 구간을 두기도 합니다. 구분 단계는 설정에 맞춰 조정합니다.
SAP 표준 기능과 어떻게 이어지나요?
재분류 실행과 역분개는 F101 이 담당합니다. 이 화면은 실행 전에 대상 거래처와 금액, 만들어질 분개를 미리 확인해 계정 매핑 오류를 잡는 검토용 확장입니다.