Overengineered Invoice Generator (or just oig for short) is a tool for converting YAML files describing an invoice into nice HTML files that you can print to PDF or make available to your customer in some other way.
In a Python virtual environment or otherwise, install the dependencies listed in
requirements.txt. You can do this with pip install -r requirements.txt.
First, define an invoice file like this:
meta:
customer: ACME Widgets Incorporated
number: 01-100
date: 2022-03-01
start_date: 2022-02-01
end_date: 2022-02-28
currency: USD
payable_to: |
Your Name Here
123 Main St.
New York, NY 10001
items:
- date: 2022-02-10
hours: 2
rate: 60
description: Designed extremely cool new widget
- date: 2022-02-23
hours: 5
rate: 40
description: Made a kind of boring widgetSave this file to any path you please. Then, pipe it to oig.py. The output
will be self-contained HTML:
./oig.py < acme-february-invoice.yml > acme-february-invoice.html