University commission statements, reconciled to the penny
Client
Student recruitment agency, United Kingdom
Timeline
First stage, then follow-on scope
Status
Live
Each partner university pays commission and sends a statement in its own format. The agency re-keyed them into one spreadsheet. Now statements are parsed on upload and the money is tracked per student, year and term.
The problem.
Spreadsheets, PDF remittances and CSV files, all with different columns. Mistakes in re-keying meant unpaid commission nobody noticed.
What we built.
A parser where each partner is a short config block. Adding a new university needs no new code.
A finance screen built to the client’s mock-up: expected, invoiced, paid, outstanding, bonus and progression.
A payment journal per student. Manual corrections survive the next import.
Import preview on a copy of the database, so nothing is changed until someone confirms it.
A summary that points out gaps in the agency’s own records, not only the partners’.
Decisions worth explaining.
Money in pennies
Every amount is stored as an integer number of pennies. Rounding errors cannot accumulate across hundreds of rows.
In numbers.
13 / 13reconciliation metrics match partner totals exactly