Wouldn’t it be awesome if you write a command with some arguments and it generates an invoice for you instantly? Here’s how to do it!
![Generate invoice from command line](https://codingislove.com/wp-content/uploads/2023/07/248511491-16dae9d9-390c-49b6-aedd-3f882b17f57b1-1024x427.png)
Introducing Invoice CLI
Generate invoices from the command line using this CLI tool
Installation
Install with Go:
go install github.com/maaslalani/invoice@main
Or download a binary from the releases.
Command Line Interface
invoice generate --from "Company A, Inc." --to "Company B, Inc." \ --item "Laptop" --quantity 2 --rate 500 \ --tax 0.1 --discount 0.15 \ --note "Paid via online transfer"
The PDF would be generated in the same folder in which you are running the command. You can customize the output location with --output
.
Sample output
Here’s an example of the generated PDF after running the above command
![Generated PDF sample](https://codingislove.com/wp-content/uploads/2023/07/image-13.png)
Environment
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
Configuration File
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 a new invoice by importing the configuration file:
invoice generate --import path/to/data.json \
--output duck-invoice.pdf
Custom Templates
Unfortunately, The CLI doesn’t allow custom invoice templates. If you would like a custom invoice template for your business or company, please reach out to the author via:
Also, Read Machine Learning for beginners, a Free curriculum from Microsoft
- Ultimate Guide: Build A Mobile E-commerce App With React Native And Medusa.js - February 15, 2025
- Flutter lookup failed in @fields error (solved) - July 14, 2023
- Free open source alternative to Notion along with AI - July 13, 2023