Invoice
An invoice format for Quarto.
An invoice is arithmetic and layout: line items, a VAT rate per line, a subtotal, a total, and a page that has to look like a document rather than a spreadsheet.
invoice takes the line items as front matter and does the rest. The totals table is computed from the quantities, unit prices, and VAT rates, and the page is laid out through Typst.
See one rendered by this site.
Starting an invoice
quarto use template mcanouil/quarto-invoice@2.0.2Adding it to a document you already have
quarto add mcanouil/quarto-invoice@2.0.2This will install the extension under the _extensions subdirectory. If you are using version control, you will want to check in this directory.
Quick start
format:
invoice-typst:
sender:
name: "Example Consulting Ltd"
recipient:
name: "Director Doe & Co"
invoice:
number: "INV-2026-001"
issued: 2026-05-01
due: 2026-05-31
currency: GBP
reference: "ACME-2026-001"
items:
- description: Strategy workshop
quantity: 2
unit-price: 1500
vat: 20
bank:
bic: "EXAMPGB2L"
iban: "GB00 EXAM 0000 0000 0000 00"quarto render invoice.qmd --to invoice-typstsender, recipient, invoice, and bank are required; the rest is filled in when it is given.
See the Reference for every option, and the Examples for a branded invoice and a hand-written table.
Where it works
PDF, through Typst.
Typst ships with Quarto, so nothing else has to be installed.
Links
- Reference for every option.
- Examples for worked invoices.
- A rendered invoice, built by this site.
- Changelog for what each release changed.
- Source and issues on GitHub.