Skip to main content

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​

  • 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.

CardAmountCount
TotalItems less returns, plus fees, less discounts. Store credit and Clipp coupons are not taken off.All matching sold invoices
PaidMoney received (cash, check, card, bank, other) minus completed refunds. Store credit is not counted.Invoices that are Paid or Partially paid
Pending PaymentSum 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:

InvoiceTotalStore credit appliedPaidStatus
A$500.00$0.00$500.00Paid
B$350.00$50.00$100.00Partially paid
C$200.00$0.00$0.00Canceled
  • 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​

ControlWhat 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 FiltersShows or hides the row below. Opening or closing it clears the customer, overdue, delivery-status and payment-status filters.
Clear FiltersClears 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.

ColumnShowsSort
InvoiceInvoice number (link), customer name, customer initialYes, 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 TotalThe invoice total after discounts and any Clipp coupon. Store credit is a payment, so it is not taken off.Yes
Order StatusReady for Delivery, Delivered or Canceled, with the time it got there (your browser's time zone)No
Invoice DateThe stored date as YYYY-MM-DD, e.g. 2026-09-16Yes; invoices with no date go last
Due DateMM/DD/YYYYYes; invoices with no due date go last
Payment StatusChip, see Payment statusNo
Payment MethodMethods used, largest amount first, e.g. "Cash, Store Credits"No
Order ChannelSupplier · AI Voice Agent · Manual Input by Clipp · Restaurant · LegacyNo

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​

RolePageAdd Payment, Create StatementSummary cards
AdminYesYesYes
ClerkYesYesNo
Driver, Warehouse, Sales PersonYes (read-only)NoNo
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​

sale-order-list.feature
# 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
invoice-summary-cards.feature
# 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.