Create an invoice template for one customer
Giving one customer their own invoice layout, without changing what everyone else receives.
Before you start
Section titled “Before you start”Know which fields the customer actually wants. The most common requests are their own reference numbers, the pickup and delivery postcodes, and waiting times — all of which exist as fields and are listed below.
- Go to .
- Start a new template and give it a name that says who it is for, so the next person knows why it exists.
- Place the fields you want. Fields are picked from a list, grouped by where the information comes from — your company, the customer, the invoice, the job lines, the totals, and statement figures.
- Set up the job table. The columns on the table of job lines are chosen separately from the fields in the header — this is where per-job details such as postcodes and waiting times belong.
- Save the template.
- Assign it to the customer. The assignment lives on the customer’s record, not in the builder — a template is only used by a customer once that customer points at it. Everyone else stays on your company default.
The fields people usually ask for
Section titled “The fields people usually ask for”The four in the original request, and what they are called:
| You want | Choose |
|---|---|
| Shipper / pickup postcode | Pickup Address – PostCode |
| Destination postcode | Delivery Address – PostCode |
| Company name | Company Name (yours) or Client Name (theirs) |
| Waiting time in / out | Wait Started (Pickup) and Wait Ended (Pickup), plus the same pair for Delivery |
Waiting time has more options than people expect:
- Waiting at Pickup and Waiting at Delivery — totals in minutes
- Wait Started / Wait Ended for each end — the actual clock times
- Waiting Time Summary — one line per leg, already formatted
If a customer is querying a waiting-time charge, the summary field usually settles it faster than the raw minutes.
What else is available
Section titled “What else is available”Worth knowing so you do not rebuild something that already exists:
- Your company — name, address (stacked or single line), phone, email, logo, website, tax number
- The customer — name, address broken into its parts or combined, invoice email, phone, accounts contact, account number
- The invoice — number, date, due date, period covered, payment terms, PO number
- The job lines — job number, date, time, service, status, who signed for it, item count, weight, both addresses in full or in pieces, references, barcode, the price broken down, accessorials, waiting time, distance, run
- Totals — subtotal, tax, total, discounts, amount paid, balance due
- Statement — opening balance, current, 30/60/90+ days, total outstanding
Addresses can be placed whole, in pieces, or in useful combinations such as street number and name together. See How addresses are stored for why they come apart like that.
Good to know
Section titled “Good to know”A template changes appearance only. It never changes how many invoices a customer receives — that is grouping, and it is set separately.
The default template — the one a customer gets when you have not assigned them their own — is set once for everyone, under Invoice Settings. And the accessorial charges available as fields are the ones set up in your rates.
If something goes wrong
Section titled “If something goes wrong”A field is empty on the finished invoice. The field is placed correctly but there is nothing to show — a job with no reference leaves the reference column blank, and a job where nobody waited has no waiting time.
The customer still gets the old layout. Assigning the template to the customer is a separate step from saving it. Check the customer’s record points at the new template.
Related
Section titled “Related”Internal: how this page was verified draft
- Checked by
- kenneth on 2026-07-31
- How
- source-check
- Where
- none · logged in as not-applicable
- Against
- accounts ClientApp/src/pages/InvoiceBuilderPage/constants.ts — the six field groups and every field id/label quoted below
- accounts ClientApp/src/App.tsx — /invoice-builder and /settings/invoice-builder
- schema: InvoiceTemplate, InvoiceTemplateBlock, InvoiceTemplateBlockField, InvoiceTemplateDetailColumn
- schema: TucClient.InvoiceTemplateId (per-customer assignment); tblSetting.InvoiceTemplateId (tenant default)
- Likely to change
- medium — The Invoice Builder gained a report-builder extension in March and is still being worked on. Field names are stable; the surrounding screen may move.
- Re-check by
- 2026-10-31
- Config-dependent
- 3 item(s) called out on this page
- Screenshots
- 2 still to capture
- Open questions
- The exact control used to assign a template to a customer has not been seen on screen. The assignment is stored on the client record, so it is expected there, but which tab holds it is unconfirmed.
- Whether a template can be duplicated as a starting point.