Site icon Coding is Love

How to generate an invoice from the command line?

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!

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

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

Exit mobile version