Package Exports
- @bret/invoicer
- @bret/invoicer/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@bret/invoicer) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@bret/invoicer
generate PDF invoices from json. Maintenance fork of substack/invoicer.
npm install @bret/invoicer
example
[
{"title":"consulting","rate": 100, "hours":[
{"date":"2075-08-27","hours":2.5},
{"date":"2075-08-28","hours":7},
{"date":"2075-09-01","hours":5.5}
]},
{"title":"travel","items":[
{"title":"airfare","amount":750},
{"title":"hotel","amount":240}
]},
{"title":"hosting","amount":40}
]
$ invoicer -r 'BEEPCORP HOLDINGS LTD' -e expenses.json -o invoice.pdf
The first time you run invoicer you will be prompted to enter your name, address, email, and currency.
Once invoicer finishes you will have a fancy invoice.pdf
.
How fancy an invoice? Glad you asked:
usage
usage: invoicer -r 'BEEPCORP HOLDINGS LTD' -e expenses.json -o invoice.pdf
-r, --rcpt invoice receipient
-e, --expenses expense sheet. If not given or '-', read from stdin.
-o, --output generate a pdf for this filename
-m, --mode mode to use (implied by the extension in -o, otherwise "text")
-t, --template use a custom LaTeX template
-c FILE config file (default: ~/.config/invoicer/config.json)
Here is an example expenses.json file:
[
{"title":"consulting","rate": 100, "hours":[
{"date":"2075-08-27","hours":2.5},
{"date":"2075-08-28","hours":7},
{"date":"2075-09-01","hours":5.5}
]},
{"title":"travel","items":[
{"title":"airfare","amount":750},
{"title":"hotel","amount":240}
]},
{"title":"hosting","amount":40}
]
For each `row` in the json array, `invoicer` only looks for:
* `row.rate` and a `row.hours` array
* `row.items` array
* `row.amount`
Each row should have a title.
install
You'll need the pdflatex
command first from
texlive.
If you're on a debianish system you can do: sudo apt-get install texlive
.
On windows you can use w32tex.
Once all that is out of the way, install with npm to get
the invoicer
command:
npm install -g @bret/invoicer
license
MIT