Part 7 · 2 chapters · ~12 min
Fees, Interest and Rounding
Fees as basis points and fixed amounts with caps, who pays which fee, VAT and levies, interest day-count conventions, daily accrual with carried remainders, amortisation schedules, rounding policies (half-up, half-even), and allocating rounding differences.
15
Fees and taxes
code
// fees in integers: basis points with a cap, then VAT on the fee
function transferFee(amountKobo: bigint): { fee: bigint; vat: bigint } {
const pct = (amountKobo * 50n + 5_000n) / 10_000n; // 0.5% half-up
const fee = pct < 1_000n ? 1_000n : pct > 200_000n ? 200_000n : pct; // min ₦10, max ₦2,000
const vat = (fee * 750n + 5_000n) / 10_000n; // 7.5% VAT on the fee
return { fee, vat };
}
// postings: Dr customer (amount + fee + vat), Cr destination (amount), Cr fee income (fee), Cr VAT payable (vat)16
Interest accrual and rounding policy
| policy decision | options |
|---|---|
| day count | actual/365, actual/360, 30/360 |
| rounding mode | half-up (common in retail), half-even (banker's, reduces bias), always down (customer-favourable for charges) |
| when to round | per posting, with remainders carried; never round intermediate rates |
| allocation of differences | splitting ₦100 into three instalments: 33.34 + 33.33 + 33.33, with the rule documented (largest remainder first) |
INTEREST: SIMPLE DAILY ACCRUAL VS ROUNDING POLICY
a ₦500,000 loan at 30% a year over 30 days, by method (kobo)
swipe the figure sideways, or tap expand for full screen
1/4
the exact figure
Simple interest for 30 days on ₦500,000 at 30% p.a. with a 365-day year: 500,000 × 0.30 × 30/365 = ₦12,328.77 (1,232,876.7 kobo). Someone has to decide how to round that.
₦12,328.77 exact (30/365)the day count convention is a policy