This repository demonstrates how to make beautiful and modern XML invoices with Latex, compatible with public requirements of German/European law. This uses https://github.com/TeXhackse/LaTeX-ZUGFeRD as the major driver.
On an ordinary modern LiveTeX installation for instance on arch linux, I cannot "just run"
tlmgr install zugferd, it just does not want to work. Instead, I have to manually
install all the dependencies. Run or inspect make setup to see a commented way of how I
accomplished this on my linux distribution. What is ultimately does is to download,
compile/generate .sty files and softlink them into the actual "working directory"
from whereas you can compile your .tex file containing the actual invoice just
regularly from command line (pdflatex foobar.tex) or from your favourite IDE
(for instance TeXLive).
Just run make to build the PDF. We use luatex because we use the nice-looking
Inter OTF font.
If you want to do more fancy things such as changing the main font, you should
consider installing a package such as texlive-luatex
(cf. [https://tex.stackexchange.com/a/727932]) which is typically not part of
a full installation and helps with fonts. You can also comment out these fonts
and then use regular pdflatex.
The attached XML can be validated or visualized as HTML with Mustang-CLI.jar.
All files in this project are public domain / CC0 by svenk, 2025.