Getting paid is the part of running a business nobody staffs. Invoices go out from the accounting system, reminders go out from someone's inbox when they remember, and a deposit lands with no note about which invoices it covers. The gap between "sent" and "banked" is where the cash sits.
Receivables is that gap, run as a system. Every invoice carries its own follow-up sequence, timed off the due date, that chases the customer and raises tasks for the team without anyone starting it. When the customer pays, they say so in their portal, with the invoices it covers and the evidence attached, so a payment arrives as a record to review rather than a mystery to decode. Disputes, promises to pay and credit notes each have a place, and each stops the chasing that no longer applies.
The reports are the ones a finance lead actually asks for. Cash position: collected, still coming, what is stopping the rest. Cash movement: where the balance went and whether what arrived was booked. This week: what falls due on which day.
Next.js on Postgres, multi-tenant, roles and teams per workspace. The portal is the half of the product the payer sees, and it is built with the same care as the half the team does.







