Case study 02 · ERP engineering

Overdue Invoices, Prioritized Automatically Every Morning

NetSuite had the data. It didn't have a surface built for the way collections actually works, which is triage.

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.

NATIVE NETSUITE SURFACE — INHERITS PERMISSIONS AND AUDIT TRAIL CUSTOMER · INVOICE · AGE · BALANCE 120+ days overdue call first 90 days overdue 60 days overdue 30 days overdue current no action 5 AM scheduled script digest arrives unprompted — nobody has to remember Finance works the list top to bottom, oldest first Bugs reported → fixed same day two rounds in the first week of real use Color encodes invoice age — urgency reads at a glance.
Rows cascade red through orange to blue by invoice age; a 5 AM digest keeps the list in front of the team without anyone having to remember it.

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.

Stack
NetSuite SDF (git-tracked) native dashboards SuiteFlow workflows scheduled script