Invoicing hub

Every invoice across every job in one searchable, filterable list grouped by project.

What it is

A top-level nav surface listing all invoices for the business, grouped into collapsible project cards. Filter by status chip, by customer, or free-text search across invoice number, title, customer and project. New Invoice from here asks which project first, then opens the same editor used inside the job.

Also called: all my invoices · invoice list · who owes me money · accounts receivable

See it, piece by piece
01

One screen answers what is outstanding across the whole business

Outstanding, sent and awaiting, overdue, and paid to date, with voided invoices excluded from all four. This is the number a builder otherwise rebuilds in a spreadsheet, or asks the bookkeeper for at month end and gets a week late.

Invoicing — totals
Outstanding
$30,707.35
Sent / Awaiting
$12,380.00
Overdue
$9,482.35
Paid (lifetime)
$214,860.50
Four tiles, each with its own accent edge — overdue reads apart from outstanding at a glance. The real screen, drawn from the product’s own design system. Sample data — no customer information appears here.
02

Every invoice in the business, grouped by job, filtered by status or customer

Filter by status chip, pick one customer, or search across invoice number, title, customer and project. Grouping is by project because one customer can have several jobs and each job several invoices, and a flat list of all of them is a wall. Each project card carries its count and its own three totals.

Invoicing
AllDraftSentViewedPartialOverduePaidVoidAll customersSearch number, title, customer, or project…
Yoder — 40×64×14 Shop4 invoices
Marlin Yoder·$80,242.35total·$58,380.00 paid·$21,862.35 due
1Paid2Partially Paid3Overdue4Draft
1INV-2026-0036Down Payment — 40×64 ShopPaid
Issued May 4, 2026 · Due May 18, 2026
$26,535.00
PDF
2INV-2026-0038Delivery DrawPartially Paid
Issued Jun 22, 2026 · Due Jul 6, 2026
$35,380.00
$12,380.00 due
PDF
3INV-2026-0041CO-3 — Overhead DoorsOverdue
Issued Jul 9, 2026 · Due Jul 23, 2026
$9,482.35
PDF
4INV-2026-0044Final PaymentDraft
Issued Aug 20, 2026
$8,845.00
The status chips, the customer filter, and a project card carrying its own totals. The real screen, drawn from the product’s own design system. Sample data — no customer information appears here.
03

You can start an invoice from here, not only from inside a job

New Invoice asks which project first and then opens the same editor you get inside the job. It used to be reachable only from a project's own tile, which meant answering “how do I make a new invoice?” with directions instead of a button.

04

Void and delete are offered here too, because this is where you spot the wrong number

This is the reporting screen. A wrong invoice is usually noticed while looking at the month's totals, not while sitting inside the job, so the corrections sit on the row in front of you rather than three clicks away.

Void this invoice
Void this invoice

INV-2026-0041 — CO-3 Overhead Doors · $9,482.35

It keeps its number and stays on the record, struck through, and stops counting toward your revenue. Use this when the invoice was genuine but the work or the charge is cancelled.

Reason *
Cancelled — job did not proceedReplaced by a corrected invoiceBilled the wrong amountBilled to the wrong customer
Replaced by a corrected invoice — door count went from 2 to 3 after the site visit.
Saved with your name and the date. Only your team sees it — never the customer.
CancelVoid invoice
The same dialog, reached from the list row instead of from inside the job. The real screen, drawn from the product’s own design system. Sample data — no customer information appears here.
How it works
  1. 1listInvoices() with no project filter pulls every invoice for the org, drafts included (this is an admin surface).
  2. 2customerLabelFor() resolves each row to one customer name — Bill To legal name wins, then estimate snapshot, then the project's customer field — so the filter and the dropdown share one source of truth.
  3. 3Closing the viewer briefly flashes the row you entered on (blue) and the row you exited on (green), because you can swipe between payment stages inside the modal and land somewhere else.
  4. 4Corrections (void / delete) are offered here as well as in the project modal.
Why we built it

A builder asking how to make a new invoice had to know to open the right project first and find the tile — the question had no answer anywhere else. And with several projects per customer and several invoices per project, a flat list was a wall of numbers. Invoices now have their own screen, grouped by project and filterable by status, with the correction tools on it as well, because the reporting screen is where somebody notices a number is wrong.

The problem
  • Invoices only reachable by first finding the right project.
  • No business-wide view of outstanding receivables.
  • Losing your position in a long list after opening one row.
Sound familiar?
What you get
One screen answers 'what is outstanding' across the whole business.
Filter to one customer and see every job's billing at once.

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →