README 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # Invoice
  2. Invoice is a simple but "extensible" command-line tool that takes a
  3. number of template parameters and a list of billables and generates an
  4. invoice, in LaTeX format, with those line-item billables and a total
  5. invoice amount. It will automatically generate incremental invoice
  6. numbers. It does not do any other fancy invoice or time tracking.
  7. ## Configuration
  8. All template parameters can be configured with default values in the
  9. `~/.invoicerc` file. These must be specified as a Scheme list of
  10. pairs (aka "alist"). For example:
  11. ```
  12. '(("name" . "John Doe")
  13. ("address" . "1234 Curvey Rd")
  14. ("phone" . "(123) 456-7890")
  15. ("email" . "jdoe@example.com")
  16. ("bill-to" . "ACME Company")
  17. ("rate" . 100.00))
  18. ```
  19. These and other template parameters can be given values with options
  20. when invoking `invoice`. Values given in this way override any
  21. default values specified in `~/.invoicerc`.
  22. ## Example
  23. ```
  24. $ path="invoice-`date +%Y%m%d`.tex"
  25. $ invoice --bill-for="Frobnicating whodizzles" \
  26. -D "Management of bazzles" -H 2 \
  27. -D "Fizzing the fumbith" -H 1.5 \
  28. -D "Toohawth accounting" -H 3 >$path
  29. $ pdflatex $path
  30. ```
  31. ## Why
  32. I do a few odd jobs for people here and there, and `invoice` lets me
  33. create an invoice for those jobs quick and easy. I know exactly where
  34. those invoices are stored and can customize them if I want to before
  35. running them through LaTeX.