Skip to content
forked from maaslalani/invoice

Generate invoices from the command line

License

Notifications You must be signed in to change notification settings

ehrktia/invoice

 
 

Repository files navigation

Invoice

Invoice

Generate invoices from the command line.

Command Line Interface

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

address

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\""

Example invoice

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.",
    "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

Custom Templates

If you would like a custom invoice template for your business or company, please reach out via:

Installation

Install with Go:

go install github.com/maaslalani/invoice@main

Or download a binary from the releases.

License

MIT

Feedback

I'd love to hear your feedback on improving invoice.

Feel free to reach out via:


zzz

About

Generate invoices from the command line

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%