I use LaTeX for my invoices, combined with the "rechnung.sty" module which allows creating the typical invoice layout.
The advantage is that I can use the scrlttr document class, which - if I call it correctly - can generate PDFs that perfectly fit in my country's (Switzerland) window envelopes when printed out.
And because I put all my base config in a reusable and importable file, every .tex file with an invoice is really short, essentially just the address and invoice positions.