Swiss E-Invoicing using Factur-X (ZugFerd) / EN16931

We at Grynn have developed a Swiss E-Invoicing App.

The Swiss E-Invoicing standard is based on the French / German ZugFerd Standard, which proposes a HYBRID invoicing which is both human readable and machine readable. What that means an invoice generated in this manner is a PDF file, with an attached XML file.

So this means, no OCR / no guess work / No "machine learning etc is required to take an PDF invoice and feed it to a computer which can unpack this PDF and read the XML file and take the necessary steps to create a purchase invoice on the supplier’s side.

A Factur-x e-invoice will be generated when you submit a Sales Invoice & attached to your Sales Invoice. Everything is automated. Would be great to get a feedback.

  • Version 0.0.1
  • No data transfer to another server, no microservices
  • Based on Factur-x Python Library
  • Integrated into ERPNext
  • Compatible/Tested on v12, v13,
  • Free / Open Source - GPL v3.0 license
  • XML is validated before it is attached

Version 0.0.1. Kindly try it and give us a feedback.


Congratulations to you and your team. Am sure with your keen observation and perfection this will be an excellent app out of the box.

1 Like
1 Like

Our app seems to have a valid A/3 and validates using XSD. But the platform is showing some issues. We know the 3-4 issues we have found to make this platform validator happy but haven’t had the time to fix it. Maybe we will look at it in 2-3 weeks. Best

Good job! It is good to see that there is getting more and more traction on these topics in central Europe (refer to also ZUGFeRD and ERPNext) and also the preceding implementations of QR-invoice and ZUGFeRD in GitHub - libracore/erpnextswiss: ERPNext application for Switzerland-specific use cases in one combine all-in-one module (including bank integration along ISO 20022).

We have released v1.0.1. We have validated the PDF A-3 validity + the ZUGFeRD Community portal for XML validation. So now it should be compliant with French / German / Swiss / EN16931 standards of e-invoicing.

There are a few limitations are there :

  1. Don’t add charges to the “sales taxes and charges” template. If you add it, ERPNext will still function, however XML will not be valid as the e-invoicing XML does not provide adding charges mixed into the taxes table.

  2. Don’t add header level discounts. We have not covered it in our APP. If needed, kindly contact us. Again it wont break ERPNext. However the XML will not be valid.

  3. If you find any issues, kindly open a GitHub issue.

Here is an example of a validation output.


As an update, this APP is also compatible with Peppol as it works with EN 16931 standards as well. Would be grateful if someone tests and comes back with feedback. Kindly open issues on Github.