솔루션 홈
재무회계(FI)

SAP 매출채권 회수기간(DSO) 점검 — 거래처별 회수기간을 목표와 나란히 놓고 본다

거래처별 채권잔액과 매출을 대사해 회수기간을 산출하고, 거래처그룹별 목표와 전기 대비 증감을 함께 놓고 점검 대상을 가려냅니다

매출채권 잔액과 회수 현황은 거래처 라인아이템·잔액 조회 화면에서 확인할 수 있지만, "거래처마다 회수기간이 목표 대비 얼마나 벌어져 있는지"를 한 번에 모아 보는 화면은 따로 없는 경우가 많습니다. 그래서 거래처별 채권잔액과 당기 매출을 대사해 회수기간(DSO, Days Sales Outstanding)을 산출하고, 거래처그룹별 목표 DSO·전기 대비 증감과 비교하는 화면을 OpenUI5로 구현했습니다. 대상 영역은 자금분석(매출채권 회수기간 관리)입니다.

DSO가 목표 DSO의 1.2배를 넘거나 전기 대비 10일 넘게 늘어나면 "점검필요"로 자동 판정합니다. 표준 채권 라인아이템·잔액 조회 기능이 담당하는 데이터 위에, 거래처그룹별 목표 대비 편차를 한 번에 훑어보는 층을 더한 셈입니다. 실제 구동 화면 3종을 함께 공개합니다.

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

  • 고객 라인아이템 조회 — 고객別 라인아이템 조회(FBL5N)에서 다루는 미결 채권 데이터 구조를 그대로 이어받습니다
  • 고객 잔액 조회 — 고객 잔액 조회(FD10N)의 기간별 잔액 조회 관점을 채권잔액 컬럼에 옮겨 왔습니다
항목내용
업무 영역재무회계(FI) · 자금분석
Namespacezui5.collectdso
셸 구조조회조건 영역(우측 조회) + 요약 KPI 6종 + 탭 2개, 행 클릭 상세 Dialog
화면 수조회 화면 1개(탭 2개) + 상세 다이얼로그
SAP 표준 T-codeFBL5N · FD10N
데이터 연동 방식OData V2 — 화면 블록마다 엔티티셋에 직접 바인딩
성격조회·점검형 — 회수 지연 사유 확인과 최종 판단은 회사와 감사인이 수행
UI 테마sap_horizon 단일 적용

실제 화면 3종 둘러보기

기본 조건으로 조회하면 요약 KPI와 거래처별 DSO 명세 탭이 뜹니다 → 월별 추이 탭에서 흐름을 보고 → 행을 클릭해 채권잔액 증감 상세를 봅니다.

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

메인 화면
매출채권 회수기간 점검 메인 화면 — 조회조건과 요약 KPI, 거래처별 DSO 명세
메인 화면 — 조회조건 · 요약 KPI(전사 DSO·목표 DSO·전기 DSO·채권잔액 합계·당기매출 합계·점검필요 건수) · 거래처별 DSO 명세가 한 화면에 뜹니다. 조회 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
월별 추이
DSO 월별 추이 탭 화면
월별 추이 — 전사 합계 또는 거래처를 선택해 기간별 DSO 추이를 목표 대비로 확인합니다.
거래처 상세
거래처별 DSO 명세 행 클릭 시 열리는 채권잔액 증감명세 다이얼로그
거래처 상세 — 명세 표에서 행을 클릭하면 채권잔액 증감명세(기초-매출-회수-대손=기말)가 다이얼로그로 펼쳐집니다.

사용 방법

  1. 화면에 들어오면 기본 조건(최신 기간)으로 자동 조회가 1회 실행되어 요약 KPI와 거래처별 DSO 명세가 함께 채워집니다.
  2. 조회조건 영역에서 회계연도(필수)를 확인하고, 기간·거래처그룹·점검결과는 선택적으로 지정합니다(비워두면 전체). 거래처명 또는 코드로 검색할 수 있습니다.
  3. 조회 버튼은 조회조건 입력 필드 줄의 가장 오른쪽에 있습니다. 거래처 검색 입력란에서 Enter 키를 눌러도 같은 조회가 실행됩니다. 초기화 버튼은 조회 버튼 바로 왼쪽에 있습니다.
  4. 상단 카드에서 전사 DSO · 목표 DSO · 전기 DSO · 채권잔액 합계 · 당기매출 합계 · 점검필요 건수를 먼저 확인합니다.
  5. 탭을 옮겨 거래처별 DSO 명세 → 월별 추이 순으로 봅니다.
  6. 명세 탭에서 행을 클릭하면 해당 거래처의 채권잔액 증감명세가 다이얼로그로 열립니다.
  7. 명세 탭 우측 상단의 CSV 내려받기(UTF-8 BOM)로 현재 조회 결과를 저장합니다.

DSO 판정 기준

판정 조건결과 상태사용자 조치
DSO > 목표 DSO × 1.2 또는 전기 대비 증감 > 10일점검 필요회수 지연 사유 확인, 회수 계획 재점검
그 외(목표 범위 내이고 증감이 크지 않음)정상조치 없음

위 기준은 조회·점검을 돕기 위한 것이며, 실제 회수 지연의 원인 판단과 최종 조치는 화면이 단정하지 않고 회사와 감사인이 확인합니다.

DSO 산출·대사 절차

단계내용
1단계거래처별 채권잔액 증감 집계: 기초잔액 + 당기매출증가 − 당기회수 − 대손상각 = 기말잔액
2단계DSO(일) = 기말채권잔액 ÷ 당기매출 × 30 산출
3단계전기 대비 증감(DSO증감) = 당기DSO − 전기DSO 계산
4단계거래처그룹별 목표 DSO와 비교해 점검결과(정상/점검필요) 판정
5단계거래처별 채권잔액·매출 합계를 근거로 전사 DSO 재계산, 거래처별 합계와 대사

조회조건

필드필수설명
회계연도필수4자리 연도
기간선택월(001~009), 전체면 조건 제외
거래처그룹선택국내대형·국내중소·해외, 전체면 조건 제외
점검결과선택정상·점검필요, 전체면 조건 제외
거래처 검색선택거래처명 또는 코드 일부 일치

결과 컬럼

컬럼설명
거래처코드 · 거래처명 · 거래처그룹거래처 식별 정보
채권잔액 · 당기매출기간말 매출채권 잔액, 당기 매출액
DSO(일) · 전기DSO(일) · 증감당기 회수기간, 전기 회수기간, 차이
목표DSO(일) · 점검결과거래처그룹별 목표 회수기간, 정상/점검필요

SAP 표준 기능 매핑

표준 실행은 SAP 표준 T-code 가 담당하고, 이 화면은 그 데이터에 회수기간 산출·목표 대비 점검 관점을 더해 확장합니다.

표준 T-code표준 기능이 화면이 더한 것
FBL5N고객別 라인아이템 조회미결 채권 데이터 위에 회수기간(DSO) 산출과 목표 대비 판정을 더합니다
FD10N고객 잔액 조회기간별 잔액 조회 관점을 거래처그룹별 집계·추이로 확장합니다

분석 지표 정의표

대상 영역지표정의원천 데이터
자금분석DSO(회수기간)기말채권잔액 ÷ 당기매출 × 30매출채권 잔액, 매출 발생액
자금분석DSO증감당기DSO − 전기DSODSO 산출값(당기·전기)

참고 CDS 뷰

원천 테이블주요 필드쓰임
BSIDKUNNR · DMBTR미결 고객 항목 — 채권잔액 산출 원천
ACDOCAHSL · RACCT범용원장 — 매출 발생액 집계 원천
KNA1 / KNB1KUNNR · KUKLA고객 마스터 — 거래처그룹 속성
define view entity I_CustomerDsoSummary
  as select from bsid as Item
    association[1] to kna1 as _Customer on _Customer.kunnr = Item.kunnr
{
  key Item.bukrs        as CompanyCode,
  key Item.kunnr         as CustomerId,
      _Customer.name1    as CustomerName,
      sum(Item.dmbtr)    as ArBalance
}
group by Item.bukrs, Item.kunnr, _Customer.name1

필드 매핑은 가상 데이터 기준 스케치이며, 매출 발생액은 범용원장 집계를 별도 파생값으로 계산합니다.

OpenUI5 구성

기능사용 컨트롤 · 구성
화면 골격sap.m.Page + 조회조건 패널 · 요약 KPI · IconTabBar 2개 탭
데이터 연동manifest.json dataSources.mainService(OData V2, 상대 경로)로 기본 모델을 만들고 defaultCountMode:"Inline" · useBatch:false 로 구성합니다. 화면 블록마다 해당 엔티티셋에 직접 바인딩합니다
명세 탭sap.ui.table.Table(컬럼 10개) — 셀 클릭으로 상세 다이얼로그를 엽니다
추이 탭sap.m.Table — 거래처 선택 Select와 목표 대비 진행률 표시
조회조건sap.ui.model.Filter 로 조립해 바인딩에 적용합니다. 거래처 검색은 이름·코드 조건을 OR 로 묶은 복합 Filter 로 전달합니다. 전체를 고른 조건은 필터를 만들지 않습니다
예외 메시지메타데이터 실패·요청 실패를 구분해 안내하는 전용 처리기

파일 구성

경로역할
index.htmlOpenUI5 부트스트랩 — sap_horizon, OData 서비스에 연결
Component.js모델 초기화, 예외 메시지 처리기 연결
manifest.json앱 디스크립터 — zui5.collectdso · ko 로케일, OData 서비스와 모델 선언
view/Main.view.xml조회조건 · 요약 KPI · 2개 탭
view/DetailDialog.fragment.xml채권잔액 증감명세 다이얼로그
controller/Main.controller.js조회조건 조립 · 바인딩 · 다이얼로그 · CSV
controller/BaseController.jsCSV 다운로드 공통 처리
model/formatter.js · model/ErrorHandler.js표시 서식 · 예외 메시지 처리
i18n/i18n_ko.properties화면 문구

검증 결과

검증용 샘플 데이터(거래처 15곳, 9개 기간)를 기준으로 대사식을 전수 검증했습니다.

검증 항목결과
채권잔액 증감표 대사(기초+매출−회수−대손=기말, 135건 전수)통과(불일치 0건)
기간간 연속성(전기말=당기초, 120건 전수)통과(불일치 0건)
요약(KPI) 합계 대사(거래처별 합계=전사 합계, 9개 기간)통과(차이 0)
조회 조건 전달 — 회계연도·기간·거래처그룹·점검결과·검색 필터 · 정렬 · 총건수 표시확인
표시 금지 검사 — 커스텀 프로그램ID·앱 식별자·출처 표현0건
화면 렌더링 — 조회 버튼 위치 · sap_horizon 테마 · Enter 키 조회 · 서비스 미연결 시 안내 메시지확인

모든 데이터는 검증용으로 구성한 가상 데이터입니다.

자주 묻는 질문

이 화면은 언제부터, 어떤 범위에 적용할 수 있나요?

매출채권 잔액과 매출 데이터가 원장에 기록되는 시점부터 바로 적용할 수 있으며, 별도의 기준서 시행일이나 경과규정과는 무관한 관리 목적의 조회·점검 도구입니다. 적용 범위는 매출채권을 운용하는 모든 거래처 및 기간입니다.

DSO 계산에 사용하는 기간일수 30일은 고정값인가요?

월별 조회 기준으로 30일을 사용합니다. 분기·연간 등 다른 기준일수가 필요하면 산출식 파라미터 조정이 필요하며, 이는 구현 옵션에 따라 달라질 수 있습니다.

목표 DSO 기준값은 어떻게 정해지나요?

거래처그룹(국내대형·국내중소·해외)별로 예시 기준값을 두었습니다. 실제 목표치는 회사의 여신정책과 산업 특성에 따라 조정되어야 하며, 화면의 기준값은 참고용입니다.

"점검필요"로 표시되면 바로 문제가 있다는 뜻인가요?

아닙니다. 이 화면은 회수기간 조회·점검 도구이며, "점검필요"는 목표 대비 편차가 기준을 넘었다는 신호일 뿐 회계적 판단이 아닙니다. 실제 회수 지연 사유 확인과 최종 판단은 회사와 감사인이 수행합니다.

매출채권 회수기간, 목표 대비 점검 관점을 하나 더 붙여 보세요

거래처별 잔액만으로는 놓치기 쉬운 회수기간 저하 구간을 목표 DSO 기준으로 미리 걸러 두면, 회수 관리 대응을 더 일찍 시작할 수 있습니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

매출채권 회수기간DSO 분석채권 관리재무회계(FI)OpenUI5