솔루션 홈
FD10N · 채권관리

SAP 고객 잔액 조회 — 받을 돈과 신용한도를 같이 보기

고객별 매출채권 잔액 롤포워드와 함께 미결제·연체, 신용한도 소진율까지 한 화면에서 확인합니다.

매출채권 관리는 얼마를 못 받았나만으로는 부족합니다. 그 고객에게 앞으로 얼마나 더 팔아도 되는지가 함께 있어야 판단이 됩니다.

잔액은 FD10N 에서, 신용한도는 여신관리에서 따로 봅니다. 두 숫자를 오가며 맞춰 보는 대신 한 줄에 놓도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 3종을 함께 공개합니다.

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

  • 고객 — 코드(KNA1-KUNNR)와 명칭 · 계정그룹(KTOKD)
  • 잔액 — 회계연도·월별 누계(KNC1)
  • 조정계정 — 회사코드별 설정(KNB1-AKONT)
  • 전표 — 미결(BSID)과 반제(BSAD)
  • 신용관리 — 신용한도와 여신 정보(KNKK)
항목내용
대응 T-codeFD10N · FBL5N · S_ALR_87012172
업무 영역재무회계(FI-AR) · 매출채권 · 여신관리
Namespacezui5.custbal
셸 구조DynamicPage + 조회조건 Panel + 잔액 테이블 + 상세 Dialog
데이터OData 미구현 — ModelMock 이 localdata JSON 을 fetch
대응 관계vendorbal(FK10N 매입채무)의 거울상 — 차대 극성 반전
UI 테마sap_horizon 단일 적용

실제 화면 3종 둘러보기

회사코드·회계연도·기준월로 조회하면 고객별 잔액이 나옵니다 → 연체금액과 한도 소진율을 확인하고 → 행을 눌러 월별 증감과 전표로 내려갑니다.

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

FD10N — Main.view.xml
메인 화면 — 고객별 잔액과 한도
메인 화면 — 고객별 잔액과 한도 — 이월잔액·차변(매출)·대변(수금)·기말잔액과 함께 미결제 건수·연체금액·연체비중·신용한도 소진율이 표시됩니다. 조회 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
FD10N — 여신 필터
한도 초과 고객만
한도 초과 고객만 — 잔액 0 제외, 연체 보유고객만, 신용한도 초과만 체크박스로 목록을 추립니다. 고객코드나 고객명은 Enter 키로 바로 조회됩니다.
FD10N — 상세 Dialog
월별 롤포워드와 전표
월별 롤포워드와 전표 — 고객 헤더와 월별 증감이 표시되고, 청산문서 유형(DZ/DG)과 함께 전표 내역이 이어집니다.

조작 방법

  1. 회사코드회계연도를 고릅니다.
  2. 기준월을 정합니다. 그 월까지 누계로 잔액이 롤포워드됩니다.
  3. 고객 코드·명칭은 부분일치로 찾습니다. Enter 키로 조회됩니다.
  4. 계정그룹·조정계정으로 범위를 좁힙니다.
  5. 신용한도 초과만 체크박스로 소진율 100% 이상 고객을 추립니다.
  6. 연체비중소진율을 함께 봅니다. 둘 다 높으면 위험 신호입니다.
  7. 행을 누르면 월별 증감전표 내역이 열립니다.

잔액과 한도 판정

매입채무와 차대 극성이 반대입니다.

기말잔액 = 이월 + 차변(매출) − 대변(수금)
  고객 입장에서 차변이 매출채권 증가, 대변이 감소

연체금액 = 미결제 중 만기일 < 기준월 말일 인 금액
연체비중 = 연체금액 ÷ 미결제금액 × 100

한도 소진율 = 기말잔액 ÷ 신용한도 × 100
  100% 이상  →  한도 초과
  한도가 0 또는 미설정이면 소진율 계산 제외

연체와 소진율을 함께 봐야 하는 이유

연체가 없어도 한도를 다 쓴 고객은 추가 출고가 막힙니다. 반대로 한도에 여유가 있어도 연체가 쌓이면 회수 문제입니다. 두 지표가 가리키는 위험이 달라서 한쪽만 보면 대응 시점을 놓칩니다.

인접 앱과의 구분

비교 대상차이점본 앱의 위치
vendorbal (FK10N)매입채무 — AP차대 극성 반대, 한도 지표 없음
arstmt (외상매출금 명세서)월별 전표 나열 중심본 앱은 잔액 롤포워드 중심
arlist (채권 명세서)받을어음 포함 채권 전반본 앱은 조정계정 기준 집계
aging (연령분석)구간별 Bucket 분석본 앱은 고객별 단일 요약

조회조건

필드필수설명
회사코드 Bukrs필수1000 한국법인(KRW) · 2000 미국법인(USD)
회계연도 Gjahr필수2026
기준월 MonatTo필수그 월까지 누계로 롤포워드
고객 코드 Kunnr선택부분일치. Enter 조회
고객명 Name1선택부분일치
계정그룹 Ktokd선택DEBI / EXPT / INTC / CPD
조정계정 Akont선택1080100 / 1080200 / 1081000
잔액 0 제외선택기말잔액 0 인 고객 숨김
연체 보유고객만선택연체금액 > 0
신용한도 초과만선택소진율 ≥ 100%

결과 컬럼

컬럼의미 · 표시
고객 · 고객명거래처 식별
계정그룹 · 조정계정분류와 귀속 계정
이월잔액전기 이월
차변(매출) · 대변(수금)기준월까지 누계
기말잔액이월 + 차변 − 대변
미결제 건수 · 금액as-of 기준
연체금액 · 연체비중만기 경과분
신용한도여신 설정값
한도 소진율기말잔액 ÷ 한도. 초과 시 경고 색
월별 증감 · 전표상세에서 확인

SAP 표준 기능 매핑

표준역할이 화면에서의 확장
FD10N고객 잔액 조회한도 소진율 지표 신설
FBL5N고객 라인아이템상세 Dialog 로 통합
S_ALR_87012172고객 미결 항목 분석연체 관점 참고
KNC1고객 기간 잔액잔액 원천
BSID · BSAD미결·반제 항목전표 원천
KNKK신용관리 마스터신용한도

도입 시 확인이 필요한 부분

신용한도가 신용관리 영역 단위로 설정되는 점에 주의해야 합니다. 회사코드와 신용관리 영역이 1:1 이 아니면 잔액과 한도의 범위가 어긋납니다. 또 한도가 설정되지 않은 고객은 소진율이 의미가 없어 계산에서 빼야 합니다.

참고 CDS 뷰

@AbapCatalog.sqlViewName: 'ZCCUSTBAL'
@EndUserText.label: '고객 잔액 조회 (Z)'
define view Z_C_CUSTOMER_BALANCE
  as select from knc1 as Bal
    inner join      kna1 as Customer on Bal.kunnr = Customer.kunnr
    left outer join knb1 as Company  on Bal.kunnr = Company.kunnr
                                   and Bal.bukrs = Company.bukrs
    left outer join knkk as Credit   on Bal.kunnr = Credit.kunnr
{
  key Bal.bukrs,
  key Bal.kunnr,
  key Bal.gjahr,
      Customer.name1 as CustomerName,
      Customer.ktokd as AccountGroup,
      Company.akont  as ReconAccount,
      Bal.umsav      as CarryForward,
      Bal.um01s, Bal.um01h,  // 월별 차변·대변 (01~12)
      Credit.klimk   as CreditLimit
      // 기말잔액 = 이월 + 차변 − 대변 (기준월까지 누계)
      // 한도 소진율 = 기말잔액 ÷ 신용한도 × 100
      // 미결제·연체는 BSID/BSAD 를 기준월 as-of 로 판정해 조인
}

매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경 설정과 릴리즈에 맞춰 조정합니다.

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.f.DynamicPage + 조회조건 Panel + 잔액 테이블
조회조건sap.m.Select · sap.m.Input · sap.m.CheckBox — 우측 끝에 조회·초기화
이벤트change · submit 핸들러로 조회 이력이 있으면 즉시 재조회
잔액 테이블sap.ui.table.Table — 합계 바
소진율 표시sap.m.ObjectStatus — 한도임박 / 한도초과
상세sap.m.Dialog — 월별 증감 + 전표 내역
모델ModelMock — localdata JSON fetch, read() Promise

매입채무 앱과 같은 구조를 쓴 이유

AR 과 AP 는 방향만 반대일 뿐 보는 방식이 같습니다. 화면 구조를 맞춰 두면 담당자가 두 화면을 오갈 때 다시 익힐 것이 없습니다. 차대 극성과 한도 지표만 다르게 두면 충분합니다.

파일 구성

경로역할
manifest.json앱 디스크립터 — 앱 ID(zui5.custbal) · ko 로케일
view/Main.view.xmlDynamicPage · 조회조건 · 잔액 테이블
view/DetailDialog.fragment.xml월별 증감과 전표 내역
controller/Main.controller.js조회 · 롤포워드 · 소진율 산출
model/ModelMock.jslocaldata JSON 읽기(Promise)
js/formatter.js금액 · 비율 · 한도 색 포맷터
i18n/i18n_ko.properties한국어 텍스트

검증 결과

검증 항목결과
기말잔액 = 이월 + 차변 − 대변 (전 고객)통과
월별 증감 합계 = 기말잔액통과
한도 소진율 = 기말잔액 ÷ 신용한도 × 100통과
한도 미설정 고객은 소진율 계산에서 제외통과
연체비중 = 연체금액 ÷ 미결제금액 × 100통과
고객코드 Enter 조회 실동작 확인통과
화면 렌더링 — 실브라우저 조회 → 상세 실동작 후 캡처3/3
테마 런타임 확인sap_horizon

자주 묻는 질문

한도 소진율이 100%를 넘으면 출고가 막히나요?

여신관리 설정에 따라 다릅니다. 차단으로 설정하면 수주나 출고가 막히고, 경고면 진행됩니다. 이 화면은 그 상태를 미리 보여 주는 용도입니다.

한도가 설정되지 않은 고객은요?

소진율이 계산되지 않고 공란으로 표시됩니다. 여신 심사를 거치지 않은 고객이므로 거래 규모가 커지면 한도 설정을 검토해야 합니다.

매입채무 화면과 숫자 방향이 반대인 이유는?

고객 입장에서는 차변이 매출채권 증가입니다. 공급업체는 대변이 채무 증가라 극성이 반대로 나타납니다.

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

잔액·전표·신용한도는 모두 표준 구조입니다. 이 화면은 흩어진 세 정보를 고객 한 줄에 모아 회수와 여신을 함께 판단하게 하는 확장입니다.

여신·채권 관리, 지금 쓰는 SAP 위에서 확장해 보세요

연체와 한도를 한 줄에서 보면 대응 시점을 놓치지 않습니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

고객 잔액FD10NFBL5N매출채권신용한도소진율여신관리OpenUI5