https://github.com/mkropat/dapper-invoice
A billable-time invoice featuring style over substance
https://github.com/mkropat/dapper-invoice
invoice latex
Last synced: 9 months ago
JSON representation
A billable-time invoice featuring style over substance
- Host: GitHub
- URL: https://github.com/mkropat/dapper-invoice
- Owner: mkropat
- License: mit
- Created: 2015-04-11T15:43:54.000Z (almost 11 years ago)
- Default Branch: main
- Last Pushed: 2023-08-24T23:43:51.000Z (over 2 years ago)
- Last Synced: 2025-03-09T13:03:23.814Z (10 months ago)
- Topics: invoice, latex
- Language: TeX
- Homepage:
- Size: 448 KB
- Stars: 200
- Watchers: 9
- Forks: 65
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
## dapper-invoice
A billable-time invoice featuring style over substance.

### Pre-Requisites
- [TeX Live](https://www.tug.org/texlive/acquire-netinstall.html)
- TeX xetex (siunitx.sty)
- TeX science (fontawesome.sty)
— or —
- [Vagrant](https://www.vagrantup.com/downloads.html)
— or —
- [Docker](https://www.docker.com/get-started)
### Generating an Invoice
#### Using TeX Live Locally
```
cp example.tex your-invoice-101.tex
# make some changes to your-invoice-101.tex
make your-invoice-101.pdf
```
Your invoice will be created as `your-invoice-101.pdf`
#### Using Vagrant
```
cp example.tex your-invoice-101.tex
vagrant up # this may take a while the first time
vagrant ssh -c 'cd /vagrant; make REPORT=your-invoice-101 watch'
```
Now whenever you make changes to `your-invoice-101.tex` on your host machine,
the watcher inside the VM will automatically build `your-invoice-101.pdf`,
which will be saved back to the host machine.
When finished editing, input Control-C to stop the
watcher, then run:
```
vagrant halt
```
#### Using Docker
Use Docker Hub's [`blang/latex`](https://hub.docker.com/r/blang/latex/) image that comes with a matching .sh file.
When you first run this .sh file, it will pull the docker image that includes
all of the latex dependencies.
```
wget https://raw.githubusercontent.com/blang/latex-docker/master/latexdockercmd.sh
chmod +x latexdockercmd.sh
./latexdockercmd.sh # will pull down image on first use
```
Then, you can use the .sh file as you would xelatex:
```
cp example.tex your-invoice-101.tex
latexdockercmd.sh xelatex [options] your-invoice-101.tex
```
You invoice will be created as `your-invoice-101.pdf`
### Documentation
See [example.tex](example.tex) and [dapper-invoice.cls](dapper-invoice.cls) for details.
### Inspiration
I am not a designer. Inspiration for the design comes from
borrowing design ideas from good looking invoices people have published
[on the
net](http://www.smashingmagazine.com/2009/11/05/invoice-like-a-pro/). The
resulting design is not even in the same league, but I think it gets the job
done.
I am also not a LaTeX author. The code borrows heavily from the
[moderncv](https://launchpad.net/moderncv) package (which I can't recommend
enough), as well as numerous other packages.
### Licensing
The code I have written I release under the MIT license.
Two different font packages are included in the repo for convenience:
- OpenSans (Apache License v2.00)
- Font Awesome (SIL OFL 1.1)