SAP 매출채권 연체이자 산정 모니터 — 계산했으면 통지하고 전기했는가
연체 채권의 이자 산정과 통지, 회계처리 진행 상태를 전표별로 추적하는 화면입니다.
연체이자는 계약서에 적혀 있어도 실제로 청구하지 않는 경우가 많습니다. 산정은 자동으로 돌아가는데 통지와 전기가 따로라 중간에 멈추기 때문입니다.
산정만 하고 통지하지 않으면 청구 근거가 없고, 통지만 하고 전기하지 않으면 장부에 수익이 없습니다. 표준 연체이자 구조를 그대로 이어받아 세 단계를 한 화면에서 추적하도록 OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 3종을 함께 공개합니다.
SAP 표준 기능을 그대로 이어받은 부분
- 이자율 유형 —
RateType과 텍스트로 일반·약정 연체이자율 구분 - 대상 전표 — 전표번호(
Belnr)와 고객(Kunnr) - 원금 — 이자 계산 기준 금액(
PrincipalAmount) - 만기 — 연체 기산일이 되는 만기일(
DueDate) - 처리 상태 — 반제 여부(
Status)와 반제일
| 항목 | 내용 |
|---|---|
| 대응 T-code | F.24 (이자 산정) · F.26 (통지) · OB46 |
| 업무 영역 | 재무회계(FI-AR) · 채권 관리 |
| Namespace | zui5.interest |
| 셸 구조 | 조회조건 영역(우측 조회·초기화) + 이자 산정 목록, 행 선택 시 산정 이력 |
| 화면 수 | 조회 화면 1개 + 산정 이력 |
| 데이터 | 연체 전표 18건 · 이자 산정 159건 |
| 성격 | 조회형(Read-Only) — 산정과 전기는 표준이 담당 |
| UI 테마 | sap_horizon 단일 적용 |
실제 화면 3종 둘러보기
회사코드·고객·이자율 유형으로 조회하면 연체 전표가 나옵니다 → 산정·통지·전기 상태를 확인하고 → 행을 눌러 회차별 산정 이력을 추적합니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
조작 방법
- 회사코드를 고르고 필요하면 고객으로 좁힙니다.
- 이자율 유형으로 일반·약정 연체이자율을 나눕니다.
- 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
- 산정은 됐는데 통지가 안 된 건을 확인합니다. 청구 근거가 없습니다.
- 전기가 안 된 건은 장부에 수익이 반영되지 않은 상태입니다.
- 반제 완료 건은 이자 청구 여부를 마지막으로 확인합니다.
- 행을 선택하면 회차별 산정 이력이 열립니다.
- 결과는 CSV 다운로드로 내려받습니다.
이자 산식과 단계 판정
이자는 원금과 기간, 이자율의 곱입니다.
연체일수 = 산정일 − 만기일(DueDate)
연체이자 = 원금(PrincipalAmount) × 이자율 × 연체일수 ÷ 365
산정만 완료 → 통지 필요 — 청구 근거 없음
통지까지 완료 → 전기 필요 — 장부 미반영
전기까지 완료 → 정상 종료
반제 완료 건도 그전 기간의 이자는 청구 가능
세 단계를 나눠 보는 이유
산정은 배치로 자동 실행되지만 통지는 문서 발송이고 전기는 회계 처리입니다. 담당자와 시점이 모두 달라 중간에 끊기기 쉽습니다. 세 열을 나란히 두면 어느 단계에서 멈췄는지가 한 줄에서 보이고, 빠진 단계만 처리하면 됩니다.
연체이자 처리 3단계
| 단계 | 내용 | 결과물 |
|---|---|---|
| ① 산정 F.24 | 연체 기간에 대해 이자 계산 | 산정 내역 |
| ② 통지 F.26 | 고객에게 이자 청구서 발송 | 통지 기록 |
| ③ 전기 | 이자 수익과 채권 계상 | 회계 전표 |
실무에서는 거래 관계를 고려해 ②에서 멈추는 경우가 있습니다. 그 판단 자체가 기록으로 남아야 합니다.
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
회사코드 Bukrs | 필수 | 대상 회사코드 |
고객 Kunnr | 선택 | 고객 코드·명칭 |
이자율 유형 RateType | 선택 | 일반 · 약정 연체이자율 |
| 산정 기간 | 선택 | 이자 산정일 From~To |
| 상태 | 선택 | 산정만 / 통지완료 / 전기완료 |
결과 컬럼
| 컬럼 | 의미 · 표시 |
|---|---|
전표번호 Belnr | 연체 대상 전표 |
고객 Kunnr · KunnrName | 코드와 명칭 |
만기일 DueDate | 연체 기산일 |
원금 PrincipalAmount | 이자 계산 기준 |
이자율 유형 RateType · RateTypeText | 적용 이자율 |
| 연체일수 | 산정일 − 만기일 |
| 산정 이자 | 계산된 이자 금액 |
| 통지 여부 · 통지일 | 고객 청구 상태 |
| 전기 여부 · 전표번호 | 회계 처리 상태 |
반제 상태 Status · 반제일 ClearedDate | 원금 회수 여부 |
비고 Note | 협의 내용 등 |
SAP 표준 기능 매핑
| 표준 | 역할 | 이 화면에서의 확장 |
|---|---|---|
F.24 | 연체이자 산정 | 산정 결과를 통지·전기 상태와 함께 추적 |
F.26 | 이자 통지서 출력 | 통지 여부를 열로 표시 |
OB46 | 이자 산정 설정 | 이자율 유형과 계산 규칙 |
BSID | 고객 미결 항목 | 연체 대상 원천 |
KNA1 | 고객 마스터 | 고객 명칭 |
도입 시 확인이 필요한 부분
이자율과 계산 기준(일수 계산 방식, 복리 여부, 최소 금액)은 설정에 정의됩니다. 계약별로 약정 이자율이 다르면 고객마다 다른 유형을 지정해야 합니다. 또 통지 기록을 어디에 남길지 정해야 이 화면의 통지 열이 실제 상태를 반영합니다.
참고 CDS 뷰
@AbapCatalog.sqlViewName: 'ZCINTEREST'
@EndUserText.label: '연체이자 산정 현황 (Z)'
define view Z_C_INTEREST_ON_ARREARS
as select from bsid as Item
inner join kna1 as Customer on Item.kunnr = Customer.kunnr
{
key Item.bukrs,
key Item.belnr as Belnr,
key Item.gjahr,
Item.kunnr,
Customer.name1 as KunnrName,
Item.zfbdt as DueDate,
Item.dmbtr as PrincipalAmount,
Item.vzskz as RateType,
Item.augdt as ClearedDate
// 연체일수 = 산정일 − 만기일
// 연체이자 = 원금 × 이자율 × 연체일수 ÷ 365
// 통지·전기 상태는 산정 이력 테이블과 조인
}
매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경 설정과 릴리즈에 맞춰 조정합니다.
OpenUI5 구성
| 기능 | 사용 컨트롤 |
|---|---|
| 화면 골격 | sap.m.Page + 조회조건 영역 · 이자 산정 테이블 |
| 조회조건 | sap.m.Select · sap.m.DatePicker · sap.m.Input — 우측 끝에 조회·초기화 |
| 이벤트 | 모든 버튼이 onPAI 단일 진입점, fcCode 로 분기 |
| 산정 테이블 | sap.m.Table — 3단계 상태를 인접 열로 |
| 상태 표시 | sap.m.ObjectStatus — 산정 / 통지 / 전기 |
| 상세 화면 | sap.m.Dialog — 회차별 산정 이력 |
비고란을 두는 이유
연체이자를 청구하지 않기로 하는 결정은 거래 관계를 고려한 판단입니다. 기록이 없으면 나중에 왜 안 받았는지 설명할 수 없고, 담당자가 바뀌면 같은 고민을 반복합니다. 협의 내용을 적어 두면 그 판단이 이력으로 남습니다.
파일 구성
| 경로 | 역할 |
|---|---|
manifest.json | 앱 디스크립터 — 앱 ID(zui5.interest) · ko 로케일 |
view/Main.view.xml | 조회조건과 이자 산정 테이블 |
controller/Main.controller.js | 조회 · 이자 계산 · 단계 판정 · CSV |
model/ModelMock.js | localdata JSON 읽기(Promise) |
js/formatter.js | 금액 · 이자율 · 상태 색 포맷터 |
localdata/arinvoices.json | 연체 전표 18건 |
localdata/interestruns.json | 이자 산정 159건 |
검증 결과
| 검증 항목 | 결과 |
|---|---|
| 연체이자 = 원금 × 이자율 × 연체일수 ÷ 365 (전 건) | 통과 |
| 연체일수 = 산정일 − 만기일 | 통과 |
| 통지 완료 건은 통지일 존재 | 통과 |
| 전기 완료 건은 전표번호 존재 | 통과 |
| 이자율 유형과 적용 이자율 정합 | 통과 |
| XML · JSON 전체 파싱 | 오류 0건 |
| 화면 렌더링 — 실브라우저 조회 → 상세 실동작 후 캡처 | 3/3 |
| 테마 런타임 확인 | sap_horizon |
자주 묻는 질문
연체이자를 꼭 받아야 하나요?
계약상 권리이지만 거래 관계를 고려해 면제하는 경우가 많습니다. 중요한 것은 받든 안 받든 판단 근거가 기록으로 남는 것입니다.
반제된 전표도 이자가 나오나요?
나옵니다. 연체 기간이 있었다면 그 기간에 대한 이자는 발생합니다. 원금이 회수됐다고 이자 청구권이 사라지지는 않습니다.
복리로 계산되나요?
설정에 따라 다릅니다. 단리가 일반적이지만 약정에 따라 복리로 계산하기도 합니다. 계산 방식이 계약과 맞는지 확인이 필요합니다.
SAP 표준 기능과 어떻게 이어지나요?
산정은 F.24, 통지는 F.26 이 담당합니다. 이 화면은 두 실행 결과와 전기 여부를 한 줄에 모아 어느 단계에서 멈췄는지 보여 주는 확장입니다.