Invoice & Quotation Generator

Fill in the fields โ€” the document on the right updates live. Then hit Print / Save as PDF.

Optional shortcuts โ€” skip this if you're starting from scratch below.

AI reads an uploaded file (HTML, or a photo/scan) and pre-fills the form for review. Nothing saves automatically.
The 3 essentials

1Document Type

Flags for e-Invoice readiness โ€” doesn't submit to LHDN (needs your own MyInvois registration). Fill in the client's ID Type/Number and SST Reg No. below if ticked.
No PO file attached.

2Client

3Line Items

For contracts covering several properties/locations that each need their own subtotal โ€” e.g. a multi-property government contract. Add a section break, name it, then add that property's line items below it. Leave this unused for a normal single-total quote/invoice โ€” most documents don't need it.
For a goodwill reduction โ€” fill the "Original" price on a line and it'll show struck through.
More Options โ€” click to expand any of these
For jobs billed in stages without a predefined list โ€” e.g. a one-off deposit โ€” as two invoices linked to the same CRM Job.
No job linked โ€” this invoice won't appear under a Job in the Dashboard.
Each only appears on the document if ticked.
When waived, shows RM 250 struck through at RM 0.00 and isn't added to the total. Untick to charge it.
This status is about this document only. If this is a deposit or one stage of a bigger job and the deposit itself was received in full, that's "Paid in Full" โ€” even though the job as a whole isn't done. The Job card (Dashboard โ†’ Jobs) shows the whole-job picture separately.
"Paid in Full" turns the total box green. CRM Status above follows this automatically.
Fully editable โ€” different jobs need different terms, and warranty can carry a condition (e.g. a callout fee if the claim turns out not to be a workmanship issue). Pick a starting point below, then edit freely.
Leave empty to use the standard terms. To change them for this document only, click below, then edit, add or remove lines (one term per line). The warranty above is still added on its own line.
Leave blank to hide.
๐Ÿ“ New record โ€” saving will create a fresh CRM entry.
๐Ÿ  Dashboard