What's on a statement
A statement lists a restaurant's unpaid, delivered invoices with one supplier, the amount still owed on each, whether each is Open or Overdue, a five-column aging summary, and the Total Due.
Two versions of these numbers exist, and knowing which one you're looking at answers most questions:
- Frozen ("as sent"). When the supplier clicks Create & Send, the statement records each invoice's amount owed, its Open/Overdue label, the aging and the Total Due. The PDF, the email, the text and the supplier's View Statements list always show these frozen numbers.
- Live. The restaurant's statement page re-reads every invoice each time it loads, so payments made after sending are already taken off. Only the page shows live numbers.
Who uses it
- Supplier staff see the amounts in the Create Statement dialog and on the preview PDF before sending.
- Restaurants see them on the PDF, email, text and statement page.
Which invoices are included
An invoice is listed when all of these hold at the moment the dialog loads (or the statement is sent):
| Rule | In the app's words |
|---|---|
| The order went out | Status Ready for Delivery or Delivered |
| It's still owed | Payment status Unpaid, Partially paid or Processing |
| Something is actually left | Amount owed, rounded to the cent, is more than $0.00 |
| The order is live | Not deleted |
| The customer is active | The customer hasn't been marked Inactive, and the restaurant's account hasn't been deleted |
Purchase orders never appear: statements are for what customers owe the supplier.
So these are left off:
| Invoice | Why |
|---|---|
| Order still Pending or Packing (or a draft) | Not invoiced yet |
| Paid | Nothing owed |
| Cancelled / Void | Not owed |
| Amount owed rounds to $0.00 | Nothing to collect |
| Processing is not left off | An invoice with a bank payment clearing is listed at its full remaining amount until the money lands. |
| Any invoice of an Inactive customer | The whole customer disappears from the dialog |
There's no "as of" cut-off. Backdating the Statement Date doesn't drop invoices made after that date: the statement always lists what is owed today, and the date only changes Open/Overdue and the aging. See the FAQ.
The supplier can then narrow it further: untick single invoices in the dialog, and only the ticked ones go on that customer's statement. See Creating & sending.
Calculations
Amount owed on one invoice
Amount owed = invoice total − money applied to it, never below $0.00, rounded half up to the cent.
- "Invoice total" is the invoice's final total, already net of returns and credits.
- "Money applied" is payments that have landed, net of refunds paid back, plus any store credit applied to the invoice and any part Clipp paid for a promotion. A bank payment still Processing doesn't count yet.
- A refund puts money back into what's owed, because the restaurant got that money back.
| Invoice total | Received | Refunded | Amount owed | Payment status |
|---|---|---|---|---|
| $500.00 | $0.00 | $0.00 | $500.00 | Unpaid |
| $500.00 | $200.00 | $0.00 | $300.00 | Partially paid |
| $500.00 | $200.00 | $50.00 | $350.00 | Partially paid |
| $500.00 | $500.00 | $0.00 | $0.00 | Paid (left off) |
| $500.00 | $520.00 | $0.00 | $0.00 | Paid (overpaid; never negative) |
| $500.00 | $0.00 + $500.00 bank payment clearing | $0.00 | $500.00 | Processing (included) |
Total Due
Total Due = the sum of each included invoice's amount owed, rounded to the cent once at the end.
| Invoice | Amount owed |
|---|---|
| INV-1041 | $300.00 |
| INV-1047 | $1,250.40 |
| INV-1052 | $99.99 |
| Total Due | $1,650.39 |
The Total Balance a customer shows in the dialog is the same sum over all their listed invoices. If the supplier unticks some, the statement's Total Due is the sum of the ticked ones only. The dialog's Total Balance column doesn't change when you untick.
Open or Overdue
Each invoice gets one label, worked out against the Statement Date in whole calendar days:
- Open: the due date is the Statement Date or later, or the invoice has no due date.
- Overdue: the due date is before the Statement Date (1 day or more).
An invoice due on the Statement Date itself is Open.
In the Create Statement dialog, the Overdue chip and the Outstanding Status → Overdue filter are worked out against the real today (New York calendar day), not the Statement Date you picked. The statement itself uses the Statement Date. Pick a past Statement Date and an invoice can show Overdue in the dialog but Open on the statement.
Aging buckets
Each invoice's amount owed goes into exactly one bucket, by days past due = Statement Date − due date (whole calendar days):
| Days past due | Bucket (PDF) | Bucket (statement page) |
|---|---|---|
| 0 or less, or no due date | CURRENT DUE | Current |
| 1–30 | 1-30 DAYS PAST DUE | 1–30 Days |
| 31–60 | 31-60 DAYS PAST DUE | 31–60 Days |
| 61–90 | 61-90 DAYS PAST DUE | 61–90 Days |
| 91 or more | 90+ DAYS PAST DUE | 90+ Days |
Each bucket is added up exactly and rounded to the cent. The five buckets add up to the Total Due exactly, on the PDF, the email, View Statements and the live statement page, because each invoice's amount owed is already in whole cents.
Worked example. Statement Date Oct 15, 2026:
| Invoice | Due date | Days past due | Amount owed | Label | Bucket |
|---|---|---|---|---|---|
| A | Oct 20 | −5 | $250.00 | Open | Current |
| B | Oct 15 | 0 | $180.40 | Open | Current |
| C | Oct 14 | 1 | $99.99 | Overdue | 1–30 |
| D | Sep 15 | 30 | $412.50 | Overdue | 1–30 |
| E | Sep 14 | 31 | $75.00 | Overdue | 31–60 |
| F | Jul 17 | 90 | $1,200.00 | Overdue | 61–90 |
| G | Jul 16 | 91 | $60.25 | Overdue | 90+ |
| H | (none) | — | $30.00 | Open | Current |
| Current | 1–30 | 31–60 | 61–90 | 90+ | Total Due |
|---|---|---|---|---|---|
| $460.40 | $512.49 | $75.00 | $1,200.00 | $60.25 | $2,308.14 |
Boundaries to remember: due today is Current; 30 days late is still 1–30; 90 days late is still 61–90; 91 is 90+.
Live numbers on the statement page
The statement page recomputes, every time it loads:
- each invoice's amount owed and status from the invoice as it is now,
- the Total Due as the sum of those,
- the aging from those amounts, against the original Statement Date. The columns don't shift as time passes; only the amounts inside them shrink as invoices are paid.
The Open/Overdue label underneath stays the frozen one; a newer status (Paid, Processing, Void) replaces it. See Statement page & paying.
Example. The statement above was sent. On Oct 20 the restaurant pays D ($412.50) by card, and the supplier records $50.00 cash against F.
| Where | D | F | Total Due | 1–30 | 61–90 |
|---|---|---|---|---|---|
| PDF, email, text, View Statements | $412.50 | $1,200.00 | $2,308.14 | $512.49 | $1,200.00 |
| Statement page (live) | $0.00 · Paid | $1,150.00 · Overdue | $1,845.64 | $99.99 | $1,150.00 |
Edge cases
| Situation | What happens |
|---|---|
| No due date on an invoice | Counts as Open and Current |
| Invoice paid in full after sending | PDF still shows it; the page shows Paid, $0.00, and drops it from the live Total Due |
| Restaurant pays more than owed | Amount owed shows $0.00, never negative |
| Bank payment clearing after sending | The page shows Processing with no Pay button, but the invoice's amount stays in the live Total Due until the money lands |
| Invoice voided after sending (everything returned, nothing paid) | The page shows Void and no Pay button |
| Order cancelled after sending | A cancelled order owes nothing, so the page should show it as Void with no Pay button (verify how a cancelled order reads on the page) |
| Every invoice paid | The page says "All invoices on this statement are paid" |
| Customer marked Inactive | They can't be picked for a new statement. Statements already sent keep working. |
| Invoice amount changed (edit, return) after sending | PDF keeps the old figure; the page shows the new amount owed |
Where it shows up
| Surface | Amount per invoice | Total | Aging | Open/Overdue |
|---|---|---|---|---|
| Create Statement dialog | Amount Due (now) | Total Balance (now, all listed invoices) | — | Against real today |
| Preview PDF | Invoice total (see below) | Total Due (now, ticked invoices) | Yes | — |
| Sent PDF | Invoice total | Total Due (frozen) | Frozen | — |
| Outstanding (frozen) | Statement Total (frozen) | — | — | |
| Text message | — | Total due (frozen) | — | — |
| Statement page | Amount owed (live), plus "of $total" when part-paid | Total Amount Due (live) | Live | Frozen, overridden by Paid / Processing / Void |
| View Statements list | — | Amount (frozen) | — | — |
The PDF's INVOICE TOTAL column prints each invoice's full total, while Total Due is the sum of what's still owed. For a partly paid invoice the rows don't add up to the Total Due. The email and the statement page show the amount owed instead. See PDF, email & text.
Decisions
- Numbers are frozen when sent, and the restaurant's page is live. The PDF and email are a record of what was sent; the page must never ask a restaurant to pay something already paid. (#1997)
- Live aging keeps the original Statement Date. Bucket boundaries don't move as days pass, so the page stays comparable with the PDF. (#1997)
- The dialog shows Amount Due, not Invoice Total. The invoice rows have to add up to the customer's Total Balance. (#2023)
- The email shows the amount still outstanding, not the invoice total. Its column is labelled OUTSTANDING. (#2377)
- The invoice date is the invoice's own date, copied as stored. A statement and the invoice never disagree. (#2094)
- Every invoice reads its balance from its sale order. The dialog, the statement and the live page all use the same amount-owed rule. (#2448, #2589)
Known limitations
- PDF rows don't add up for part-paid invoices (invoice totals vs amounts owed). See above.
- The dialog's Overdue uses today; the statement uses the Statement Date.
- An invoice with a bank payment clearing is included at its full remaining amount until the money lands. The page shows Processing and no Pay button for it.
FAQ
I backdated the Statement Date to the end of last month. Why are this month's invoices on it? The Statement Date only sets Open/Overdue and the aging. The list is always what is owed today. Untick the invoices you don't want. See Which invoices are included.
The PDF says $2,308.14 but the restaurant's page says $1,845.64. Which is right? Both. The PDF is frozen at sending; the page takes off everything paid since. See Live numbers.
Why don't the invoice amounts on the PDF add up to the Total Due? One of the invoices is partly paid. The PDF prints its full total but counts only what's left in the Total Due. The email shows the amounts that add up.
The restaurant paid by bank transfer yesterday. Why is it still in the Total Due? A bank payment counts once it clears, after a few business days. The invoice shows Processing and can't be paid twice from the page.
Why isn't this customer in the Create Statement dialog? They have no invoice that's delivered (or ready for delivery), unpaid or partly paid, with something left on it. Or they're marked Inactive.
An invoice due today shows Open. Shouldn't it be Overdue? No. It's Overdue from the day after the due date.