Generate invoices from the command line.
invoice generate --from "Dream, Inc." --to "Imagine, Inc." \
--from-address "1 main road,newyark,567 999" \
--to-address "234/4566 second-main street,washington,568 9899" \
--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
To use an address which includes special separators like ,
enclose the text using a single quote "
must be provided to cli as below
--from-address '"1865 N Charlotte st",Suite32,"Nothaman, SN 02317"
--to-address "135 Wehawken St.,\"Raleigh, NC 34217\""
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.",
"from_address": "1 main road,newyark,567 8989",
"to_address": "345/66 main-second street,washington,699-090",
"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