Description
Germany phases in mandatory B2B electronic invoicing in 2027 and 2028; the obligation to receive electronic invoices has been in force since 1 January 2025. This plugin turns any WooCommerce order into a structured invoice in the EN 16931 format — no external service, no account, no running costs. Everything happens on the shop’s own server.
The interface and the generated documents are German, because the formats this plugin implements (XRechnung, the Leitweg-ID routing identifier, the BR-DE business rules) are the German national implementation of EN 16931.
What the plugin does
- Produces an XRechnung in UBL 2.1 from an order — the standard format for invoices to public authorities and large customers.
- Produces, instead or in addition, the UN/CEFACT CII syntax used by ZUGFeRD and Factur-X.
- Attaches the XML file to the WooCommerce invoice e-mail automatically.
- Adds a download button per format to the order screen.
- Collects the Leitweg-ID per order — at checkout, and editable afterwards on the order screen.
- Collects the customer’s VAT identification number and derives reverse-charge cases from it.
- Validates before output against the mandatory fields of EN 16931 and the German rule set (BR-DE), and says in plain language which field is missing and where to enter it.
What the plugin deliberately does not do
It does not create a PDF and does not embed anything into a PDF/A-3. A complete ZUGFeRD document is a PDF with embedded XML; this plugin delivers the XML. If you need a PDF, combine it with an invoice PDF plugin.
Conformance
The generated files are checked against the official KoSIT validator using the “Validator Configuration XRechnung 3.0.2” configuration. All bundled test cases — standard invoice, small-business exemption, reverse charge, mixed tax rates, prepayment, minimal invoice — are rated ACCEPTABLE in both syntaxes.
Screenshots



Installation
- Install and activate the plugin. WooCommerce has to be active.
- Open WooCommerce Settings E-Rechnung.
- Fill in the seller details under Stammdaten (master data). The top of the page permanently lists the mandatory fields that are still missing.
- Under Ausgabe & Versand (output and delivery) choose the format and decide whether the XML file is attached to the invoice e-mail.
- Place a test order and download the file from the E-Rechnung box on the order screen.
FAQ
-
Do I need a VAT identification number?
-
No. A tax number (BT-32) is enough. Businesses using the German small-business exemption enter their tax number and leave the VAT identification number empty.
-
What is the Leitweg-ID and do I need it?
-
The Leitweg-ID addresses an invoice at a German public authority, for example
04011000-1234512345-06. Authorities hand it out. For invoices to ordinary business customers the field is not needed — the plugin puts the order number in as the buyer reference instead. -
Why can’t I generate an invoice for an order?
-
Then a mandatory field is missing. The E-Rechnung box on the order screen names every missing entry together with its rule number, and links straight to the settings when the problem is in the master data.
-
Does this work with the block checkout?
-
Yes. The Leitweg-ID and the VAT identification number are registered for both the classic and the block checkout, and end up on the same order.
-
Is HPOS supported?
-
Yes, the WooCommerce order tables (High-Performance Order Storage) are supported.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Jojobry E-Rechnung for WooCommerce” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Jojobry E-Rechnung for WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
0.1.0
- First release: UBL 2.1 and UN/CEFACT CII, master data validation against EN 16931 and BR-DE, Leitweg-ID at checkout and on the order screen, XML attachment on the invoice e-mail, download per format.
