ad-si/invoice-maker

Generate beautiful invoices from simple Typst or YAML data records

Typst

174

104 commits

updated May 12, 2026

See the code

README

Invoice Maker

Generate beautiful invoices from a simple data record.

Example invoice

Features

  • Simple, yet Powerful
    • Write invoices as simple .typ or .yaml files
    • No need to install anything but Typst
    • Support for cancellations, discounts, and taxes
  • Multilingual
    • Integrated support for English, French, and German
    • Easy to add more languages by adding a translation dictionary (Check out this example: custom-language.typ)
  • Customizable
    • User your own banner image
    • Customize the colors and fonts
  • Elegant
    • Modern design with a focus on readability
    • PDFs with a professional look
  • Stable
    • Visual regression tests to ensure consistent output
  • Free and Open Source
    • ISC License

Installation & Usage

  1. Download the invoice-maker.typ file
  2. Create a new invoice.typ file. E.g. based on one of the examples below:
  3. Run typst to generate the invoice:
    typst compile invoice.typ
    
  4. Use the generated invoice.pdf file 🎉

HTML Export

Invoice Maker can also be exported as HTML. Either set the target: "html" parameter on invoice.with(...), or pass --input invoice-format=html on the command line:

typst compile --features html --format html \
  --input invoice-format=html \
  invoice.typ

Development

Run Tests:

make test

Legacy Version

Invoice Maker was originally implemented with TypeScript and Pandoc as seen in ./typescript_pandoc.

This version is still in maintenance mode, but will not receive new features.

cli
generator
invoice
latex
markdown
package
pandoc
template
typescript
typst
yaml

Contributors

ad-si

97 commits

mike-kfed

3 commits

Cheezmeister

1 commits

cvanelteren

1 commits

ad-si/invoice-maker

Generate beautiful invoices from simple Typst or YAML data records

Typst

174

104 commits

updated May 12, 2026

See the code

README

Invoice Maker

Generate beautiful invoices from a simple data record.

Example invoice

Features

  • Simple, yet Powerful
    • Write invoices as simple .typ or .yaml files
    • No need to install anything but Typst
    • Support for cancellations, discounts, and taxes
  • Multilingual
    • Integrated support for English, French, and German
    • Easy to add more languages by adding a translation dictionary (Check out this example: custom-language.typ)
  • Customizable
    • User your own banner image
    • Customize the colors and fonts
  • Elegant
    • Modern design with a focus on readability
    • PDFs with a professional look
  • Stable
    • Visual regression tests to ensure consistent output
  • Free and Open Source
    • ISC License

Installation & Usage

  1. Download the invoice-maker.typ file
  2. Create a new invoice.typ file. E.g. based on one of the examples below:
  3. Run typst to generate the invoice:
    typst compile invoice.typ
    
  4. Use the generated invoice.pdf file 🎉

HTML Export

Invoice Maker can also be exported as HTML. Either set the target: "html" parameter on invoice.with(...), or pass --input invoice-format=html on the command line:

typst compile --features html --format html \
  --input invoice-format=html \
  invoice.typ

Development

Run Tests:

make test

Legacy Version

Invoice Maker was originally implemented with TypeScript and Pandoc as seen in ./typescript_pandoc.

This version is still in maintenance mode, but will not receive new features.

cli
generator
invoice
latex
markdown
package
pandoc
template
typescript
typst
yaml

Contributors

ad-si

97 commits

mike-kfed

3 commits

Cheezmeister

1 commits

cvanelteren

1 commits

Languages

Typst

57.2%

HTML

36.2%

Makefile

5.1%

Nix

1.5%