솔루션 홈
FBL5N · 채권관리

SAP 채권채무 연령분석 — 금액이 아니라 시간으로 줄 세우기

거래처별 미결 채권·채무를 만기 경과일수로 갈라 구간별로 세우고, 오래 묶인 돈부터 회수 순서를 정하는 화면입니다.

채권 잔액이 크다는 사실만으로는 아무 판단도 나오지 않습니다. 어제 발행한 10억과 여덟 달 전에 발행한 1억 중 먼저 챙겨야 할 것은 뒤쪽입니다.

그래서 채권은 금액이 아니라 시간으로 줄을 세워야 합니다. 만기가 얼마나 지났는지에 따라 회수 가능성도, 대손 판단도 달라지기 때문입니다. SAP 표준 미결항목 구조를 그대로 이어받아 경과일수 구간으로 갈라 보도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 3종을 함께 공개합니다.

SAP 표준 기능을 그대로 이어받은 부분

  • 계정유형 — 고객(D) · 공급업체(K) 구분(AcctType)을 표준 분류대로 유지
  • 기산일 — 만기 계산의 기준이 되는 Zfbdt 를 그대로 사용
  • 전표 키 — 전표번호(Belnr) · 회계연도(Gjahr)로 표준 전표 추적
  • 금액 — 원화환산 금액(Dmbtr)과 통화(Waers) 표준 필드
  • 거래처 마스터 — 고객(KNA1) · 공급업체(LFA1) 명칭
항목내용
대응 T-codeFBL5N · FBL1N (고객 · 공급업체 개별항목)
업무 영역재무회계(FI-AR/AP) · 채권채무 연령분석
Namespacezui5.aging
셸 구조조회조건 영역(우측 조회·초기화) + 연령 분포 목록, 행 선택 시 상세 다이얼로그
화면 수조회 화면 1개 + 전표 상세
데이터미결 항목 51건 (12개 필드)
성격조회형(Read-Only) — 전기와 반제는 표준 트랜잭션이 담당
UI 테마sap_horizon 단일 적용

실제 화면 3종 둘러보기

회사코드·계정유형·기준일로 조회하면 거래처별 연령 분포가 나옵니다 → 오래된 구간에 금액이 몰린 거래처를 먼저 짚고 → 행을 눌러 어떤 전표가 그 구간을 만들었는지 확인합니다.

아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.

FBL5N — Main.view.xml
초기 진입 화면 — 조회조건과 안내 메시지
초기 진입 화면 — 조회조건과 안내 메시지 — 회사코드·계정유형·기준일을 고르는 화면입니다. 조회·초기화 버튼은 조회조건 영역 오른쪽 끝에 있고, 값을 바꾸거나 Enter 를 누르면 바로 조회됩니다.
FBL5N — MainContent01.fragment.xml
메인화면 — 거래처별 연령 분포
메인화면 — 거래처별 연령 분포 — 거래처마다 경과일수 구간별 금액이 한 줄로 이어집니다. 오래된 구간에 금액이 쌓인 거래처는 상태 색으로 먼저 눈에 들어옵니다.
FBL5N — MainDetailDialog.fragment.xml
상세 다이얼로그 — 구간을 만든 전표
상세 다이얼로그 — 구간을 만든 전표 — 행을 고르면 그 거래처의 미결 전표가 펼쳐집니다. 전표번호·증빙일·전기일·만기일·경과일수·금액·적요가 나와 어느 건이 오래 묶였는지 바로 확인됩니다.

조작 방법

  1. 회사코드계정유형(고객/공급업체)을 고릅니다.
  2. 기준일을 넣습니다. 경과일수는 이 날짜에서 만기일을 뺀 값이라, 기준일을 바꾸면 분포가 다시 계산됩니다.
  3. 거래처 조건으로 특정 거래처만 볼 수 있습니다.
  4. 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
  5. 오래된 구간(91일 이상)에 금액이 몰린 거래처부터 봅니다. 회수 독촉과 대손 검토 대상이 여기서 나옵니다.
  6. 행을 선택하면 상세 다이얼로그가 열려 구간을 만든 전표를 확인할 수 있습니다.
  7. 결과는 CSV 다운로드로 내려받습니다. UTF-8 BOM 이 붙어 엑셀에서 한글이 깨지지 않습니다.

경과일수 산식과 구간 판정

계산은 뺄셈 하나이고, 나머지는 그 값을 어떻게 나누느냐입니다.

경과일수(Tage) = 기준일 − 만기일(Zfbdt)

경과일수 ≤ 0    →  만기 전   (아직 결제일이 오지 않음)
경과일수 > 0    →  만기 경과 (구간으로 분류)

기준일을 조회조건으로 둔 이유

연령분석은 오늘 기준으로만 보면 과거 시점을 재현할 수 없습니다. 월말이나 결산일 기준으로 다시 봐야 할 때가 있고, 대손충당금 설정 근거도 특정 시점 기준이어야 합니다. 기준일을 파라미터로 받으면 같은 데이터로 여러 시점의 분포를 만들 수 있습니다.

연령 구간 4단계

구간이 올라갈수록 회수 가능성이 떨어지고 대응 방식이 달라집니다.

구간경과일수통상 대응
만기 전경과일수 ≤ 0정상 — 예정 자금으로 관리
1~30일갓 지난 구간입금 확인 · 담당자 연락
31~90일지연이 굳어지는 구간공식 독촉 · 거래 조건 재검토
91일 초과장기 미회수대손 검토 · 법적 조치 판단

구간 경계는 회사 채권 관리 규정에 맞춰 조정합니다. 업종에 따라 30·60·90 대신 15·45·75 를 쓰기도 합니다.

조회조건

필드필수설명
회사코드필수대상 회사코드
계정유형 AcctType필수D 고객(채권) / K 공급업체(채무)
기준일필수경과일수 계산 기준. 기본값은 오늘
거래처 Partner선택고객 또는 공급업체 코드
전기일 Budat선택기간 From~To

결과 컬럼

연령 분포

컬럼의미 · 표시
거래처 Partner · PartnerName코드와 명칭
계정유형 AcctType고객(D) / 공급업체(K)
구간별 금액만기 전 · 1~30일 · 31~90일 · 91일 초과
합계거래처의 미결 총액
최장 경과일수가장 오래 묶인 건의 일수. 구간에 따라 상태 색

전표 상세

컬럼의미 · 표시
전표번호 Belnr · 연도 Gjahr표준 전표 조회로 이어지는 키
증빙일 Bldat · 전기일 Budat증빙 날짜와 원장 반영 날짜
만기일 Zfbdt결제 기한
경과일수 Tage기준일 − 만기일
금액 Dmbtr · 통화 Waers원화환산 금액과 통화
적요 Sgtxt전표 라인 적요

SAP 표준 기능 매핑

미결 데이터는 표준 전기와 반제가 만듭니다. 이 화면은 그 항목을 시간 축으로 재배열하는 확장입니다.

표준역할이 화면에서의 확장
FBL5N · FBL1N고객 · 공급업체 개별항목 조회항목 나열 대신 거래처별 연령 구간으로 집계
S_ALR_87012178 관점고객 연령분석 표준 리포트기준일을 바꿔 가며 여러 시점을 즉시 재계산
BSID · BSIK고객 · 공급업체 미결 항목분석 원천
BSEG · BKPF전표 라인과 헤더전표 키 · 일자 · 적요
KNA1 · LFA1고객 · 공급업체 마스터거래처 명칭
ACDOCA유니버설 저널 (S/4HANA)원천을 표준 CDS 로 교체 가능

도입 시 확인이 필요한 부분

만기일 기준이 회사마다 다릅니다. 기산일에 결제조건 일수를 더해 계산하는 곳과 전표에 직접 입력한 만기일을 쓰는 곳이 섞여 있어, 어느 값을 쓸지 먼저 정해야 합니다. 구간 경계도 채권 관리 규정과 대손충당금 설정률 체계에 맞춰 조정합니다.

참고 CDS 뷰

운영 서비스로 연결할 때는 미결 항목에 경과일수와 구간을 계산해 붙인 뷰를 제안합니다.

@AbapCatalog.sqlViewName: 'ZCAGING'
@EndUserText.label: '채권채무 연령분석 (Z)'
define view Z_C_AR_AP_AGING
  with parameters p_keydate : dats
  as select from bsid as Item
    left outer join kna1 as Customer on Item.kunnr = Customer.kunnr
{
  key Item.bukrs, key Item.gjahr, key Item.belnr, key Item.buzei,
      'D'                    as AcctType,
      Item.kunnr             as Partner,
      Customer.name1         as PartnerName,
      Item.bldat, Item.budat, Item.zfbdt,
      Item.dmbtr, Item.waers, Item.sgtxt,
      // 경과일수 = 기준일 − 만기일
      dats_days_between( Item.zfbdt, :p_keydate ) as Tage,
      // 구간 분류 — 경계는 회사 규정에 맞춰 조정
      case when dats_days_between( Item.zfbdt, :p_keydate ) <= 0  then 'B0'
           when dats_days_between( Item.zfbdt, :p_keydate ) <= 30 then 'B1'
           when dats_days_between( Item.zfbdt, :p_keydate ) <= 90 then 'B2'
           else 'B3' end     as AgingBucket
}
// 공급업체는 BSIK 로 같은 형태의 뷰를 만들어 union 으로 합침

매핑 이해를 돕기 위한 참고용 설계입니다. S/4HANA 환경이면 ACDOCA 기반 표준 CDS 로 대체합니다.

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.m.Page + 조회조건 영역 · 연령 분포 테이블
조회조건sap.m.Select · sap.m.DatePicker — 우측 끝에 조회·초기화
분포 테이블sap.m.Table — 구간별 금액을 열로 배치
상태 표시sap.m.ObjectStatus — 구간별 상태 색
상세 화면sap.m.Dialog — 구간을 만든 전표 목록
이벤트모든 버튼이 onPAI 단일 진입점, fcCode 로 분기

구간을 열로 펼친 이유

거래처마다 구간별 금액을 행으로 늘어놓으면 한 거래처가 네 줄을 차지해 비교가 어렵습니다. 구간을 열로 두면 한 거래처가 한 줄이 되고, 금액이 어느 쪽으로 쏠렸는지가 가로로 읽힙니다. 오른쪽에 금액이 몰린 줄이 곧 문제 거래처입니다.

파일 구성

경로역할
manifest.json앱 디스크립터 — 앱 ID(zui5.aging) · ko 로케일 · sap_horizon
view/Main.view.xml조회 화면
view/fragments/MainHeader.fragment.xml조회조건 영역과 우측 조회·초기화
view/fragments/MainContent01.fragment.xml연령 분포 테이블
view/fragments/MainDetailDialog.fragment.xml전표 상세
controller/Main.controller.js조회 · 경과일수 계산 · 구간 분류 · CSV
js/formatter.js금액 · 일자 · 구간 상태 색 포맷터
localdata/aging.json미결 항목 51건 (12개 필드)

구간 경계가 바뀌어도 컨트롤러와 포맷터 두 파일만 손보면 됩니다.

검증 결과

검증 항목결과
경과일수 = 기준일 − 만기일 (전 건 재계산)통과
구간 분류가 경과일수와 정합통과
구간별 금액 합 = 거래처 미결 총액통과
계정유형과 거래처 필드 정합 (D↔고객 · K↔공급업체)통과
XML · JSON 전체 파싱오류 0건
manifest 참조 무결성 · i18n 키 누락이상 0건
화면 렌더링 — 실브라우저 조회 → 상세 실동작 후 캡처3/3
테마 런타임 확인sap_horizon

거래처·금액·만기일은 모두 검증용 데이터입니다.

자주 묻는 질문

구간 경계를 바꿀 수 있나요?

설정으로 관리합니다. 30·60·90 이 일반적이지만 결제 주기가 짧은 업종은 15·45·75 를 쓰기도 합니다. 대손충당금 설정률 체계와 구간을 맞추면 연령분석 결과가 곧 충당금 산정 근거가 됩니다.

만기 전 항목도 보이나요?

보입니다. 만기 전 구간에 얼마가 있는지를 알아야 앞으로 들어올 자금을 계획할 수 있기 때문입니다. 회수 독촉만 볼 때는 만기 경과 구간만 남기면 됩니다.

채무도 같은 화면에서 보나요?

계정유형을 공급업체로 바꾸면 같은 구조로 채무 연령이 나옵니다. 다만 해석이 반대여서, 오래 남은 채무는 회수가 아니라 지급 지연이므로 거래 조건이나 자금 계획을 먼저 봐야 합니다.

SAP 표준 기능과 어떻게 이어지나요?

미결 항목은 표준이 관리하고 FBL5N·FBL1N 으로 조회할 수 있습니다. 이 화면은 그 항목을 나열하는 대신 기준일 기준 경과일수로 갈라 거래처별 분포로 집계하고, 기준일을 바꿔 여러 시점을 즉시 재계산하는 확장입니다.

채권 회수 우선순위, 지금 쓰는 SAP 위에서 확장해 보세요

금액 순서가 아니라 시간 순서로 보면 먼저 연락할 거래처가 바뀝니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

연령분석채권채무AgingFBL5N만기 경과회수 우선순위대손OpenUI5