Simple invoice generator script.

Eric Bavier 9059477f3f Initial commit. 6 years ago
.gitignore 9059477f3f Initial commit. 6 years ago
AUTHORS 9059477f3f Initial commit. 6 years ago
COPYING 9059477f3f Initial commit. 6 years ago
ChangeLog 9059477f3f Initial commit. 6 years ago
INSTALL 9059477f3f Initial commit. 6 years ago
Makefile.am 9059477f3f Initial commit. 6 years ago
NEWS 9059477f3f Initial commit. 6 years ago
README 9059477f3f Initial commit. 6 years ago
configure.ac 9059477f3f Initial commit. 6 years ago
invoice.in 9059477f3f Initial commit. 6 years ago

README

# Invoice

Invoice is a simple but "extensible" command-line tool that takes a
number of template parameters and a list of billables and generates an
invoice, in LaTeX format, with those line-item billables and a total
invoice amount. It will automatically generate incremental invoice
numbers. It does not do any other fancy invoice or time tracking.

## Configuration

All template parameters can be configured with default values in the
`~/.invoicerc` file. These must be specified as a Scheme list of
pairs (aka "alist"). For example:

```
'(("name" . "John Doe")
("address" . "1234 Curvey Rd")
("phone" . "(123) 456-7890")
("email" . "jdoe@example.com")
("bill-to" . "ACME Company")
("rate" . 100.00))
```

These and other template parameters can be given values with options
when invoking `invoice`. Values given in this way override any
default values specified in `~/.invoicerc`.

## Example

```
$ path="invoice-`date +%Y%m%d`.tex"
$ invoice --bill-for="Frobnicating whodizzles" \
-D "Management of bazzles" -H 2 \
-D "Fizzing the fumbith" -H 1.5 \
-D "Toohawth accounting" -H 3 >$path
$ pdflatex $path
```

## Why

I do a few odd jobs for people here and there, and `invoice` lets me
create an invoice for those jobs quick and easy. I know exactly where
those invoices are stored and can customize them if I want to before
running them through LaTeX.