Integer arithmeticWhy Payment Splits Don't Add Up
Why Payment Splits Don't Add Up
The Hidden Cost of Floating-Point Math
Every split payment calculation using standard programming math or spreadsheet formulas introduces tiny rounding errors. A single pesewa lost per transaction is invisible — until you scale.
Side-by-side
Floating-point vs Integer arithmetic
IEEE 754 floating-point cannot represent most decimal fractions exactly. Spreadsheets and most programming languages use it by default. Ocuula converts every amount to the smallest currency unit and distributes remainders predictably.
| Scenario | Floating-point | Integer (Ocuula) |
|---|---|---|
| GHS 100 split 3 ways (equal) | GHS 33.33 each → total GHS 99.99 1p lost | 3,333p each → 1p remainder to first recipient 0p lost |
| GHS 1,000 split 7 ways (equal) | GHS 142.86 each → total GHS 999.99 1p lost | 14,285p × 7 = 99,999p + 1p remainder 0p lost |
| GHS 50.50 split 3 ways (equal) | GHS 16.83 each → total GHS 50.49 1p lost | 1,683p each + 1p remainder → total 5,050p 0p lost |
| GHS 10,000 split 365 ways (daily) | GHS 27.39 each → total GHS 9,997.35 GHS 2.65 | 27p each + remainder distribution 0p lost |
| Waterfall: GHS 500 split 50/30/20 | GHS 250.00 + GHS 150.00 + GHS 100.00 0p (coincidence) | 25,000p + 15,000p + 10,000p = 50,000p 0p guaranteed |
The cost adds up
Cumulative rounding loss at scale
One pesewa per transaction sounds trivial. At volume, it becomes real money that should have reached your recipients.
These estimates assume 1p lost per transaction on average. Real loss varies by split type — waterfall and tiered splits compound rounding across every tier, increasing the gap.

