Skip to lesson
Exit
Order-to-Cash, Deep1 / 3

1 min lesson

Invoices and cash application

Describe what "Cash application is the inverse: it links a payment to the invoice it settles" changes in practice.

Step 1 of 3

Invoices and cash applicationwhere money meets the ledger

Invoices and their line items link back to the order, the usage period and the revenue treatment so every charge is traceable. Cash application is the inverse: it links a payment to the invoice it settles. Real life is messier than one-payment-one-invoice.

Learn more

Advanced table

Cash application is a many-to-many between payments and invoices

Cash scenario
Partial payment
What it means
Customer pays part of an invoice
How the model handles it
Payment applied for less than invoice total; balance stays open.
Cash scenario
Overpayment
What it means
Customer pays more than owed
How the model handles it
Excess becomes unapplied cash or a credit on account.
Cash scenario
Lump payment, many invoices
What it means
One wire covers several invoices
How the model handles it
One payment, multiple applications, each linked to its invoice.
Cash scenario
Unapplied cash
What it means
Money arrived, can't be matched yet
How the model handles it
Parked in an unapplied bucket until matched; a controlled liability, not lost.

Cash application is a many-to-many between payments and invoices. Model the application link as its own entity, not a foreign key.

Learn more

Optional practice

Practice: Invoices and cash application

QWhy should a usage_event table be append-only with a unique event_id, rather than mutable rows you update when corrections come in?