FAILURE MAP
← Case archive

FA-58575 / Loan amortization schedules / Member archive

Balloon maturity payment: amortization basis · case 05

Balloon loans are quoted fully amortizing payments over the short term.

Member previewVariant 5 · 3 implementations · 7 checks per implementation

Case contract

x = {'principal', 'rate_bp', 'amort_months', 'term_months'}. The level payment amortizes over amort_months (exact annuity, half-up). Payments run to the earlier of term and amortization end; the last one pays balance + interest (the balloon). Monthly interest is round_half_up(balance*bp/120000). Return {'payment', 'final_payment', 'balloon_excess': final - payment, 'total_interest'}.

Why this case matters

Amortization engines drive borrower statements, payoff quotes and investor remittances; a misplaced rounding step, boundary or ordering rule compounds across hundreds of periods.

One recorded failure

Sample boundary fixture

This sample comes from the broken implementation of a controlled reproducer.

Boundary fixtureActualExpectedOutcome
regression: amortization basis{"balloon_excess": 5, "final_payment": 266551, "payment": 266546, "total_interest": 198557}{"balloon_excess": 2534134, "final_payment": 2600867, "payment": 66733, "total_interest": 334930}Failed

MEMBER ARCHIVE

The complete case is available to members.

This record includes three runnable implementations, regression fixtures, execution results, and source hashes.

Member access is invitation-based. Sign in with your invited account to inspect the sources.

Sign in to the archive ↗