Invoices from a spreadsheet, in seconds.
Type your invoice lines in Excel or Google Sheets, save as CSV, run one command: a clean PDF invoice per client with your logo, VAT per rate, discounts and due dates. One or a hundred.
Checkout not opening? Buy on Payhip.
$ python invoicegen.py samples/invoices.csv --run Invoice Date Client Lines Total INV-1001 2026-11-02 Bluebird Bakery Ltd 2 £885.60 INV-1002 2026-11-05 Fjord Consulting AS 2 £1,191.25 INV-1003 2026-11-07 Maria Lopez 1 £600.00 3 invoice(s), total £2,676.85 Wrote 3 PDF(s). summary.csv updated.
Checks before it writes
Every row is validated first. Exact decimal maths for money. It never overwrites an invoice you already sent.
Your brand, any currency
Logo, address, VAT number, A4 or Letter, any currency symbol, per-line tax rate and discount.
No installs
Standard library only, no pip installs. A self-test with 49 checks is included.
A real invoice from the sample file
This is page 1 of INV-1001, generated by the command above from the included example CSV and logo. Nothing retouched.

- invoicegen.py + pdfmini.py
- Example CSV, example config.json and example logo
- Check mode, --run, --only, --overwrite, --new-config
- Tax totals per rate, multi-page invoices
- Self-test with 49 checks and a 5-page guide with the CSV column reference
- Python 3.8+ (free)
- Comfortable typing a short command in a terminal
- Uses the standard Helvetica PDF font: Western European characters only
- It formats invoices; it is not accounting or tax advice. Check your country's invoice rules
| Option | Price | How it works | Your files |
|---|---|---|---|
| This tool | One-time NOK 120 | Batch from one CSV | Files stay on your computer |
| Invoicing apps | Usually a monthly subscription | Built-in client list and reminders | Cloud account |
| Word/Excel template | Free or cheap | One invoice at a time, by hand | Easy to make maths mistakes |
Can I add my logo and VAT number?
Yes. Run --new-config once and fill in config.json with your details and logo file.
Does it send the invoices?
No. It writes PDF files and a summary.csv. You send them the way you already do.
Does it work with Norwegian MVA?
You set the tax rate per line, for example 25%. Æ, ø and å are part of the Western European character set.
What do I get after paying?
One ZIP file to download right away, plus the link by email from Payhip.
What if it does not work for me?
Because digital files cannot be returned, purchases are generally final. If the file is faulty, cannot be opened or is materially different from this description, it is repaired, replaced or refunded. See the full terms. Refund terms.
Licence and support
Personal use. Please do not resell or share the files. Questions: joakimberg1990@gmail.com.

