솔루션 홈
채권관리

SAP 외상매출금 명세서 — 여신한도와 미수 내역을 한 화면에

고객별 여신한도와 소진율을 위에 두고 그 아래 전표 단위 미수 내역을 펼쳐, 한도를 넘기 전에 상황을 알아채는 명세서입니다.

외상매출금 명세서를 보는 사람은 대개 두 가지를 동시에 궁금해합니다. 이 고객에게 얼마가 물려 있는가, 그리고 더 팔아도 되는가입니다.

앞의 질문은 채권 명세가, 뒤의 질문은 여신한도가 답합니다. 그런데 두 정보는 보통 다른 화면에 있습니다. SAP 표준 고객 채권 구조를 그대로 이어받아 한도와 소진율을 위에, 전표 내역을 아래에 둬서 한 화면에서 답이 나오도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면을 함께 공개합니다.

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

  • 여신한도 — 고객 신용관리의 한도(klimk)를 그대로 사용
  • 영업 조직 — 영업조직(vkorg) · 영업소(vkbur) · 담당자(vbevn) 표준 구조
  • 전표 키 — 전표번호(belnr) · 라인(buzei) · 전표유형(blart)
  • 결제조건 — 지급조건(zterm)과 만기일(netdt) 표준 필드
  • 영업 문서 — 청구문서(vbeln) · 수주문서(vbelv) 로 SD 연결
항목내용
업무 영역재무회계(FI-AR) · 매출채권 관리
Namespacezui5.arstmt
셸 구조조회조건 영역(우측 조회·초기화) + 고객 요약 + 전표 명세
화면 수조회 화면 1개
데이터채권 명세 240건 (28개 필드)
성격조회형(Read-Only) — 전기와 여신 설정은 표준이 담당
UI 테마sap_horizon 단일 적용

실제 화면 1종 둘러보기

회사코드·고객·영업조직으로 조회하면 고객 요약과 채권 명세가 함께 나옵니다 → 여신 소진율로 여유가 없는 고객을 먼저 보고 → 만기일과 전표 링크로 어느 건이 걸려 있는지 추적합니다.

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

Main.view.xml
초기 진입 화면과 채권 명세
초기 진입 화면과 채권 명세 — 위쪽에 고객·영업조직·담당자·여신한도·총계·소진율이 요약으로 놓이고, 아래에 전표번호·항목·전표유형·전기일·만기일·지급조건·금액·청구문서·수주문서가 이어집니다. 소진율과 만기일은 상태 색으로 표시되고, 전표번호와 영업 문서는 링크로 연결됩니다.

조작 방법

  1. 회사코드고객을 넣습니다. 영업조직이나 담당자로도 묶어 볼 수 있습니다.
  2. 기준일을 넣으면 만기 경과 여부가 그 날짜 기준으로 판정됩니다.
  3. 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
  4. 위쪽 요약에서 소진율을 먼저 봅니다. 한도에 가까운 고객은 추가 수주 전에 확인이 필요합니다.
  5. 아래 명세에서 만기일이 지난 건을 가려냅니다. 상태 색으로 구분됩니다.
  6. 전표번호 · 청구문서 · 수주문서 링크로 원 문서까지 따라갑니다.
  7. 결과는 CSV 다운로드로 내려받습니다. UTF-8 BOM 이 붙어 엑셀에서 한글이 깨지지 않습니다.

소진율과 만기 판정

요약의 두 숫자가 이 화면의 핵심입니다. 하나는 얼마나 물려 있는지, 다른 하나는 얼마나 여유가 있는지를 말합니다.

총계     = Σ(고객의 미수 원화환산금액)
소진율   = 총계 ÷ 여신한도(klimk) × 100

소진율 낮음   →  여유 있음
소진율 높음   →  주의 — 추가 수주 전 확인
소진율 100% 초과 →  한도 초과 — 승인 절차 필요

만기 경과 = 기준일 > 만기일(netdt)  →  만기일 열을 경고 색으로

한도와 명세를 한 화면에 둔 이유

영업에서 오는 질문은 "이 고객 더 받아도 되나요" 인데, 답하려면 한도와 현재 미수를 둘 다 봐야 합니다. 두 정보가 다른 화면에 있으면 매번 두 번 조회하고 암산으로 비교하게 됩니다. 소진율 한 줄로 요약해 두면 그 질문이 화면 한 번으로 끝납니다.

명세를 보는 세 가지 관점

같은 데이터를 누가 보느냐에 따라 먼저 읽는 열이 달라집니다.

보는 사람먼저 읽는 열답하는 질문
자금 · 회계만기일 · 금액 · 지급조건언제 얼마가 들어오는가
영업여신한도 · 소진율 · 담당자더 팔아도 되는가
대사 · 감사전표번호 · 지정 · 청구문서 · 수주문서이 금액의 근거는 무엇인가

조회조건

필드필수설명
회사코드 bukrs필수대상 회사코드
고객 kunnr선택고객 코드·명칭
영업조직 vkorg선택영업조직 단위 집계
영업소 vkbur선택영업소 단위
영업담당자 vbevn선택담당자별 채권 현황
기준일선택만기 경과 판정 기준일
전기일 budat선택기간 From~To

결과 컬럼

고객 요약

컬럼의미 · 표시
고객 kunnr · name1코드와 명칭
영업조직 vkorg · 영업소 vkbur조직 귀속
영업담당자 vbevn담당자 코드와 이름
여신한도 klimk고객 신용한도
총계미수 합계. 상태 색으로 표시
소진율총계 ÷ 여신한도. 구간에 따라 상태 색
이전년도전년도 실적으로 이동하는 링크

전표 명세

컬럼의미 · 표시
전표번호 belnr · 항목 buzei링크로 원전표 연결
전표유형 blart · blartTx코드와 텍스트
전기일자 budat · 증빙일자 bldat원장 반영일과 증빙 날짜
G/L 계정 racct조정계정과 명칭
지정 zuonr대사 단위로 쓰는 지정 값
만기일 netdt결제 기한. 기준일을 넘기면 경고 색
지급조건 zterm · ztermTxL/C 90일 등 결제 조건
통화 · 거래통화금액 · 원화환산금액금액 정보
Billing Doc vbeln청구문서 링크
Sales Doc vbelv수주문서 링크

SAP 표준 기능 매핑

채권과 여신은 표준이 관리합니다. 이 화면은 두 정보를 한 화면에 모으고 영업 문서까지 이어 붙이는 확장입니다.

표준역할이 화면에서의 확장
FBL5N고객 개별항목 조회여신 요약을 위에 두고 명세를 아래에 배치
FD32고객 신용관리한도를 읽어 소진율로 환산해 표시
FD10N고객 잔액 조회잔액을 전표 단위 명세와 함께 제시
BSID · BSAD고객 미결 · 반제 항목명세 원천
KNA1 · KNKK고객 마스터 · 신용 데이터고객명과 여신한도
VBRK · VBAK청구문서 · 수주문서 헤더영업 문서 링크로 연결
ACDOCA유니버설 저널 (S/4HANA)원천을 표준 CDS 로 교체 가능

도입 시 확인이 필요한 부분

여신한도는 신용관리 영역별로 관리되며, 회사코드와 신용관리 영역이 1:1이 아닌 경우 한도를 어느 단위로 볼지 정해야 합니다. 또 소진율 분모에 미결 채권만 넣을지, 미청구 수주까지 포함할지에 따라 숫자가 달라지므로 영업·재무가 같은 정의를 쓰는지 먼저 맞춰야 합니다.

참고 CDS 뷰

운영 서비스로 연결할 때는 고객 채권에 여신 한도와 영업 조직을 붙인 뷰를 제안합니다.

@AbapCatalog.sqlViewName: 'ZCARSTMT'
@EndUserText.label: '외상매출금 명세 (Z)'
define view Z_C_AR_STATEMENT
  as select from bsid as Item
    inner join      kna1 as Customer on Item.kunnr = Customer.kunnr
    left outer join knkk as Credit   on Item.kunnr = Credit.kunnr
    left outer join skat as AcctText on Item.hkont = AcctText.saknr
                                    and AcctText.spras = 'K'
{
  key Item.bukrs, key Item.gjahr, key Item.belnr, key Item.buzei,
      Item.kunnr,
      Customer.name1          as Name1,
      Credit.klimk            as Klimk,
      Item.hkont              as Racct,
      AcctText.txt50          as RacctTx,
      Item.blart, Item.budat, Item.bldat, Item.zuonr, Item.zterm,
      Item.zfbdt              as Netdt,
      Item.waers, Item.wrbtr, Item.dmbtr,
      Item.vbeln
      // 영업조직·담당자는 VBRK/VBAK 와 조인하는 연장 뷰에서
      // 소진율 = 고객별 미수 합계 ÷ 여신한도 — 집계 소비 뷰에서 계산
}

매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 신용관리 영역 구조와 릴리즈에 맞춰 조정합니다.

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.m.Page + 조회조건 영역 · 고객 요약 · 전표 명세
조회조건sap.m.Input · sap.m.Select · sap.m.DatePicker — 우측 끝에 조회·초기화
요약 영역sap.m.Table — 한도·총계·소진율을 한 줄로
명세 테이블sap.m.Table — 열이 많아 popin 반응형
상태 표시sap.m.ObjectStatus — 소진율 구간, 만기 경과
문서 링크sap.m.Link — 전표 · 청구문서 · 수주문서
이벤트모든 버튼이 onPAI 단일 진입점, fcCode 로 분기

영업 문서를 링크로 둔 이유

"이 금액이 어느 건이냐" 는 질문은 전표번호만으로 끝나지 않습니다. 결국 어느 수주에서 나온 청구인지까지 가야 합니다. 청구문서와 수주문서를 링크로 두면 재무에서 영업 문서로 넘어가는 길이 한 번의 클릭이 되고, 영업 담당자에게 전달할 때도 문서 번호를 그대로 복사해 쓸 수 있습니다.

파일 구성

경로역할
index.htmlOpenUI5 부트스트랩 — sap_horizon
Component.js조회조건 모델 · 결과 모델 초기화
manifest.json앱 디스크립터 — 앱 ID(zui5.arstmt) · ko 로케일
view/Main.view.xml조회조건 · 고객 요약 · 전표 명세
controller/Main.controller.js조회 · 소진율 계산 · 만기 판정 · 링크 이동 · CSV
model/ModelMock.jslocaldata JSON 읽기(Promise)
model/formatter.js금액 · 일자 · 소진율 · 상태 색 포맷터
i18n/i18n_ko.propertiesko 로케일 리소스
localdata/arstmt.json채권 명세 240건 (28개 필드)

소진율 기준이나 만기 판정이 바뀌어도 컨트롤러와 포맷터 두 파일만 손보면 됩니다.

검증 결과

검증 항목결과
소진율 = 고객별 미수 합계 ÷ 여신한도 (재계산)통과
고객 요약의 총계 = 명세 금액 합계통과
원화환산 = 거래통화금액 × 환율통과
만기 경과 판정 = 기준일과 만기일 비교값과 일치통과
코드가 있는 항목은 명칭도 존재 (고객 · 계정 · 영업조직 · 담당자)통과
XML · JSON 전체 파싱오류 0건
화면 렌더링 — 실브라우저 조회 후 캡처통과
테마 런타임 확인sap_horizon

고객·금액·여신한도는 모두 검증용 데이터입니다.

자주 묻는 질문

소진율 분모에 무엇이 들어가나요?

여신한도입니다. 분자에 미결 채권만 넣을지, 아직 청구하지 않은 수주까지 포함할지는 회사 기준에 따라 달라지므로 영업과 재무가 같은 정의를 쓰는지 먼저 맞춰야 합니다.

청구문서와 수주문서 링크는 어디로 가나요?

표준 영업 문서 조회 화면으로 연결합니다. 재무에서 시작해 어느 수주에서 나온 청구인지까지 한 번에 따라갈 수 있어, 금액 근거를 확인하는 시간이 줄어듭니다.

영업담당자별로 볼 수 있나요?

가능합니다. 담당자 조건으로 묶으면 그 담당자가 맡은 고객들의 채권과 소진율이 한 화면에 모입니다. 영업 회의 자료로 그대로 쓸 수 있습니다.

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

채권은 표준 전기가, 여신한도는 신용관리가 만듭니다. 이 화면은 FBL5N 과 FD32 를 오가야 알 수 있던 두 정보를 한 화면에 모으고, 청구·수주 문서까지 링크로 이어 붙인 확장입니다.

매출채권과 여신, 지금 쓰는 SAP 위에서 확장해 보세요

한도와 미수를 함께 보면 "더 팔아도 되나" 라는 질문에 화면 한 번으로 답할 수 있습니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

외상매출금여신한도소진율매출채권영업담당자청구문서OpenUI5