Menu

Post image 1
Post image 2
1 / 2
0

How to validate Peppol BIS 3 invoices in 5 lines of Python (or Node, or Go)

DEV Community·eleata team·28 days ago
#O7GQkITL
#api#peppol#eu#xrechnung#eleata#invoice
Reading 0:00
15s threshold

Starting September 2026 every B2B invoice in France must be e-invoiced (Peppol/Factur-X). Germany has mandated XRechnung for B2G since 2020. Italy has been on FatturaPA since 2019. Spain's Verifactu rolls out 2025-2026. If you build accounting software, an ERP, or any e-commerce flow that touches EU customers, you'll likely need to validate these invoice formats at some point. The two main open-source Schematron engines are phive (by Philip Helger of the EN16931 working group) and Mustang (by Jochen Stärk and the FNFE-MPE working group). Both are great. Both ship as Java JARs or web forms — no API, no SDKs. I built a thin REST API on top of Mustang 2.23.0 that gives you what's missing: SDKs, GitHub Action, and async batch. The 5-line version # pip install eleata-peppol from eleata_peppol import Client client = Client ( api_key = os . environ [ " ELEATA_KEY " ]) result = client . validate ( format = " peppol-bis-3 " , xml = open ( " invoice.xml " , " rb " ). read ()) print ( result . valid , result .…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.

Read More