Voiding an invoice
Summary
Section titled “Summary”Void an invoice that was created in error, billed to the wrong customer, duplicated, or has a fundamental pricing mistake — provided no payment has been recorded against it. Voided invoices stay on file with a “VOID” badge and watermark, are excluded from financial totals, and free up the linked work order so it can be re-invoiced to the right party.
Voiding is irreversible. If the invoice has been paid (in part or full), use a credit note instead. See Credit notes and refunds.
Prerequisites
Section titled “Prerequisites”- You have the
finance.sales.voidpermission. Owner and Manager have this by default. - The invoice has no payments recorded. The Void action is hidden if any payment exists.
- The invoice is in Unpaid or Overdue status.
Void an invoice
Section titled “Void an invoice”- Open the invoice from Finance → Sales Invoices.
- Click the ⋮ (overflow) menu in the page header.
- Choose Void Invoice. The action is styled in red to mark it as destructive.
- The dialog reads: “Void Invoice {number} — This will permanently void invoice {number}. Voided invoices cannot be un-voided. The work order will be freed so you can issue a new invoice to the correct recipient.”
- Pick a Reason category:
- Wrong customer / wrong party — invoice was raised against the wrong customer.
- Duplicate — same work was already invoiced.
- Pricing or amount error — the invoice has a fundamental error and you want to start fresh.
- Warranty - re-issue to insurer — the customer should not have been billed; insurer takes over.
- Other — requires explanatory notes.
- Optionally add notes (max 500 characters). If you picked Other, notes are required (minimum 10 characters).
- Click Confirm void.
Re-invoice the work order
Section titled “Re-invoice the work order”If the invoice was linked to a work order, voiding it frees the work order so you can generate a fresh invoice to the correct party.
- Open the work order.
- Click Generate Invoice as you would normally.
- Pick the right customer if the system asks (especially relevant for the “Wrong customer” reason).
- Save.
Expected Outcome
Section titled “Expected Outcome”- The voided invoice’s status badge changes to VOID in the sales invoice list.
- The invoice’s row text dims to half opacity to visually de-emphasise it.
- The PDF gets a “VOID” watermark across each page and the title becomes “VOID INVOICE”.
- The invoice is excluded from:
- Customer outstanding balances.
- Statement totals (it is also excluded from the statement PDF, not struck through).
- The Outstanding Debtors and Aging reports.
- Sales report totals.
- VAT summary.
- Technician commission.
- All CSV exports.
- Dashboard outstanding figures and charts.
- The work order’s
linked_invoice_idis cleared, so a fresh invoice can be created from the same work order. - An audit trail is kept naming who voided the invoice, when, and why.
How voided invoices show up in the list
Section titled “How voided invoices show up in the list”By default, the sales invoice list hides voided invoices. When the page has any voided invoices to show, you see “{N} voided hidden — show”. Click to reveal them.
There is also a Show voided toggle in the filter panel for keeping them in view.
- Void is not the same as a credit note. A credit note offsets a paid invoice with a refund. A void cancels an unpaid invoice as if it were never issued (for accounting purposes — the row stays for audit).
- Once voided, the invoice cannot be un-voided. If you voided in error, you have to create a new invoice to replace it.
- If the invoice had been synced to GoHighLevel, the void is propagated to GHL as a best-effort step. A failure logs the issue but does not block the void in Torqueflow.
- Voided invoices are still visible to anyone with
finance.sales.view, just dimmed and excluded from totals. - Statements deliberately exclude voided invoices entirely — they do not appear with a strikethrough.
Troubleshooting
Section titled “Troubleshooting”Problem: I cannot find Void Invoice in the menu.
Cause: Either you do not have the finance.sales.void permission, or the invoice has at least one payment recorded.
Fix: Check your permissions. If the invoice has been paid (even partially), you cannot void it — use a credit note instead.
Problem: I voided the wrong invoice. Cause: You misclicked. Fix: Voids cannot be undone. Generate a new invoice from the same work order if it was the right work order, or recreate the invoice from scratch as a standalone invoice if needed.
Problem: Customer says their invoice was cancelled, but I don’t remember voiding it.
Cause: Someone else with finance.sales.void voided it.
Fix: Open the invoice. The void reason, who voided it, and when are all visible on the detail page. Use this to explain to the customer and decide whether to re-issue.
When to void vs credit vs edit
Section titled “When to void vs credit vs edit”| Situation | What to do |
|---|---|
| Invoice has no payments and was created in error | Void it |
| Invoice has no payments but a single line is wrong | Edit the invoice (the Edit button is available when no payments exist) |
| Invoice has been paid in part or full and you owe the customer money back | Credit note with Stripe or Manual refund |
| Invoice has been paid but you simply want to cancel the record | Not possible. Use a credit note for the full amount instead |
| Duplicate invoice for the same work | Void the duplicate |
| Wrong customer | Void the invoice; re-generate from the work order to the right customer |
Permissions
Section titled “Permissions”finance.sales.voidto void an invoice. Owner and Manager have this by default.