솔루션 홈
FD32 · FD33 · 신용관리

SAP 고객 여신한도 관리 — 한도를 넘기 전에 알아채기

거래처별 여신한도와 채권·수주 노출액을 합쳐 가용한도와 사용률을 계산하고, 한도 초과와 차단 거래처를 먼저 보여 주는 화면입니다.

여신 관리에서 늦은 정보는 없는 정보와 같습니다. 한도를 넘긴 뒤에 알면 이미 물건은 나갔습니다.

노출액은 받을 채권만이 아니라 아직 청구하지 않은 수주까지 포함해야 실제 위험이 보입니다. SAP 표준 신용관리 구조를 그대로 이어받아 두 가지를 합쳐 가용한도로 환산하도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 3종을 함께 공개합니다.

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

  • 신용관리영역 — KKBER 단위로 한도를 관리하는 표준 구조
  • 여신한도 — 고객 신용 데이터의 한도(CreditLimit)
  • 위험등급 — 표준 위험등급 코드(RiskCategory)와 텍스트
  • 차단 — 수동 차단 표시(ManualBlocked)와 사유
  • 거래처 · 영업조직 — 고객(Kunnr)과 영업조직(SalesOrg)
항목내용
대응 T-codeFD32 · FD33 · S_ALR_87012218
업무 영역재무회계(FI-AR) · 신용관리
Namespacezui5.credit
셸 구조조회조건 영역(우측 조회·초기화) + 여신 현황 목록, 행 선택 시 이력
화면 수조회 화면 1개 + 한도 변경 이력
데이터여신 현황 20건 · 고객 목록 20건
성격조회형(Read-Only) — 한도 설정과 차단은 표준이 담당
UI 테마sap_horizon 단일 적용

실제 화면 3종 둘러보기

회사코드·신용관리영역으로 조회하면 거래처별 한도와 노출액이 나옵니다 → 사용률이 높은 거래처와 차단 건을 먼저 보고 → 행을 눌러 한도 변경 이력과 최근 검토일을 확인합니다.

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

FD32 — Main.view.xml
초기 진입 화면 — 조회조건과 안내 메시지
초기 진입 화면 — 조회조건과 안내 메시지 — 회사코드·신용관리영역·위험등급을 고르는 화면입니다. 조회·초기화 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
FD32 — 여신 현황
메인화면 — 한도·노출액·가용한도
메인화면 — 한도·노출액·가용한도 — 거래처마다 여신한도·미수채권·미청구수주·노출액·가용한도·사용률이 이어집니다. 사용률이 높은 줄과 한도 초과·차단 거래처는 상태 색으로 먼저 보입니다.
FD32 — 한도 이력
상세 다이얼로그 — 한도 변경 이력
상세 다이얼로그 — 한도 변경 이력 — 행을 고르면 한도가 언제 얼마로 조정됐는지 이력이 펼쳐집니다. 최근 검토일과 함께 보면 한도가 오래 방치됐는지도 드러납니다.

조작 방법

  1. 회사코드신용관리영역을 고릅니다. 한도는 신용관리영역 단위로 관리됩니다.
  2. 위험등급으로 좁혀 고위험 거래처만 볼 수 있습니다.
  3. 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
  4. 사용률이 높은 순으로 봅니다. 한도에 가까운 거래처가 먼저 나옵니다.
  5. 한도초과차단 표시가 있는 건은 수주 승인 전에 확인이 필요합니다.
  6. 행을 선택하면 한도 변경 이력이 열립니다. 최근 검토일이 오래됐으면 재검토 대상입니다.
  7. 결과는 CSV 다운로드로 내려받습니다.

노출액과 사용률 산식

여신 판단은 세 줄의 계산으로 끝납니다.

노출액(Exposure)    = 미수채권(OpenAR) + 미청구수주(OpenOrders)
가용한도(Available) = 여신한도(CreditLimit) − 노출액
사용률(UtilizationPct) = 노출액 ÷ 여신한도 × 100

가용한도 < 0            →  한도초과 (OverLimit)
수동 차단 표시 있음      →  차단 (Blocked) — 사유와 함께 표시

수주를 노출액에 넣는 이유

미수채권만 보면 이미 나간 물건만 셉니다. 그런데 수주를 받아 둔 물량은 곧 채권이 됩니다. 출하 직전에 한도를 넘는 것을 막으려면 아직 청구하지 않은 수주까지 미리 세어야 합니다. 그래서 노출액은 채권과 수주의 합으로 잡습니다.

여신 상태 4구간

상태판정통상 대응
여유사용률이 낮음정상 거래
주의한도에 근접추가 수주 전 확인 · 한도 재검토 검토
한도초과가용한도 < 0수주 승인 보류 · 승인 절차 필요
차단수동 차단 설정됨사유 확인 후 해제 또는 거래 중단

조회조건

필드필수설명
회사코드 Bukrs필수대상 회사코드
신용관리영역 KKBER필수한도 관리 단위
고객 Kunnr선택특정 거래처만
위험등급 RiskCategory선택저위험 · 중위험 · 고위험
상태선택전체 / 한도초과만 / 차단만

결과 컬럼

컬럼의미 · 표시
고객 Kunnr · Name1코드와 명칭
영업조직 SalesOrg거래 조직
위험등급 RiskCategory · RiskCategoryText저·중·고위험
여신한도 CreditLimit설정된 한도
미수채권 OpenAR아직 회수되지 않은 채권
미청구수주 OpenOrders수주는 받았으나 청구 전인 금액
노출액 Exposure미수채권 + 미청구수주
가용한도 Available여신한도 − 노출액. 음수면 경고
사용률 UtilizationPct노출액 ÷ 여신한도. 구간별 상태 색
한도초과 OverLimit · 차단 Blocked상태 표시와 차단 사유
최근 검토일 LastReviewDate한도를 마지막으로 점검한 날

SAP 표준 기능 매핑

표준역할이 화면에서의 확장
FD32 · FD33고객 신용관리 · 조회한도와 노출액을 합쳐 사용률로 환산
S_ALR_87012218신용한도 개요 리포트수주까지 포함한 노출액과 차단 상태를 함께
KNKK고객 신용 데이터 — 한도 · 위험등급한도와 등급 원천
BSID고객 미결 항목미수채권 산출
VBAK수주 헤더미청구 수주 산출
KNA1고객 마스터거래처 명칭

도입 시 확인이 필요한 부분

노출액 정의가 회사마다 다릅니다. 미청구 수주를 전액 넣는 곳과 출하 예정분만 넣는 곳이 있고, 어음으로 받은 채권을 제외하기도 합니다. 정의가 영업과 재무에서 다르면 같은 화면을 보고도 결론이 갈리므로 먼저 합의해야 합니다.

참고 CDS 뷰

@AbapCatalog.sqlViewName: 'ZCCREDIT'
@EndUserText.label: '고객 여신 현황 (Z)'
define view Z_C_CUSTOMER_CREDIT
  as select from knkk as Credit
    inner join kna1 as Customer on Credit.kunnr = Customer.kunnr
{
  key Credit.kkber                as Kkber,
  key Credit.kunnr                as Kunnr,
      Customer.name1              as Name1,
      Credit.klimk                as CreditLimit,
      Credit.ctlpc                as RiskCategory,
      Credit.dtrev                as LastReviewDate
      // 미수채권(BSID)·미청구수주(VBAK)는 집계 뷰와 조인해
      // Exposure = OpenAR + OpenOrders, Available = CreditLimit − Exposure
      // UtilizationPct = Exposure / CreditLimit × 100 으로 소비 뷰에서 계산
}

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

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.m.Page + 조회조건 영역 · 여신 현황 테이블
조회조건sap.m.Select · sap.m.DatePicker · sap.m.Input — 우측 끝에 조회·초기화
이벤트모든 버튼이 onPAI 단일 진입점, fcCode 로 분기
현황 테이블sap.m.Table — 금액 우측정렬
사용률sap.m.ObjectStatus — 구간별 상태 색
이력 화면sap.m.Dialog — 한도 변경 이력

가용한도를 금액으로 보여 주는 이유

사용률만 있으면 "73%" 라는 비율이 얼마인지 다시 계산해야 합니다. 영업에서 묻는 것은 "얼마까지 더 받을 수 있나" 이므로, 가용한도를 금액으로 함께 두면 답이 바로 나옵니다.

파일 구성

경로역할
manifest.json앱 디스크립터 — 앱 ID(zui5.credit) · ko 로케일
view/Main.view.xml조회조건과 여신 현황 테이블
controller/Main.controller.js조회 · 노출액·사용률 계산 · 이력 · CSV
model/ModelMock.jslocaldata JSON 읽기(Promise)
js/formatter.js금액 · 비율 · 상태 색 포맷터
localdata/credit.json여신 현황 20건
localdata/custlist.json고객 목록 20건

검증 결과

검증 항목결과
노출액 = 미수채권 + 미청구수주 (전 건)통과
가용한도 = 여신한도 − 노출액통과
사용률 = 노출액 ÷ 여신한도 × 100통과
가용한도 < 0 인 건만 한도초과 표시통과
차단 건은 차단 사유 존재통과
XML · JSON 전체 파싱오류 0건
화면 렌더링 — 실브라우저 조회 → 이력 실동작 후 캡처3/3
테마 런타임 확인sap_horizon

자주 묻는 질문

미청구 수주를 꼭 넣어야 하나요?

출하 전에 막으려면 넣어야 합니다. 다만 수주 후 취소가 잦은 업종은 과대 계상이 되므로, 출하 예정분만 넣는 방식도 씁니다. 회사 정책으로 정하면 됩니다.

한도 초과인데 차단이 안 걸리는 경우가 있나요?

있습니다. 차단은 자동 판정과 별개로 수동 설정이 가능해, 한도를 넘겨도 예외 승인으로 거래를 이어가는 경우가 있습니다. 두 상태를 별도 열로 둔 이유입니다.

최근 검토일은 왜 표시하나요?

한도는 한 번 정하면 잊히기 쉽습니다. 거래 규모가 커졌는데 한도가 3년 전 값이면 실질적인 통제가 되지 않습니다. 검토일이 오래된 거래처를 주기적으로 걸러 내는 용도입니다.

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

한도 설정과 차단은 FD32 가 담당하고 데이터는 표준 신용 구조에 남습니다. 이 화면은 그 한도에 채권과 수주 노출액을 합쳐 사용률로 환산하고, 초과·차단 건을 먼저 보여 주는 조회 전용 확장입니다.

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

한도를 넘긴 뒤가 아니라 넘기 전에 알 수 있으면 영업과 재무의 대화가 달라집니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

여신한도신용관리FD32한도초과노출액위험등급여신 차단OpenUI5