![Invoice](https://private-user-images.githubusercontent.com/42545625/248511491-16dae9d9-390c-49b6-aedd-3f882b17f57b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ4NTg3NjYsIm5iZiI6MTcyNDg1ODQ2NiwicGF0aCI6Ii80MjU0NTYyNS8yNDg1MTE0OTEtMTZkYWU5ZDktMzkwYy00OWI2LWFlZGQtM2Y4ODJiMTdmNTdiLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI4VDE1MjEwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWI4ZTI3M2NlODAxODkyNTAwZDgwYzNhOGZhZDg3ZThiZTVmNjlmOGE4NjE3YmIzOTg4ODE2MWE0Mjc1Y2IyODcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.EulPybl5nQnY0QjA13jd-sbk5SfjenWoL7Ot36oT7BY)
Generate invoices from the command line.
invoice generate --from "Dream, Inc." --to "Imagine, Inc." \
--item "Rubber Duck" --quantity 2 --rate 25 \
--tax 0.13 --discount 0.15 \
--note "For debugging purposes."
View the generated PDF at invoice.pdf
, you can customize the output location
with --output
.
open invoice.pdf
![Example invoice](https://private-user-images.githubusercontent.com/42545625/248511492-13153de2-dfa1-41e6-a18e-4d3a5cea5b74.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQ4NTg3NjYsIm5iZiI6MTcyNDg1ODQ2NiwicGF0aCI6Ii80MjU0NTYyNS8yNDg1MTE0OTItMTMxNTNkZTItZGZhMS00MWU2LWExOGUtNGQzYTVjZWE1Yjc0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODI4VDE1MjEwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWU4MmE3NjVlNmRhNTdiYzRkNzY2NzNkYTI2ZDk3Y2JhZmY5Njk3YjNkZWFiM2YxMDEwY2NmZmU4NmIzMTZiMmMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.-KsS-vwfDA06NXYUD7a7fbXuvadpgcKP0_aFYepKJfg)
Save repeated information with environment variables:
export INVOICE_LOGO=/path/to/image.png
export INVOICE_FROM="Dream, Inc."
export INVOICE_TO="Imagine, Inc."
export INVOICE_TAX=0.13
export INVOICE_RATE=25
Generate new invoice:
invoice generate \
--item "Yellow Rubber Duck" --quantity 5 \
--item "Special Edition Plaid Rubber Duck" --quantity 1 \
--note "For debugging purposes." \
--output duck-invoice.pdf
Or, save repeated information with JSON / YAML:
{
"logo": "/path/to/image.png",
"from": "Dream, Inc.",
"to": "Imagine, Inc.",
"tax": 0.13,
"items": ["Yellow Rubber Duck", "Special Edition Plaid Rubber Duck"],
"quantities": [5, 1],
"rates": [25, 25],
}
Generate new invoice by importing the configuration file:
invoice generate --import path/to/data.json \
--output duck-invoice.pdf
If you would like a custom invoice template for your business or company, please reach out via:
Install with Go:
go install github.com/maaslalani/invoice@main
Or download a binary from the releases.
I'd love to hear your feedback on improving invoice
.
Feel free to reach out via:
zzz