Skip to content

Voiding an invoice

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.

  • You have the finance.sales.void permission. 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.
  1. Open the invoice from Finance → Sales Invoices.
  2. Click the (overflow) menu in the page header.
  3. Choose Void Invoice. The action is styled in red to mark it as destructive.
  4. 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.”
  5. 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.
  6. Optionally add notes (max 500 characters). If you picked Other, notes are required (minimum 10 characters).
  7. Click Confirm void.

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.

  1. Open the work order.
  2. Click Generate Invoice as you would normally.
  3. Pick the right customer if the system asks (especially relevant for the “Wrong customer” reason).
  4. Save.
  • 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_id is 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.

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.

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.

SituationWhat to do
Invoice has no payments and was created in errorVoid it
Invoice has no payments but a single line is wrongEdit 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 backCredit note with Stripe or Manual refund
Invoice has been paid but you simply want to cancel the recordNot possible. Use a credit note for the full amount instead
Duplicate invoice for the same workVoid the duplicate
Wrong customerVoid the invoice; re-generate from the work order to the right customer
  • finance.sales.void to void an invoice. Owner and Manager have this by default.