Solutions · Contract-to-cash
From the signed PDF to the matched deposit.
One model runs the whole chain: the contract makes the schedule, the schedule makes the invoices, the invoices feed collections, cash matching, and the books. Nothing is re-typed in the next tool.
The chain
Five hand-offs. One record.
Every step below is where a finance team usually changes tools — and where a term gets lost, a date slips, or a number is re-typed. In Sonic the output of one step is the input of the next, on the same record.
- 01
Contract
Signed PDF lands and is parsed into terms.
- 02
Schedule
Terms become a reviewable billing schedule.
- 03
Invoice
Drafts generate on cadence, not on memory.
- 04
Collections
Watchtower flags risk before it's overdue.
- 05
Journal
Every line ties back to the contract that made it.
What Sonic does
The contract becomes the plan that bills it.
Customer, products, prices, phases, and the billing day are read from the PDF and shown as a schedule for a person to approve. Until someone activates it, nothing bills. After that, invoices generate on cadence — not on memory.
Helio Labs
SCH-1904 · INR · Billing day 1
Awaiting gate payment
Subscription start
On payment- Subscription
- —
- Duration
- 24 months
- Gate
- Implementation
| Product | Model | Billing | Qty | Amount |
|---|---|---|---|---|
| Year 1 · 12 months | On payment | |||
| Platform | fixed | In advance | 1 | ₹ 20,000 |
| Seats | per unit | In advance | 200 | ₹ 80,000 |
| Year 2 · 12 months | +10% ramp | |||
| Platform | fixed | In advance | 1 | ₹ 22,000 |
| Seats | per unit | In advance | 200 | ₹ 88,000 |
Dates empty · duration holds the term
EditActivateNimbus Cloud
INV-1042
1–30 Apr 2026 · Due 1 May
| Line | Qty | Amount |
|---|---|---|
| Platform · Apr | 1 | ₹ 20,000 |
| Seats · 8 seats | 8 | ₹ 80,000 |
Drafts grow. Sent documents freeze.
A draft accepts late usage and a mid-period seat. A sent invoice never gains a line: a later charge is a new document alongside, a correction is a credit note. What the customer has is what is stored.
Collections only sees what the schedule produced.
Watchtower ages sent unpaid invoices and runs the cadence you configured once. A promise to pay holds it. A partial payment pauses it. A matched deposit is the off switch.
Outstanding
₹ 1.49 L
Sent unpaid
Past due
3
Not drafts
In dunning
2
Active sequence
Suggested
2
Awaiting send
Nimbus Cloud
INV-1042 · 12d
Westbound Logistics
INV-4418 · 6d
Apex Tools
INV-0901 · 21d
Delta Pack
INV-2209 · 3d
Nimbus Cloud
INV-1042 · ₹ 1,00,000 · due 11 Apr
Invoice sent · 1 Apr
April platform + seats. Net 30.
Suggested · D+7
INV-1042 is 12 days past due. Cadence is on sent unpaid only — this is the next step.
Matched
₹ 2,14,400
4 lines
Unmatched
₹ 1,00,000
1 line
Open invoices
3
sent unpaid
Needs review
1
operator queue
Suggested match
₹ 1,00,000
Paid is a claim. A deposit is a fact.
Bank lines are matched to invoices by amount, reference, and the payer against the billed party and its contacts. Confident matches settle; the rest queue for a person, with the candidates ranked.
The journal is the books — and it ties back.
Recognition posts from the invoices you already sent, on the dates the service was delivered. Every line links to the document and the contract that caused it, so the close is a review, not a rebuild.
Billed revenue
₹ 1,00,000
Deferred revenue
₹ 91,667
Still owed
Recognised revenue
₹ 8,333
This month
| Product | Account | Debit | Credit |
|---|---|---|---|
| Platform | Billed revenue | ₹ 20,000 | — |
| Platform | Deferred revenue | — | ₹ 20,000 |
| Platform | Deferred revenue | ₹ 1,667 | — |
| Platform | Recognised revenue | — | ₹ 1,667 |
| Seats | Billed revenue | ₹ 80,000 | — |
| Seats | Deferred revenue | — | ₹ 80,000 |
| Seats | Deferred revenue | ₹ 6,666 | — |
| Seats | Recognised revenue | — | ₹ 6,666 |
| Total | ₹ 1,08,333 | ₹ 1,08,333 | |
Debits equal credits. The invoice is the link.
Where revenue leaks
Nothing fails. The money just never gets invoiced.
Leakage is quiet. A clause that never became a schedule line, a file that landed after the invoice, a deposit under the wrong name. None of it shows up as an error, because nothing broke — the chain just had a gap in it. Each card links to the mechanic that closes that gap.
- 01
The ramp step that never billed
Year two is 15% more in the PDF and 0% more in the invoice, because the uplift lived in a clause and not in a schedule.
Schedule phases - 02
The renewal nobody applied
The term rolled, the auto-renewal clause said the price changes, and the old rate kept going out for six months.
Renewal clauses - 03
Seats added, never charged
Headcount went from 40 to 55 in the vendor export. The invoice still says 40 because the sheet was pivoted last quarter.
Usage & seats - 04
Usage that arrived after the invoice
The file for March lands on the 4th of April. The March invoice went out on the 1st. Those events are never billed.
Usage-based billing - 05
The commitment floor nobody topped up
The contract guarantees a minimum spend. Usage came in under it, and the invoice quietly billed the lower number.
Minimum commitments - 06
Proration by day ratio
A quarterly amount divided by 90 days and multiplied back disagrees with the quoted monthly price every single quarter.
Calendar-unit proration - 07
Fuel on last month's index
The surcharge tracks a weekly index. The rate card was updated once, in January, by hand.
Rate indexes - 08
The deposit that was never matched
Cash landed under the parent company's name. The invoice stayed open, collections kept chasing, and the customer stopped replying.
Bank reconciliation - 09
The sent invoice someone 'fixed'
A rate was corrected in the row after the PDF went out. Now the customer's copy, the sheet, and the ledger are three different numbers.
Issued invoices
Usual mess
The contract in the CRM, the schedule in a sheet, the invoice in a tool, the ageing in the inbox, the cash in the bank portal.
Rows edited after send. Reminders after the wire landed. A close that is a rebuild.
In Sonic
One record from the PDF to the journal. Each step's output is the next step's input.
Sent documents freeze. A matched deposit stops the chase. The journal ties back to the bill.
Contracts
PDF to a typed agreement you approve.
Subscription billing
The schedule is the core. Gates, phases, amendments.
Invoices
Drafts grow. Sent documents freeze.
Watchtower
Sent unpaid only. Cadence with an off switch.
Bank rec
A deposit is a fact. Match it so you stop chasing.
Revenue recognition
Waterfall and journal. Freight on the haul date.
In the glossaryContract-to-cashRevenue leakage
Questions
Open the answer here.
These are the questions this page raises. The full list lives on FAQ.
Can we start from a signed PDF?
Yes. Upload the agreement, review the structured result, approve. Sonic can materialise the customer and products on approve rather than forcing a blank catalog first. Time-to-schedule is measured in minutes on straightforward contracts.
Will you rewrite an invoice after it has been sent?
No. Sent, paid, void, and final invoices are not rewritten. Corrections are credit notes or a new invoice alongside the original. Drafts and in-progress invoices can still accept lines. Freight has no credit notes — correct the file, or void.
How do bank rec and collections stay out of each other's way?
Watchtower chases what is still unpaid. Bank rec matches deposits to billed parties. An unmatched deposit is cash that already landed — if you don't match it, the cadence will chase a customer who already wired you. Rec is the off switch collections cannot see on its own.
Is billed the same as recognised?
No. A year billed in January is not a year earned in January. Subscription amounts defer and release over the term. Freight recognises on the haul date, even when the invoice came first. We do not sell this as a certified ASC 606 determination.
Next
See it on your contracts
A walkthrough on the agreements and files you actually bill from — not a slide deck.