Invoices
Invoices are payment requests you send to customers. They can be created from accepted quotes or completed jobs.
Overview
An invoice is a formal request for payment sent to a customer. It lists the work or items being charged, the amounts due, and any applicable taxes.
Invoices can be created in two ways:
- From a quote - After a customer accepts a quote, you can create an invoice for the quoted amount. If the quote has multiple billing stages, each stage can be invoiced separately.
- From a job - After completing work tracked in a job, you can create an invoice from the job details.
Each invoice has a due date, an optional date of supply (for when goods or services were delivered, if different from the invoice date), and can include notes. Invoices are numbered sequentially and can be downloaded as PDFs.
Several invoice defaults can be configured in your invoice settings (Settings → Invoices):
- Payment term days - The default number of days until an invoice is due. The due date is calculated automatically when creating an invoice. Defaults to 0 (due immediately).
- Default note - A note that is pre-filled on every new invoice (e.g., bank transfer details or payment instructions). Empty by default.
- Payment reminders - Enable or disable automatic payment reminder emails for unpaid invoices. Disabled by default.
- Show country in address - Whether to include the country in addresses on invoices. Disabled by default.
- Bank details - Your IBAN, BIC, and bank name. When set, these appear on invoice PDFs and the public invoice page so customers can pay by bank transfer.
Invoice Lifecycle
Every invoice moves through a series of statuses:
In addition, invoices can be:
- Draft - The invoice is being prepared. It can be freely edited. Only you can see it.
- Sent - The invoice has been emailed to the customer and is available via a public link. It cannot be edited.
- Partially Paid - Some payment has been received but the full amount is still outstanding.
- Paid - The invoice has been fully paid.
- Void - The invoice has been cancelled. A credit note is created to zero out the balance, and any payments received are automatically refunded.
- Scheduled - The invoice is queued to be sent automatically at a future date and time. You can cancel the schedule to return it to Draft.
Example: Invoice status flow
| Status | Editable | Customer can view | Customer can pay |
|---|---|---|---|
| Draft | Yes | No | No |
| Scheduled | No | No | No |
| Sent | No | Yes | Yes |
| Partially Paid | No | Yes | Yes |
| Paid | No | Yes | No |
| Void | No | No | No |
Creating Invoices
There are two ways to create an invoice:
From a Quote
After a customer accepts a fixed-price quote, you can create an invoice for it. If the quote has multiple billing stages, each stage is invoiced separately - mark a billing stage as "Ready" to create its invoice. The line items from the quote (or billing stage) are copied to the invoice automatically.
Each quote can only have one invoice per billing stage. If the quote requires a deposit, a deposit invoice is automatically created when the customer accepts. The deposit is collected through Stripe at acceptance, so this invoice exists purely as a record of the deposit payment. Deposit invoices are numbered with a DEP prefix (e.g., DEP-2026-00001) to distinguish them from regular invoices (INV-2026-00001).
From a Job
Once a job is marked as completed, you can create an invoice from it. The invoice line items depend on how the job is set up:
- Fixed-price job (with quote) - The line items from the quote are copied to the invoice, just like invoicing a quote directly.
- Fixed-price job (without quote) - A blank invoice is created, letting you add whatever line items you need. This is useful for ad-hoc invoicing.
- Time & materials job (with quote) - A single line item is created using the tracked hours as the quantity and the hourly rate from the quote. The job must have tracked time before it can be invoiced.
- Time & materials job (without quote) - Works the same way, but uses the hourly rate and tax code configured on the job itself.
Each job can only be invoiced once. If the invoice is later voided, a new invoice can be created from the same job. If you need to bill a job in multiple stages, create a quote with billing stages instead.
Line Items
Invoice line items work the same way as quote line items. Each has:
- Description - What the charge is for
- Quantity - How many units
- Unit Price - The price per unit
- VAT Rate - The tax rate applied via a tax code
- Discount - An optional percentage discount
The calculation is the same as quotes:
VAT = Net x VAT Rate
Line Total = Net + VAT
When an invoice is created from a quote or job, the line items are copied automatically. You can also add, edit, or remove line items on draft invoices.
Example: Invoice line items
| Description | Qty | Total |
|---|---|---|
| Kitchen renovation - labour | 1 | €3,936.00 |
| Countertop installation | 1 | €2,275.50 |
| Plumbing fixtures | 3 | €682.65 |
Sending & Public Links
When you send an invoice, two things happen:
- An email is sent to the customer with a link to view the invoice
- The invoice status changes from Draft to Sent
Each invoice has a unique public link (using a secure token) that anyone with the link can access. The public view shows the invoice details, a "Pay Now" button (if Stripe is connected), and the option to download a PDF.
You can toggle public access on or off from the invoice detail page, and resend the invoice email at any time.
Payments
Invoices can be paid in two ways:
Online Payment via Stripe
If you have Stripe connected, customers can pay directly from the public invoice link. When they click "Pay Now", a Stripe payment link is created and they are redirected to Stripe Checkout to complete the payment.
Payment links go through a lifecycle:
When a payment succeeds, the invoice is automatically updated - either to Partially Paid or Paid depending on whether the full amount was covered.
Manual Payment
You can manually mark an invoice as paid from the invoice detail page. This is useful for payments received outside of Stripe (bank transfer, cash, cheque, etc.).
Deposit Credits
When a customer accepts a quote that requires a deposit, a deposit invoice is automatically created and linked to the quote. Once the deposit is paid, a credit is created on the quote.
This credit is then automatically consumed when subsequent billing stage invoices are created. The deposit credit reduces the amount owed on each billing stage invoice until the credit is fully used up.
For example, if a customer pays a €500 deposit and the first billing stage invoice is €800:
Deposit credit applied: -€500.00
Amount due: €300.00
The remaining deposit balance is shown on the quote detail page.
Example: Deposit credit applied to a billing stage invoice
Credit Notes
Credit notes reduce the amount owed on an invoice. They can be issued for partial refunds, pricing corrections, or when voiding an invoice.
To issue a credit note, go to the invoice detail page and select "Create Credit Note" from the actions menu. Each credit note has its own line items, public link, and PDF.
When a credit note is applied:
- The invoice balance is reduced by the credit note amount
- If the remaining balance is zero, the invoice is marked as "Fully Credited"
- Credit notes are sent to the customer and appear on the public invoice view
Credit notes have their own sequential numbering (e.g., CN-2026-00001) and are linked to the original invoice.
Example: Credit note applied to an invoice
Debit Notes
Debit notes increase the amount owed on an invoice. They are used when additional charges need to be added after an invoice has been sent - for example, if additional work was required or materials cost more than originally quoted.
Like credit notes, debit notes have their own line items, public link, PDF, and sequential numbering (e.g., DN-2026-00001). They are created from the invoice detail page actions menu.
When a debit note is applied, the invoice balance increases by the debit note amount.
Voiding
Voiding cancels an invoice. When you void an invoice, a credit note is automatically created to zero out any remaining balance.
There are three voiding paths depending on the payment status:
| Scenario | What happens |
|---|---|
| No payment received | Invoice is voided immediately. A credit note is created for the full amount. |
| Paid manually | Invoice is voided immediately. A credit note and a manual refund record are created. You handle the actual refund to the customer outside of Workcanon. |
| Paid via Stripe | Invoice enters a "Voiding" state. A refund is initiated through Stripe. Once the refund succeeds, the void is completed automatically. |
Voiding is restricted in certain cases:
- You cannot void an invoice if any credit notes or debit notes have already been sent against it
- You cannot void a deposit invoice if its deposit credits have already been consumed by other invoices - void those invoices first
Payment Reminders
Workcanon can automatically send payment reminder emails to customers for unpaid invoices. Reminders are sent at key points relative to the invoice due date:
Example: Payment reminder schedule
| Reminder | When it sends |
|---|---|
| Before due date | 3 days before the due date |
| On due date | On the due date |
| Overdue (7 days) | 7 days after the due date |
| Overdue (14 days) | 14 days after the due date |
| Overdue (30 days) | 30 days after the due date |
Reminders are only sent for invoices that are Sent or Partially Paid and have a due date set. You can pause reminders for individual invoices from the invoice detail page.
Each reminder email includes a link to the public invoice where the customer can make a payment.
Scheduling
Instead of sending an invoice immediately, you can schedule it to be sent at a future date and time. This is useful for recurring billing or when you want to prepare invoices in advance.
When you schedule an invoice:
- The invoice status changes from Draft to Scheduled
- At the scheduled time, the invoice is automatically sent to the customer
- The status changes from Scheduled to Sent
You can cancel a scheduled send at any time before it is sent, which returns the invoice to Draft. You can also choose to send it immediately instead of waiting for the scheduled time.
Search & Filtering
The invoice list can be filtered and searched to help you find specific invoices:
- By status — filter by Draft, Sent, Partially Paid, Paid, Void, or Scheduled
- By customer — show only invoices for a specific customer
- By search — search by invoice number (e.g. INV-2026-00001, DEP-2026-00001)
Filters can be combined. Results are paginated.
Claim Payment
Every payment reminder email includes an "Already paid? Let us know" link. This lets customers notify you that they have already paid outside of Stripe (for example, by bank transfer or cash).
When a customer clicks the link, they are taken to a form where they can optionally leave a payment reference or note. After submitting:
- Payment reminders are automatically paused for 5 days
- You receive an email notification with the customer's claim and any notes they provided
- You can then verify the payment and manually mark the invoice as paid
If the payment is not verified within 5 days, reminders automatically resume. You can also manually resume or pause reminders from the invoice detail page at any time.
Example: Payment reminder email
Amount Due
€6,894.15
Due 11 May 2026