Invoice list
The Invoices page lists every invoice the supplier has issued: orders that are Ready for Delivery, Delivered or Canceled after being invoiced. From here the supplier searches and filters, sees totals, opens an invoice, prints one, records a payment across several invoices, and creates a statement.
Who uses it
- Supplier staff with full or read-only invoice access. Admins also see the summary cards.
- Restaurants don't use this page; they see their orders in the restaurant app.
How it works
Header
- Title: Invoices.
- Add Payment: opens the multi-invoice payment drawer, to apply one payment across several of a customer's invoices (oldest first). Covered on Payments & refunds.
- Create Statement: opens the statement dialog. Covered on Statements.
- Both buttons need full invoice access and are hidden without it.
Summary cards (Admins only)
Three cards, each with a count line like "12 Invoices". They follow every filter on the page. Only invoices that went out (Ready for Delivery or Delivered) are counted: a Canceled invoice the list shows is left out of every card, in count and in money.
| Card | Amount | Count |
|---|---|---|
| Total | Items less returns, plus fees, less discounts. Store credit and Clipp coupons are not taken off. | All matching sold invoices |
| Paid | Money received (cash, check, card, bank, other) minus completed refunds. Store credit is not counted. | Invoices that are Paid or Partially paid |
| Pending Payment | Sum of each invoice's balance due: total less paid money, store credit applied and a Clipp payout (above $0) | Invoices with a balance above zero |
Worked example, three matching invoices:
| Invoice | Total | Store credit applied | Paid | Status |
|---|---|---|---|---|
| A | $500.00 | $0.00 | $500.00 | Paid |
| B | $350.00 | $50.00 | $100.00 | Partially paid |
| C | $200.00 | $0.00 | $0.00 | Canceled |
- Total: $500.00 + $350.00 = $850.00, "2 Invoices" (C is left out).
- Paid: $500.00 + $100.00 = $600.00, "2 Invoices".
- Pending Payment: B owes $350.00 − $100.00 − $50.00 = $200.00, "1 Invoices".
Store credit and Clipp payouts settle part of an invoice without being cash, so Paid + Pending Payment can be less than Total (here $800.00 against $850.00).
Filters
| Control | What it does |
|---|---|
| By Delivery Date (preset: All Time, Today, Last 7 Days, Last 30 Days, Last 365 Days, Custom) | Despite the label, filters by invoice date. Invoices dated before 1 Jan 2023 never appear. |
| By Due Date (same presets) | Filters by due date. Disabled while Overdue Invoices is on. |
| Advanced Filters | Shows or hides the row below. Opening or closing it clears the customer, overdue, delivery-status and payment-status filters. |
| Clear Filters | Clears everything, including search, dates and sort. |
| Search, placeholder "Search by Invoice ID" | Press Enter or the search button. Matches part of the invoice number, the reference number, or the customer's name, any case. |
| Select Customers (advanced) | One or more customers. "Recent Customers" (last 3 ordered) are listed first, then "All Customers". |
| Overdue Invoices switch (advanced) | Invoices past their due date, still unpaid, and Ready for Delivery or Delivered. Turning it on removes the Paid option. See Overdue. |
| By Delivery Status (advanced) | All · Delivered · Ready for Delivery · Canceled |
| By Payment Status (advanced) | All · Paid · Pending · Partial · Processing · Void. Any choice leaves Canceled invoices out. |
Custom opens Custom Date Range with Start and End, Cancel and Save (Save needs both dates). Every filter and the sort live in the page address, so a filtered view can be bookmarked or shared.
Table
Twenty rows load at a time; more load as you scroll. Clicking a row opens the invoice page.
| Column | Shows | Sort |
|---|---|---|
| Invoice | Invoice number (link), customer name, customer initial | Yes, by the whole number, ignoring case and reading digits as numbers, so INV-9 comes before INV-10. A supplier who changed their order prefix sees the old and new prefixes grouped, not one continuous count |
| Invoice Total | The invoice total after discounts and any Clipp coupon. Store credit is a payment, so it is not taken off. | Yes |
| Order Status | Ready for Delivery, Delivered or Canceled, with the time it got there (your browser's time zone) | No |
| Invoice Date | The stored date as YYYY-MM-DD, e.g. 2026-09-16 | Yes; invoices with no date go last |
| Due Date | MM/DD/YYYY | Yes; invoices with no due date go last |
| Payment Status | Chip, see Payment status | No |
| Payment Method | Methods used, largest amount first, e.g. "Cash, Store Credits" | No |
| Order Channel | Supplier · AI Voice Agent · Manual Input by Clipp · Restaurant · Legacy | No |
With no sort chosen, the most recently created order is first. There is no overdue badge in this list; use the Overdue Invoices filter.
Row actions: Print opens that invoice's PDF in a new tab (see Invoice PDF), and View opens the invoice page. Ready for Delivery and Delivered rows have a checkbox for bulk printing; Canceled rows don't.
Empty list
"No Invoice Just Yet" / "Once your order is processed for delivery, an invoice will be generated and appear here. Hang tight--it will be ready soon". With a search, a no-results message instead.
Where it shows up
Supplier app → Invoices in the sidebar.
Permissions
| Role | Page | Add Payment, Create Statement | Summary cards |
|---|---|---|---|
| Admin | Yes | Yes | Yes |
| Clerk | Yes | Yes | No |
| Driver, Warehouse, Sales Person | Yes (read-only) | No | No |
| No invoice access | "You are not allowed to access this page." | — | — |
Decisions
- The date filter matches the invoice date only. An invoice dated 30 Jan but delivered 2 Feb used to count in both months. (#2202, #2204, #2500)
- Sorting happens on the server. Sorting only loaded rows broke as more rows scrolled in. (#2345, #2451)
- The Customer column has no sort. It couldn't match what the column shows. (#2499)
Specs
# prefix: SORD
Feature: Order list filters, sorts and search
The orders and invoices lists offer filters, sorts and search over an order's stages. Date ranges on
an order's stages are inclusive and compare the moment as given; only the invoice date is a
calendar day.
Background:
Given a supplier with several orders
Rule: Orders can be picked out by id
Scenario: SORD-001 the list narrows to the chosen orders
When the supplier filters by the ids of two orders
Then only those two orders are listed
And an empty list of ids matches nothing
Scenario: SORD-002 another supplier's order is never listed by its id
When the supplier filters by the id of another supplier's order
Then nothing is listed
Rule: Each order stage has an inclusive date range
Scenario: SORD-003 an order is listed when its stage moment is inside the range
Given orders confirmed before, inside and after a range
When the supplier filters by that confirmed range
Then only the order confirmed inside the range is listed
And an order never confirmed is not listed
Scenario: SORD-004 returned and refunded ranges combine with their flags
Given an order with returns inside the range and another with returns outside it
When the supplier filters by "has returns" and the returned range
Then only the order whose return falls inside the range is listed
Scenario: SORD-005 a canceled order is found by the day it was canceled
Given an order canceled inside a range
When the supplier filters by canceled status and the canceled range
Then that order is listed
Rule: An unreadable invoice day is refused, never ignored
Scenario: SORD-006 a bad invoice day is an error rather than an open range
When the supplier filters with an invoice day that is not a real date
Then the request is refused
And the list is not widened to every order
Rule: A buyer searches by supplier name
Scenario: SORD-007 a restaurant finds orders by the supplier's name
Given a restaurant with orders from a supplier named "Acme Produce"
When the restaurant searches "acme"
Then the orders from Acme Produce are listed
And orders are still found by order number and reference number
Scenario: SORD-008 a supplier still searches by the customer's name
Given a supplier with a customer named "Acme Cafe"
When the supplier searches "acme"
Then the orders for Acme Cafe are listed
Rule: Reference numbers sort naturally
Scenario: SORD-009 reference numbers sort ignoring case and reading digits as numbers
Given orders with reference numbers "PO 10", "PO 9" and "po 11"
When the supplier sorts by reference number ascending
Then the order is "PO 9", "PO 10", "po 11"
Rule: Orders without the sorted date or number come last in either direction
Scenario: SORD-010 orders with no invoice date are last whichever way the list is sorted
Given orders with invoice dates and one order with none
When the supplier sorts by invoice date ascending or descending
Then the order with no invoice date is last both times
Scenario: SORD-011 orders with no reference number are last whichever way the list is sorted
Given orders with reference numbers and one order with none
When the supplier sorts by reference number ascending or descending
Then the order with no reference number is last both times
Scenario: SORD-012 paging across the change from dated to undated orders loses and repeats nothing
Given orders with invoice dates and orders without
When the supplier pages through the list one order at a time
Then every order appears exactly once, dated ones first
# prefix: SOIS
Feature: Invoice summary cards
The summary cards above the invoices list total the sold invoices among those the list's filter
matches. They use the sales-report figures, so a card and the sales report never disagree about an
invoice.
Background:
Given a supplier with several invoices
Rule: The cards total the sold invoices the list's filter matches
Scenario: SOIS-001 the cards narrow with the list's filter
Given invoices for two customers, some paid and some unpaid
When the supplier asks for the summary filtered to one customer and the unpaid status
Then the count and totals are those of the sold invoices the list shows for the same filter
Scenario: SOIS-002 the cards sum the sold invoices the filter matches
Given a few sold invoices with known totals, one of them settled
When the supplier asks for the summary with no filter
Then the invoice count equals the number of listed invoices
And net sales equals the sum of their totals
And paid shows the settled invoice and pending the rest, together footing to net sales
Rule: Only sold, live invoices of the supplier are counted
Scenario: SOIS-003 a canceled invoice is in neither the count nor the money
Given a delivered invoice and a canceled invoice
When the supplier asks for the summary
Then only the delivered invoice is counted
Scenario: SOIS-004 another supplier's invoice is never counted
Given a delivered invoice of another supplier
When the supplier asks for the summary
Then that invoice is not counted
Scenario: SOIS-005 a deleted invoice is not counted
Given a delivered invoice that was deleted
When the supplier asks for the summary
Then that invoice is not counted
Scenario: SOIS-009 a canceled invoice the list shows is still not counted
Given a delivered invoice and a canceled invoice
And the default invoices filter, which includes canceled
When the supplier lists invoices and asks for the summary with that filter
Then the list includes the canceled invoice
But the summary counts only the delivered invoice, in money and count
Rule: Only supplier staff may ask
Scenario: SOIS-006 a restaurant cannot read the summary
When a restaurant asks for the invoice summary
Then the request is denied
Rule: The cards are for admins only
Scenario: SOIS-007 an admin sees the total, paid and pending cards
Given an admin on the invoices page
Then the Total, Paid and Pending Payment cards show the summary count and amount for the list's filter
Scenario: SOIS-008 a non-admin sees no cards
Given a user who is not an admin on the invoices page
Then no summary cards are shown
And the summary is not requested
Known limitations
- The date filter is labelled By Delivery Date but filters by invoice date.
- Both date selectors share one preset in the address, so choosing a preset on one can show on the other (verify).
- Card subtitles read "1 Invoices" for one invoice.
- Date presets are fixed when the page loads; a page left open past midnight keeps yesterday's "Today".
FAQ
An invoice delivered on Oct 2 doesn't show when I pick Oct 2. Why? The date filter uses the invoice date, which is usually the day it was marked Ready for Delivery. See Invoice date.
Why don't I see the Total / Paid / Pending cards? Only Admins see them.
Why doesn't Paid + Pending equal Total? Store credit and a Clipp payout settle part of an invoice without being cash, so they're in neither Paid nor Pending Payment.