Creating and issuing an invoice
Updated September 22, 2026
What this does
The invoice is the billing document for a job. It is created as a Draft, which is just a document; it becomes real, and hits the ledger, when it is issued. Issuing happens the first time you send it, or explicitly without sending, or automatically the moment a payment is recorded against it.
Before you start
Accounting must be configured: Accounts Receivable and a default revenue account under Accounting → Settings. Without them the invoice can be drafted but will refuse to issue. See Setting up your shop.
Steps
From a work order (the normal path). On the work order, Create Invoice. The invoice takes the job's customer, vehicle, billing type, and its lines; there is no copy, the invoice bills the work order's lines directly. One invoice per work order.
Standalone. Sales → Invoices → new for a sale with no job behind it (a part over the counter, a fee). Attach the customer, add lines, and optionally use the canned-jobs picker.
Either way you land on the invoice as a Draft. Check the lines, tax, Payment Terms, and Invoice Date. Add invoice notes if needed.
Issue it. Three ways:
- Send by email. The customer gets a branded email showing the balance due with a link to view and pay. Status moves Draft → Sent and revenue is recognized.
- Issue without emailing. Finalizes and recognizes revenue with no email, for walk-ins paying now, or when you'll hand them a printout. Status moves to Sent.
- Record a payment. If you take money on a draft, the invoice is issued first, then the payment is applied. You can't book a payment against something that isn't in the ledger.
What happens in the books
At issue: Dr Accounts Receivable for the total; Cr Sales Tax Payable for the tax; Cr each line's revenue account (default revenue account for anything unmapped, including discount and rounding residue). Issue is idempotent; re-sending never posts twice. Billing type changes this; see Billing types.
Editing lines on an issued invoice posts only the difference, so the original entry stays intact and the ledger ends up matching the new total.
Common problems
"This work order already has invoice INV-xxxx." Open that one. Duplicates are refused at the database level.
Send failed. The email didn't go, but if the invoice was a draft it may have been issued anyway. Check the status; copy the share link and send it another way.
I want the invoice to show something the work order doesn't. Lines are shared with the work order. Add the line on either; it appears on both.