Bookkeeping

Order to cash — what happens between the sale and the money

Invoicing is one step in a chain that ends with cash and a closed receivable. The steps in between are where revenue quietly goes missing.

The Comma team3 min read
  • accounts receivable
  • invoicing
  • revenue

Order to cash is the loop that turns work into money: an agreement, delivery, an invoice, a receivable, a payment, and a receivable that closes. Every step is a place the chain can break, and a broken chain almost never announces itself — revenue does not go missing loudly.

The entries#

Raising an invoice recognises revenue and creates the receivable:

AccountDebitCredit
1200 · Accounts Receivable5,650.00
4000 · Sales5,000.00
2310 · GST/HST Payable650.00
Total5,650.005,650.00
Invoicing. Revenue is recognised now, not when the money arrives — that is the whole point of accrual.

Payment settles it, and touches no revenue account at all:

AccountDebitCredit
1000 · Bank5,650.00
1200 · Accounts Receivable5,650.00
Total5,650.005,650.00
Collection. Nothing here is income — the income was recognised when the invoice was raised.

If a payment lands in a revenue account, you have counted the sale twice. It is one of the most common errors in small-business books, and it inflates both revenue and receivables until someone reconciles.

Partial payments and the reason they are awkward#

A customer pays half. The invoice is not paid, and it is not unpaid.

Handled properly, each payment is applied against the invoice and the outstanding balance is derived — invoice total less everything applied. The invoice flips to paid only when the balance reaches zero.

Handled badly — by editing the invoice down, or by marking it paid and booking the difference somewhere — you lose the fact that you are still owed money, and the aging report stops meaning anything.

Comma models this natively: several deposits can each clear part of one invoice, the outstanding amount is always computed rather than stored, and only the payment that closes the balance flips the status. Overpayments are refused rather than absorbed, because an overpaid invoice is nearly always a misapplication.

Aging is the diagnostic#

A receivables aging report buckets what you are owed by how long it has been owed. It answers a question the balance alone cannot: is this normal, or is something stuck?

Read it by bucket rather than by total. A large current balance is a healthy growing business. The same total sitting mostly at 90+ days is a collections problem, and possibly a revenue-recognition one — invoices that old sometimes turn out to be disputed, or for work that was never accepted.

Credit notes, not deletions#

When an invoice is wrong, the fix is a credit note, not an edit. The original stays, the credit note offsets it, and the trail shows what happened. If the invoice has already been sent to the customer, editing it also means they and you now hold different documents with the same number — which is its own problem at audit.

The same logic as any posted transaction: correct forward, do not rewrite.

What to watch#

Three numbers tell you whether this loop is working:

  • Days sales outstanding — how long, on average, money takes to arrive. Its direction matters more than its level.
  • The 90+ bucket as a share of total receivables. Rising means collection has stopped, whatever the total says.
  • Unbilled work. Not on any report by definition, which is why it needs looking for. Work delivered and not invoiced is the largest receivable you do not have.

The last one is the one that catches growing companies. Everything else in the chain is visible in the ledger; that one exists only in someone's memory until the invoice is raised.

Keep reading

Bookkeeping

What your books have to prove, and for how long

An audit trail is not paperwork. It is the difference between a number you can defend and a number you are asserting — and the retention rules run longer than most people assume.

26 Aug 2026 · 3 min read