솔루션 홈
결산 지원

SAP 대손충당금 설정 — 경과기간별 대손율로 당기 충당금 잡기

채권의 경과기간에 대손율을 적용해 당기 충당금을 산정하고, 확정하면 당월 전표와 익월 반대분개까지 만드는 화면입니다.

대손충당금은 결산마다 다시 계산합니다. 채권이 한 달 더 밀리면 대손율 구간이 바뀌고 충당금도 달라지기 때문입니다.

계산만 하는 것이 아니라 전월과의 증감으로 전표를 만들어야 하고, 다음 달에는 반대분개로 되돌려야 합니다. 이 흐름을 한 화면에서 처리하도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 3종을 함께 공개합니다.

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

  • 채권 — 전표·고객·계정과 발생잔액
  • 기준일자 — 작업월 말일 기준 경과일수와 경과기간
  • 대손율 — 설정기준(ZTFIF0040)의 구간별 비율
  • 충당금 이력 — 생성일 기준(ZTFIF0050) · 회수일 기준(ZTFIF0060)
  • 전표 — 확정 시 생성되는 전표번호(ZTFIF0070)
항목내용
업무 영역재무회계(FI) · 일반회계 · 결산
Namespacezui5.allowance
셸 구조조회조건 영역(우측 조회) + 채권 목록 + 계정별 합계
화면 수조회·확정 화면 1개 + 상세
산정 기준채권 생성일 기준 / 채권 회수일 기준
조회 단위개별 채권 조회 / 계정별 합계
UI 테마sap_horizon 단일 적용

실제 화면 3종 둘러보기

회계연도·작업월·산정 기준으로 조회하면 경과기간과 대손율이 나옵니다 → 대손율을 조정해 충당금을 확인하고 → 저장한 뒤 확정하면 전표가 만들어집니다.

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

Main.view.xml
개별 채권 조회
개별 채권 조회 — 전표·고객·계정과 함께 기준일자·경과일수·경과기간·발생잔액·대손율·당기충당금·전월충당금·증감이 표시됩니다. 조회 버튼은 조회조건 영역 오른쪽 끝에 있습니다.
계정별 합계
비용계정·충당계정
비용계정·충당계정 — 계정 단위로 묶어 건수·고객수·발생잔액·충당금과 함께 전표 생성에 쓰일 비용계정과 충당계정을 보여 줍니다.
확정
당월 전표와 익월 반대분개
당월 전표와 익월 반대분개 — 대손율을 고치면 충당금과 증감이 즉시 재계산되고, 확정하면 당월 말일 전표와 익월 1일 반대분개가 함께 생성됩니다.

조작 방법

  1. 회사코드·회계연도·작업월을 넣습니다. 작업월 말일이 경과기간 계산의 기준일입니다.
  2. G/L 계정으로 대손충당금 대상 채권계정을 고릅니다.
  3. 산정 기준을 정합니다. 채권 생성일 기준과 회수일 기준이 있습니다.
  4. 조회 단위를 고릅니다. 개별 채권과 계정별 합계입니다.
  5. 대손율을 확인합니다. 화면에서 수정할 수 있습니다.
  6. 증감을 봅니다. 당기충당금에서 전월충당금을 뺀 값입니다.
  7. 저장확정합니다. 저장하지 않고 확정하면 막힙니다.
  8. 잘못 확정한 건은 확정취소로 되돌립니다.

산정 규칙

기준에 따라 경과기간의 출발점이 달라집니다.

경과기간(생성일 기준) = 작업월 말일 − 전기일자(BUDAT)
경과기간(회수일 기준) = 작업월 말일 − 기산일(ZFBDT)

대손율 = 설정기준(ZTFIF0040)의 경과기간 구간별 비율 (화면 수정 가능)
당기충당금 = 발생잔액 × 대손율
증감 = 당기충당금 − 전월충당금 (HISTORY)

확정  당월 말일자 비용(차변 40) / 충당(대변 50) 전표
      익월 1일자 반대분개 전표 (취소가 아님)
      전표유형 CC, 코스트센터 재무팀

익월에 취소가 아니라 반대분개를 만드는 이유

취소 전표는 원 전표를 무효로 만들어 이력이 사라집니다. 반대분개는 별도 전표로 남아 "이번 달에 이만큼 잡았고 다음 달에 이만큼 풀었다" 가 장부에 그대로 보입니다. 매월 새로 산정하는 방식에서는 이 기록이 남아야 추이를 확인할 수 있습니다.

대손충당금 설정기준

코드경과기간일수 구간대손율
T190일 이내0 ~ 90일1.0 %
T291~180일91 ~ 180일5.0 %
T3181~365일181 ~ 365일20.0 %
T41년 초과366 ~ 일50.0 %

대손충당금 계정

채권계정비용계정충당계정
11050101 외상매출금-국내51301000 대손상각비11059000 대손충당금-매출채권
11050102 외상매출금-수출51301000 대손상각비11059000 대손충당금-매출채권
11060101 미수금51302000 기타대손상각비11069000 대손충당금-미수금

조회조건

항목필수설명
회사코드 / 회계연도 / 작업월필수작업월 말일이 경과기간 계산의 기준일
G/L 계정선택대손충당금 대상 채권계정
산정 기준필수채권 생성일 기준 / 채권 회수일 기준
조회 단위필수개별 채권 조회 / 계정별 합계

결과 컬럼

개별 채권

컬럼의미
전표 · 고객 · 계정채권 식별
기준일자경과 계산 기준
경과일수 · 경과기간T1~T4 구간
발생잔액채권 금액
대손율구간별 비율. 수정 가능
당기충당금발생잔액 × 대손율
전월충당금HISTORY 기준
증감당기 − 전월. 부호 색

계정별 합계

컬럼의미
계정채권계정 단위
건수 · 고객수집계 규모
발생잔액 · 충당금계정 합계
비용계정 · 충당계정전표 생성 대상

SAP 표준 기능 매핑

표준역할이 화면에서의 확장
ZTFIF0040설정기준 테이블구간별 대손율
ZTFIF0050 · ZTFIF0060충당금 HISTORY생성일·회수일 기준
ZTFIF0070전표번호 등록확정 결과
BSID · BSAD고객 미결·반제채권 원천
FB01전표 입력확정 전표 생성

도입 시 확인이 필요한 부분

대손율을 화면에서 고칠 수 있게 할지 정해야 합니다. 개별 사정을 반영할 수 있어 편하지만 근거 없이 낮추면 감사에서 문제가 됩니다. 수정 시 사유를 남기게 하거나 권한을 제한하는 편이 안전합니다.

참고 CDS 뷰

@AbapCatalog.sqlViewName: 'ZCALLOWANCE'
@EndUserText.label: '대손충당금 설정 (Z)'
define view Z_C_ALLOWANCE_SETUP
  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.belnr, key Item.gjahr, key Item.buzei,
      Item.kunnr, Customer.name1 as CustomerName,
      Item.hkont as Account,
      Item.budat as PostingDate,
      Item.zfbdt as BaselineDate,
      Item.dmbtr as OpenAmount,
      // 경과기간(생성일) = 기준일 − BUDAT, (회수일) = 기준일 − ZFBDT
      dats_days_between( Item.budat, :p_keydate ) as AgingByCreate,
      dats_days_between( Item.zfbdt, :p_keydate ) as AgingByDue
      // 대손율은 ZTFIF0040 구간과 조인, 당기충당금 = 잔액 × 대손율
      // 전월충당금은 HISTORY(ZTFIF0050/0060)에서 조회해 증감 산출
}

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

OpenUI5 구성

기능사용 컨트롤
화면 골격sap.m.Page + 조회조건 영역 · 채권 목록
조회조건sap.m.Select · sap.m.DatePicker · sap.m.Input — 우측 끝에 조회·초기화
이벤트모든 버튼이 onPAI 단일 진입점, fcCode 로 분기
채권 목록sap.ui.table.Table — 대손율 인라인 편집
증감 표시sap.m.ObjectNumber — 부호 색
확정 버튼생성일 기준 + 개별 채권 조회일 때만 표시

확정 버튼을 조건부로 노출하는 이유

계정별 합계 화면에서는 어느 채권에서 온 금액인지 특정되지 않고, 회수일 기준은 전표 생성 대상이 아닙니다. 그런데 버튼이 늘 보이면 눌러 보게 됩니다. 조건이 맞을 때만 나타나면 잘못 실행할 여지가 없습니다.

파일 구성

경로역할
manifest.json앱 디스크립터 — 앱 ID(zui5.allowance) · ko 로케일
view/Main.view.xml조회조건과 채권 목록
controller/Main.controller.js조회 · 충당금 산정 · 저장 · 확정
model/ModelMock.jslocaldata JSON 읽기(Promise)
js/formatter.js금액 · 비율 · 증감 색 포맷터
localdata/allowance.json채권과 충당금 이력

검증 결과

검증 항목결과
당기충당금 = 발생잔액 × 대손율 (전 건)통과
증감 = 당기충당금 − 전월충당금통과
경과기간이 설정기준 구간과 일치통과
확정 시 당월 전표와 익월 반대분개 쌍으로 생성통과
대손율 수정 후 미저장 상태에서 확정 차단통과
계정별 합계 = 개별 채권 합계통과
화면 렌더링 — 실브라우저 조회 → 확정 실동작 후 캡처3/3
테마 런타임 확인sap_horizon

자주 묻는 질문

생성일 기준과 회수일 기준 중 무엇을 쓰나요?

회사 정책에 따릅니다. 회수일 기준이 실제 연체를 반영해 보수적이고, 생성일 기준은 지급조건과 무관하게 일관됩니다.

대손율을 화면에서 고쳐도 되나요?

개별 사정을 반영할 때 씁니다. 다만 근거 없이 낮추면 감사에서 지적받으므로 사유를 남기는 것이 좋습니다.

확정취소는 무엇을 되돌리나요?

작업월 전표와 익월 반대분개 전표를 모두 취소하고 전표번호 등록도 지웁니다. 두 전표가 쌍으로 처리됩니다.

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

채권 데이터는 표준 미결 구조에 있고 전표 생성도 표준 전기입니다. 이 화면은 경과기간 산정과 대손율 적용, 확정 전표 생성을 한 흐름으로 묶은 확장입니다.

충당금 설정, 지금 쓰는 SAP 위에서 확장해 보세요

대손율을 조정하면 증감이 바로 보여 결산 판단이 빨라집니다. 현재 SAP 환경 기준으로 어떻게 적용되는지 함께 확인해 드립니다.

대손충당금 설정경과기간대손율충당금 전표반대분개OpenUI5