SAP 차입금 상환스케줄 — 원금을 언제 얼마씩 갚는가
차입 건별 상환 일정을 회차 단위로 펼쳐, 예정일과 금액을 자금 계획에 쓸 수 있게 정리하는 화면입니다.
차입금 상환은 만기에 한 번이 아닐 수 있습니다. 분할 상환이면 회차마다 원금이 나가고, 그때마다 자금을 준비해야 합니다.
차입 건이 여럿이고 각각 상환 방식이 다르면 어느 달에 얼마가 나가는지 계산이 복잡해집니다. 회차 단위로 펼쳐 놓으면 그대로 자금 계획이 됩니다. OpenUI5 화면으로 확장한 것이 이 앱입니다. 실제 구동 화면 2종을 함께 공개합니다.
SAP 표준 기능을 그대로 이어받은 부분
- 차입 거래 — 금융기관과 거래번호·회차
- 금융상품 — 상품 유형과 거래유형 · 차입 과목
- 계좌 — 거래 계좌번호
- 조건 — 차입만기일과 이자율
- 금액 — 차입통화와 차입금액
| 항목 | 내용 |
|---|---|
| 업무 영역 | 자금(TR) · 차입금 상환 |
| Namespace | zui5.loanrepay |
| 셸 구조 | 조회조건 영역(우측 조회·초기화) + 상환 스케줄 테이블 |
| 화면 수 | 조회 화면 1개 + 상세 |
| 데이터 | 상환 스케줄과 차입 정보 |
| 성격 | 조회형(Read-Only) — 상환 전기는 표준이 담당 |
| 단위 | 차입 건 · 회차 |
| UI 테마 | sap_horizon 단일 적용 |
실제 화면 2종 둘러보기
회사코드·기간·금융기관으로 조회하면 상환 스케줄이 나옵니다 → 회차별 예정일과 금액을 확인하고 → 월별 상환 부담을 집계합니다.
아래는 실제로 앱을 실행해 기능을 눌러 가며 캡처한 화면입니다. 이미지를 클릭하면 원본 크기로 확대됩니다.
조작 방법
- 회사코드를 고릅니다.
- 기간을 상환 예정일 기준으로 지정합니다.
- 금융기관이나 거래번호로 범위를 좁힙니다.
- 조회조건 입력필드에서 값을 바꾸거나 Enter 를 누르면 즉시 조회됩니다.
- 상환예정일순으로 보며 언제 얼마가 나가는지 확인합니다.
- 회차로 분할 상환 진행 상황을 봅니다.
- 월별로 합산해 자금 계획에 반영합니다.
- 결과는 CSV 다운로드로 내려받습니다.
상환 구조
상환 방식에 따라 회차별 금액이 달라집니다.
만기일시상환 만기에 원금 전액 — 회차 1
균등분할상환 매 회차 동일 원금
원리금균등 매 회차 원금+이자 합계가 동일
거치 후 분할 거치 기간에는 이자만, 이후 원금 분할
잔여 원금 = 차입금액 − Σ(기 상환 원금)
회차별 이자 = 잔여 원금 × 이자율 × 기간
회차 단위로 펼쳐 놓는 이유
차입 건 단위로만 보면 "5년 만기 100억" 이라는 정보뿐입니다. 이번 달에 얼마가 나가는지는 상환 방식을 알고 계산해야 나옵니다. 회차로 펼쳐 두면 날짜와 금액이 이미 있어 월별로 합산만 하면 자금 계획이 됩니다.
상환 방식 4종
| 방식 | 원금 상환 | 자금 부담 |
|---|---|---|
| 만기일시 | 만기에 전액 | 만기에 부담 집중 |
| 균등분할 | 매 회차 동일 원금 | 이자는 점점 감소 |
| 원리금균등 | 원금+이자 합계 동일 | 초기엔 이자 비중 큼 |
| 거치 후 분할 | 거치 기간 이자만 | 거치 후 부담 증가 |
조회조건
| 필드 | 필수 | 설명 |
|---|---|---|
| 회사코드 | 필수 | 대상 법인 |
| 기간 | 필수 | 상환 예정일 From~To |
| 금융기관 | 선택 | 차입처 |
| 거래번호 | 선택 | 특정 차입 건 |
| 차입통화 | 선택 | KRW / USD 등 |
| 거래유형 | 선택 | 차입 · 사채 등 |
결과 컬럼
| 컬럼 | 의미 · 표시 |
|---|---|
| 금융기관 | 차입처 |
| 거래번호 · 회차 | 차입 건과 상환 회차 |
| 금융상품 · 거래유형 | 상품 정보 |
| 차입과목 | 계정 구분 |
| 계좌번호 | 거래 계좌 |
| 차입만기일 | 최종 만기 |
| 차입통화 · 차입금액 | 원금 |
| 이자율 | 적용 금리 |
| 상환예정일 | 회차별 예정일 |
| 상환 원금 · 잔여 원금 | 회차별 금액 |
SAP 표준 기능 매핑
| 표준 | 역할 | 이 화면에서의 확장 |
|---|---|---|
TPM10 | 금융거래 조회 | 상환 스케줄을 회차로 전개 |
FTR_EDIT | 금융거래 등록 | 상환 조건 설정 |
VTBZV | 지급 흐름 | 상환 일정 원천 |
VTBFHA · VTBFHAPO | 거래 헤더와 조건 | 차입 정보 |
BNKA | 은행 마스터 | 금융기관 명칭 |
도입 시 확인이 필요한 부분
조기 상환이나 차환이 있으면 원래 스케줄과 달라집니다. 변경 이력을 반영하지 않으면 이미 지나간 회차가 남아 있거나 실제와 다른 금액이 보입니다. 거래 변경 시 스케줄이 재생성되는지 확인해야 합니다.
참고 CDS 뷰
@AbapCatalog.sqlViewName: 'ZCLOANREPAY'
@EndUserText.label: '차입금 상환 스케줄 (Z)'
define view Z_C_LOAN_REPAYMENT
as select from vtbzv as CashFlow
inner join vtbfha as Deal on CashFlow.rfha = Deal.rfha
and CashFlow.bukrs = Deal.bukrs
left outer join bnka as Bank on Deal.hbkid = Bank.bankl
{
key CashFlow.bukrs,
key CashFlow.rfha as DealNo,
key CashFlow.rfhazu as InstallmentNo,
Bank.banka as BankName,
Deal.sfhaart as ProductType,
Deal.svvart as DealType,
Deal.delfz as MaturityDate,
Deal.wgschft as Currency,
CashFlow.dfaell as RepaymentDate,
CashFlow.bzbetr as RepaymentAmount
// 잔여 원금 = 차입금액 − 누적 상환 원금 (소비 뷰에서 누계 계산)
}
where CashFlow.sbewart in ( '1100', '1120' )
매핑 이해를 돕기 위한 참고용 설계입니다. 실제 도입 시에는 운영 환경 설정과 릴리즈에 맞춰 조정합니다.
OpenUI5 구성
| 기능 | 사용 컨트롤 |
|---|---|
| 화면 골격 | sap.m.Page + 조회조건 영역 · 스케줄 테이블 |
| 조회조건 | sap.m.Select · sap.m.DatePicker · sap.m.Input — 우측 끝에 조회·초기화 |
| 이벤트 | 모든 버튼이 onPAI 단일 진입점, fcCode 로 분기 |
| 스케줄 테이블 | sap.ui.table.Table — 상환예정일순 정렬 |
| 금액 | sap.m.ObjectNumber — 통화 함께 표시 |
| 거래 링크 | sap.m.Link — 금융기관·거래번호 연계 |
잔여 원금을 누계로 보여 주는 이유
회차별 상환액만 있으면 앞으로 얼마가 남았는지 매번 더해야 합니다. 잔여 원금이 누계로 표시되면 그 회차 이후의 부담이 바로 보이고, 조기 상환을 검토할 때도 근거가 됩니다.
파일 구성
| 경로 | 역할 |
|---|---|
manifest.json | 앱 디스크립터 — 앱 ID(zui5.loanrepay) · ko 로케일 |
view/Main.view.xml | 조회조건과 스케줄 테이블 |
controller/Main.controller.js | 조회 · 잔여 원금 누계 · 월별 집계 · CSV |
model/ModelMock.js | localdata JSON 읽기(Promise) |
js/formatter.js | 금액 · 일자 · 통화 포맷터 |
localdata/loanschedule.json | 상환 스케줄 |
localdata/loan.json | 차입 마스터 |
검증 결과
| 검증 항목 | 결과 |
|---|---|
| 회차별 상환 원금 합계 = 차입금액 | 통과 |
| 잔여 원금 = 차입금액 − 누적 상환 원금 | 통과 |
| 상환예정일이 차입일과 만기일 사이 | 통과 |
| 마지막 회차 잔여 원금 = 0 | 통과 |
| 금융기관 코드가 있으면 명칭도 존재 | 통과 |
| XML · JSON 전체 파싱 | 오류 0건 |
| 화면 렌더링 — 실브라우저 조회 후 캡처 | 2/2 |
| 테마 런타임 확인 | sap_horizon |
자주 묻는 질문
조기 상환하면 스케줄이 바뀌나요?
남은 회차가 재계산됩니다. 원금이 줄어 이자도 줄고, 방식에 따라 회차 수가 줄거나 회차별 금액이 줄어듭니다.
원리금균등이 초기에 이자가 많은 이유는?
이자는 잔여 원금에 붙는데 초기에는 원금이 많이 남아 있기 때문입니다. 매월 내는 총액은 같지만 그 안의 구성이 점점 바뀝니다.
월별 상환 부담은 어떻게 보나요?
상환예정일로 정렬한 뒤 월별로 합산하면 됩니다. 차입 건이 여럿이면 이 합산이 곧 자금 계획의 지출 항목이 됩니다.
SAP 표준 기능과 어떻게 이어지나요?
상환 일정은 표준 TR 의 지급 흐름으로 관리됩니다. 이 화면은 그 흐름을 회차 단위로 펼치고 잔여 원금 누계를 붙여 자금 계획에 바로 쓰게 하는 확장입니다.