Finance was chasing overdue invoices out of memory and spreadsheets — no single live view of what was overdue, how overdue, or who to call next. Collecting receivables is triage: oldest and largest balances first, updated daily, not a report someone remembers to pull and re-sort by hand.
What was built
A native NetSuite worklist — dashboard and workflow built inside NetSuite itself, shipped as an SDF (SuiteCloud Development Framework) project under git — so it inherits NetSuite's permissions model and audit trail, and finance doesn't have to learn a second interface. The worklist shows invoice aging per customer, with rows color-cascading by how overdue an invoice is — red for the oldest balances, fading through orange to blue — so the most urgent accounts are visually obvious without reading every number in the row.
A scheduled script runs every morning at 5 AM and emails the collections team a digest, so the worklist shows up whether or not anyone thought to check it.
Outcome
Live in production since early July 2026; finance works from it every morning. Two rounds of user-reported fixes in the first week of real use — a sort-order issue and an invoice-age display bug — both shipped to production the same day they were reported.