Invoices & Quotations
Quotes first if the customer has not approved; invoices when you bill. Both are Solo and Shop features (not Free).
/m/quotations (search + Open/All/Draft/Sent/Accepted/Converted). Sticky Send / Accept / Convert deep-link to the desktop quotation screen — not in-shell writers. See Quotations on phone.
/m/invoices (search + Unpaid/All/Paid). For Issued / Partially Paid, sticky Receive payment opens the desktop invoice at /invoices/:id. See Invoices on phone.
Create a quotation
- From a saved jobsheet, open the device record. On a computer, click Quotation in the header. On a phone, tap More (⋯) in the header, then Quotation. You can also go to Quotations → new quotation.
- Add line items (spare parts from the branch catalog, or custom lines). Set tax, discount, warranty duration, and valid until.
- Save. Status starts as Draft.
Send the quote to the customer. They can accept on the public quotation link (/quotation/o/...).
Quotation statuses
| Status | Meaning | Usual next step |
|---|---|---|
| Draft | Not sent yet | Sent |
| Sent | Waiting on the customer | Accepted or Rejected |
| Accepted | Customer approved | Converted (to invoice) |
| Rejected | Customer declined | — |
| Expired | Valid-until date has passed (Sent quotes are treated as Expired past that date) | Can go back to Draft |
| Converted | Already turned into an invoice | — |
Acceptance on the public page is also tracked as not sent / pending / accepted.
Convert to invoice
On the quotations list, Convert to Invoice runs only when status is Accepted. The new invoice is created as Draft, copies customer and lines (including part cost and warranty), notes "From quotation ...", and sets due date 14 days out. The quotation then becomes Converted and stores the invoice id.
If that device already has a Draft invoice, conversion updates that draft instead of stacking another.
Create an invoice directly
- On a computer, go to Invoices in the sidebar → New Invoice, or create from the job. On a phone, tap Invoices on the bottom bar, then New Invoice.
- Add named line items and an income category on every line — save is blocked without both.
- Save as Draft or issue. Issuing is when revenue is recognised (MFRS 15), not when a deposit was collected, and not when you later apply a deposit.
Optional: pull unpaid parts from the job into the invoice.
Load and save templates
The header shows Load Template and Save Template side by side. You will see this pair on New Invoice, on Edit Invoice while status is still Draft, and on Edit Quotation.
- Click Load Template and pick a saved template. Notes are filled in. Line items, tax, and discount are filled in when the template has them.
- Click Save Template to store the current lines as a reusable template for next time.
Load Template does not rewrite the customer or document identity. Who the invoice is for, the invoice number, and similar identity fields stay as they are.
Invoice statuses
The invoices list is built around a LHDN-aligned path: Draft → Issued → Paid. You will also see:
- Partially Paid — amount paid is greater than zero but below total
- Partially Refunded — after a partial credit/refund
- Void — cancelled. List label for filters may say Cancelled; the stored status is Void. Voiding does not calculate a refund by itself.
Paid invoices can be locked. e-Invoice (MyInvois / Bukku) is on the Shop plan. Public invoice link: /invoice/o/....
e-Invoice (LHDN) — to submit an invoice to LHDN, your company profile needs its registration details: TIN, SSM (BRN), SST No. and MSIC Code. Set them under Settings → General → Company, in the Registration section, before your first submission. ExpeDite sends nothing to LHDN until they are filled in.
Copying invoices to Bukku — connect Bukku under Settings → Integrations → Bukku / e-Invoice, then give each branch its Deposit Account Code (Settings → General → Branches): the account in your Bukku chart of accounts where that branch's sales land. Open the invoice and use its Bukku Sync panel — Push to Bukku sends it, and Retry Sync appears when the last attempt failed, with the reason shown above the button. An invoice from a branch that has no deposit account set cannot be pushed to Bukku.
/m, sticky Receive payment deep-links to the desktop invoice instead — see Invoices on phone and Record payments.
Invoice thermal print includes the loyalty portal QR only on Shop (and during the Shop trial). Free and Solo omit that block. See Plans & pricing.
Print the receipt
When you have just created an invoice, the confirmation screen offers Print Receipt beside Download PDF — so you can hand the customer a slip without opening the invoice again. The same receipt stays available on the invoice record.
Print your terms on the slip
Settings → Operations → Label Printer also has a Receipt notes box. Type your warranty terms, return conditions or a payment reminder (up to 500 characters) and it prints at the bottom of every thermal receipt this shop produces — the invoice receipt and the device intake slip. There is a live preview of how it will look on the slip, and the character counter tells you how much room is left.
Notes and terms on the A4 invoice
The Notes box on an invoice prints on that invoice's A4/PDF document. It does not print on the thermal slip — the slip uses the Receipt notes above.
- A new invoice opens with your shop's Default Invoice Notes already in the box.
- Type over it to use different terms for that one invoice.
- If the box is empty, the shop default prints instead, so an invoice never goes out with a blank terms block.
Set that shop-wide text at Settings → Documents & Forms → Invoice PDF Text: Default Invoice Notes for the terms block, and Footer Text for the line under it. Quotations keep their own Default Quotation Notes / Terms on the same page.
This article is about shop invoices. Subscription PDFs from Stripe are under View & download invoices.
Last updated: 29 September 2026