1<img width="1200" alt="invoice" src="https://github.com/maaslalani/invoice/assets/42545625/a719e38e-0721-4c4b-9224-b6bc58de0edf">
2
3# Invoice
4
5Generate invoices from the command line.
6
7## Text-based User Interface
8
9```bash
10invoice generate
11```
12
13View the generated PDF at `invoice.pdf`, you can customize the output location
14with `--output`.
15
16```bash
17open invoice.pdf
18```
19
20<img width="574" alt="invoice-preview" src="https://github.com/maaslalani/invoice/assets/42545625/e02d1e29-f0c7-431c-b183-c9beaab1ac44">
21
22## Command Line Interface
23
24```bash
25# Generate an invoice from information.
26invoice generate --title "Invoice" \
27 --id 2 \
28 --logo ./images/logo.png \
29 --from "Dream, Inc." \
30 --to "Imagine, Inc." \
31 --date "June 10, 2023" \
32 --due "June 30, 2023" \
33 --tax 0.13 \
34 --discount 0.15 \
35 --currency USD \
36 --item "Rubber Duck" \
37 --quantity 2 \
38 --rate 25 \
39 --notes "For debugging purposes."
40```
41
42<img src="https://vhs.charm.sh/vhs-66CMd4UQuXkuxX9djHUnGX.gif" width="600" />
43
44Save repeated information with environment variables:
45
46```bash
47export INVOICE_LOGO=/path/to/image.png
48export INVOICE_FROM="Dream, Inc."
49export INVOICE_TO="Imagine, Inc."
50export INVOICE_TAX=0.13
51export INVOICE_RATE=25
52```
53
54
55Generate new invoice:
56
57```bash
58invoice generate \
59 --item "Yellow Rubber Duck" --quantity 5 \
60 --item "Special Edition Plaid Rubber Duck" --quantity 1 \
61 --notes "For debugging purposes."
62 --output duck-invoice.pdf
63```
64
65## Installation
66
67<!--
68
69Use a package manager:
70
71```bash
72# macOS
73brew install invoice
74
75# Arch
76yay -S invoice
77
78# Nix
79nix-env -iA nixpkgs.invoice
80```
81
82-->
83
84Install with Go:
85
86```sh
87go install github.com/maaslalani/invoice@main
88```
89
90Or download a binary from the [releases](https://github.com/maaslalani/invoice/releases).
91
92## License
93
94[MIT](https://github.com/maaslalani/invoice/blob/master/LICENSE)
95
96## Feedback
97
98I'd love to hear your feedback on improving `invoice`.
99
100Feel free to reach out via:
101* [Email](mailto:maas@lalani.dev)
102* [Twitter](https://twitter.com/maaslalani)
103* [GitHub issues](https://github.com/maaslalani/invoice/issues/new)
104
105---
106
107<sub><sub>z</sub></sub><sub>z</sub>z