Skip to content

felixhoffmnn/latex-templates

Repository files navigation

Latex Templates

This project is intended to be a collection of templates for invoices and letters. While there are many tools and templates out there, I found it difficult to find a simple template that I could easily modify to my needs. The goal of this project is to provide a simple template that can be easily modified to suit also your needs.

Preview

Letter Template Invoice Template
Letter Template Invoice Template

Invoice and Letter Template

Features:

  • Invoice Template
  • Letter Template
  • Support for multiple languages
    • Currently only german is supported.
  • Support for multiple currencies
  • Add support for XRechnung
  • Migrate to typst for faster rendering
  • Type validation using pydantic
  • Support schema validation for VSCode (schemas are located in the schemas directory)
  • QR Code generation for bank transfer using qrbill
  • Support VAT > 0 (currently only VAT = 0 is supported)
  • Support multiple pages for invoices
  • Easy interaction using just
  • Using a texlive/texlive:latest-full container for building the templates
  • Python dependency management using uv
  • Keep track of the amount of invoices (using a csv file)
  • Open Thunderbird with the generated pdf as attachment
    • Requires Thunderbird to be installed as a flatpak package
    • Additionally, you need to allow Thunberbird to access the output directory (Note: This is a security risk, as it allows Thunderbird to access all files in the output directory)
    • Alternatively you can disable this feature by setting OPEN_MAIL to false in the .env file

Getting Started

⚠️ You will need to have podman or docker installed on your system

You can either just clone this repository or create a fork of it. First of all, you need to install the dependencies using uv (if you haven't heard of it, you should google it, and follow a tutorial on how to use it). Additionally I suggest using just.

For initial testing, I created some example configuration files. If you want to customize the templates to your needs, see this file.

Following, you should be able to create your first invoice by running the following command:

just invoice <invoice-path>

# If you just want to generate the example invoice
just invoice

or if you want to create a letter:

just letter <letter-path>

# If you just want to generate the example letter
just letter

You can view all available commands by running just --list (or just just).

License

This project is licensed under the GNU GPLv3 License - see the COPYING file for details.

The invoice template is inspired by a template from Selfnet e.V..

About

A collection of LaTeX templates.

Resources

License

Stars

Watchers

Forks