Finance teams do not buy "AI." They buy the absence of an invoice that is wrong in front of a customer, and a close that does not require a second workbook to explain the first.
That is a chain. Customer (or shipper). Product. Price. Contract. Schedule or rated haul. Invoice. Cash. Journal. Skip a link and the next tool starts guessing.
Why stitched stacks invent a second set of numbers
Most revenue stacks skip links on purpose. A CPQ never met the meter. A billing product never met the bank. Collections lives in a shared inbox. Revenue lives in a sheet named final_v7. Each system is locally reasonable. Together they invent a second set of numbers.
The failure mode is predictable:
- The contract says one thing; the schedule says another because someone re-keyed it.
- Usage arrived late; billing added a line to a sent invoice because the meter tool could.
- Collections chased a wire that landed last Tuesday because bank rec is a Friday ritual.
- Revenue recognised on invoice date because the spreadsheet could not hold haul date and invoice date separately.
None of these are operator errors in isolation. They are what happens when each product owns a slice and nobody owns the handoff.
What Sonic spans — and what it does not
Sonic's bet is span on the chain from agreement to journal, scoped to one organisation at a time.
| Link | What Sonic holds | What it hands off |
|---|---|---|
| Agreement | Signed PDF → structured contract → review → approve | You still own legal interpretation |
| Billing | Schedule (subscription) or rated shipment (freight) → draft invoice → send | Not a payment processor |
| Collections | Watchtower on sent unpaid only; dunning cadence; email audit | Not your relationship manager |
| Cash | Bank rec matches deposits to invoices; partials and splits | Not your bank |
| Revenue | Waterfall + journal entries from those documents | Not ASC 606 certified; not your GL of record |
AI belongs on judgement steps: reading the PDF, suggesting the next collections sentence, interpreting a messy statement line. It does not belong on inventing an amount after send. The math is the schedule and the rate card. The model is not a second general ledger.
The chain in practice — subscription
A typical subscription path looks like this:
- Upload the signed contract PDF.
- Review the structured extraction — phases, products, one-time fees, payment gates if the clause says so.
- Approve to materialise the customer, products, and billing schedule.
- Activate the schedule; invoices generate on billing day.
- Send the invoice; only then does Watchtower age it.
- Customer pays via Stripe, Razorpay, or wire; you match the deposit in bank rec.
- Journal entries post from the invoice and recognition rules you configured.
If step 3 is wrong, everything downstream is wrong with confidence. That is why we insist on review before approve, not blind trust.
The chain in practice — freight
Shipment billing is the same chain with different nouns:
- Carrier contract with rated charges and file mapping.
- Upload the carrier export; map shippers; create shipments.
- Invoice preview groups by contract, shipper, and period.
- Send; collections chases the shipper, not a subscription customer.
- Recognition posts on the haul date; billing posts on invoice date.
There is no monthly schedule pretending to be freight. Mixing the two modes in one org workspace is a product choice, not a configuration toggle you can flip per invoice.
Correct, then fast
If you take one sentence from this essay, take this: correct, then fast.
Speed without a frozen issued invoice is just a faster way to be wrong. Sonic will refuse to add lines to a sent invoice. It will refuse to silently rewrite a carrier rate on an issued freight document. It will stop dunning when cash matches, not when someone remembers to check.
That feels slower than "just fix it in the system." It is how you remain able to answer, without sweating, what the customer was asked to pay — and what your books say you earned.
Watch out for
- Evaluate the chain, not the demo slide. A clean example proves the UI renders. Your messiest contract proves the model holds.
- Bank rec is not optional glue. Unmatched deposits mean you are chasing people who already paid. Unmatched invoices mean your books say cash arrived when it did not.
- Revenue recognition is not collections. Billed in August is not necessarily earned in August. The waterfall exists so you can see both.
- Sonic is not your ERP. Export or sync journal entries; keep NetSuite (or equivalent) as the book of record.
- AI parsing is a draft. Approve is the control. Ambiguous clauses — especially payment-gated starts — need a human on the review screen.