gitwtfhub

wtf is paperless-ngx-erechnung?

bitbetterde/paperless-ngx-erechnung — explained in plain English

Analysis updated 2026-05-18

18XSLTAudience · ops devopsComplexity · 3/5LicenseSetup · moderate

TL;DR

A Paperless-ngx plugin that automatically reads German electronic invoices (XRechnung and ZUGFeRD) and extracts their data.

Mindmap

mindmap
  root((paperless-ngx-erechnung))
    What it does
      Detects e-invoices
      Extracts metadata
      Generates readable PDF
    Formats
      XRechnung
      ZUGFeRD
    Tech stack
      Python
      XSLT
      Apache FOP
    Audience
      German businesses
      Accountants

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Automatically extract invoice number, date, and totals from incoming German e-invoices in Paperless-ngx.

REASON 2

Generate a readable PDF preview of XRechnung XML invoices using official government stylesheets.

REASON 3

Keep a German business's incoming electronic invoices searchable and organized without manual data entry.

What's in the stack?

PythonXSLTApache FOPJava

How it stacks up

bitbetterde/paperless-ngx-erechnungpratish10/azure-logicapps-xslt-transformationslolbas-project/lolbas
Stars1808,550
LanguageXSLTXSLTXSLT
Setup difficultymoderatemoderateeasy
Complexity3/53/51/5
Audienceops devopsdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 1h+

Requires installing Apache FOP and a Java runtime alongside Paperless-ngx.

Free to use, modify, and share, but any modified version you distribute must also be open source under the same license.

Wtf does this do

Paperless-ngx-erechnung is a plugin for Paperless-ngx, an open-source document management system that scans, organizes, and makes your documents searchable, that adds support for German electronic invoices (called E-Rechnungen). Starting in 2025, German businesses are required to send and receive invoices electronically in standardized XML formats. Two formats exist: XRechnung, which is a pure XML file, and ZUGFeRD (also known as Factur-X), which is a PDF that has the XML invoice data embedded inside it. Without this plugin, Paperless-ngx treats these files like any other XML or PDF and does not extract the structured invoice data, things like invoice number, date, due date, seller name, and totals. With the plugin installed, Paperless automatically detects these invoice formats when they are added to its inbox and extracts all the relevant metadata fields, making them visible in the sidebar and searchable. For XRechnung files (which are XML and have no visual format), the plugin also generates a human-readable PDF using official stylesheets from the German government's KoSIT organization and the Apache FOP layout engine. You would use this if you are a German business owner or accountant who uses Paperless-ngx to manage documents and wants incoming electronic invoices to be properly parsed and organized automatically. Installation requires adding Apache FOP and a Java runtime to the Paperless environment, which takes a few extra steps beyond a typical plugin install. The plugin is written in Python and XSLT and is licensed under GPL-3.0 to match Paperless-ngx itself.

Yoink these prompts

Prompt 1
Help me install the paperless-ngx-erechnung plugin, including the Apache FOP and Java runtime requirements.
Prompt 2
Explain the difference between XRechnung and ZUGFeRD invoice formats and how this plugin handles each.
Prompt 3
Show me what invoice metadata fields this plugin extracts and makes searchable in Paperless-ngx.
Prompt 4
Walk me through connecting this plugin to an existing Paperless-ngx instance for a German business.

Frequently asked questions

wtf is paperless-ngx-erechnung?

A Paperless-ngx plugin that automatically reads German electronic invoices (XRechnung and ZUGFeRD) and extracts their data.

What language is paperless-ngx-erechnung written in?

Mainly XSLT. The stack also includes Python, XSLT, Apache FOP.

What license does paperless-ngx-erechnung use?

Free to use, modify, and share, but any modified version you distribute must also be open source under the same license.

How hard is paperless-ngx-erechnung to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is paperless-ngx-erechnung for?

Mainly ops devops.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.