Nordlet

← Blogg

EN 16931-efterlevnad: Peppol, Factur-X och ZUGFeRD kontrollerade mot de officiella reglerna

Vi körde fakturafilerna som Nordlet producerar genom de officiella EN 16931-valideringsreglerna. Peppol- och de rumänska filerna passerar. Factur-X-filerna bryter mot två regler, och den här artikeln namnger dem.

Nordlet Team · · 3 min läsning

EN 16931 är den europeiska standarden för innehållet i en elektronisk faktura. Den definierar de affärstermer (business terms) som en faktura innehåller (säljare, köpare, fakturarader, momsöversikt, totalsummor) och de affärsregler som dessa termer måste uppfylla, till exempel att momsöversikten summerar till fakturans totalsumma. Standarden kan skrivas i två XML-format: UBL 2.1 och UN/CEFACT Cross Industry Invoice (CII).

De flesta europeiska e-faktureringsformat bygger på EN 16931:

  • Peppol BIS Billing 3.0 är EN 16931 i UBL med extra Peppol-regler.
  • Rumänsk e-Factura (CIUS-RO) är EN 16931 i UBL med extra rumänska regler.
  • Factur-X (Frankrike) och ZUGFeRD 2.3 (Tyskland) bär upp EN 16931 i CII. I profilen "EN 16931", som Nordlet skriver, använder de två formaten samma XML.

Om en faktura bryter mot en EN 16931-regel bryter den också mot varje format som bygger ovanpå den.

Hur vi kontrollerade

Europeiska kommissionen hänvisar till de valideringsregler som publicerats av CEN:s tekniska kommitté för e-fakturering (CEN/TC 434) på GitHub. Vi använde den senaste utgåvan, 1.3.17 från den 12 oktober 2026, för både UBL och CII. Reglerna är skrivna i Schematron och kompilerade till XSLT, och vi körde dem med XSLT-motorn Saxon-HE 12.5.

Fakturafilerna producerades av Nordlets aktuella kod utifrån testdata. Säljaren är ett litauiskt företag; köparna är ett litauiskt företag, ett tysk företag och, i Peppol-exportfallet, ett amerikanskt företag. Testfakturorna har en momsrad på 21 % och en rad på 0 % med en undantagsanteckning.

Resultat

Vad Nordlet skriver Kontrollerade filer Resultat
Peppol BIS Billing 3.0 (UBL) 7: inrikes faktura, kreditnota, EU-intern försäljning, export, omvänd skattskyldighet, säljaren ej momsregistrerad, faktura i USD med rabatt Alla godkända: 0 fel, 0 varningar
Rumänsk e-Factura (UBL, CIUS-RO) 4: inrikes faktura, kreditnota, EU-intern försäljning, faktura i USD med rabatt Alla godkända
Factur-X / ZUGFeRD (CII, profil EN 16931) 4: inrikes faktura, kreditnota, EU-intern försäljning, faktura i USD med rabatt Alla 4 underkända, 1 fel vardera

De två regler som Factur-X-filerna bryter mot

BR-Z-10: en nollskattesatsrad får inte innehålla en undantagsorsak

EN 16931 har separata momskategorier för en 0 %-sats ("Z", nollskattesats) och för en undantagen leverans ("E", undantagen). Endast en undantagen leverans anger en orsaksbeskrivning. Regel BR-Z-10 anger att en momsöversikt i kategori "Z" inte får ha en orsakskod för undantag (BT-121) eller en text för undantagsorsak (BT-120).

Factur-X-generatorn skriver orsakstexten "Taux zéro" på varje momsöversikt med nollskattesats, vilket gör att tre av de fyra filerna misslyckas. Den ignorerar dessutom den undantagsanteckning som angivits på raden. Peppol-generatorn hanterar samma rad korrekt: när en 0 %-rad har en undantagsanteckning skrivs raden som undantagen ("E") och anteckningen används som orsak.

BR-IC-12: en EU-intern försäljning måste ange leveransland

Regel BR-IC-12 anger att när momsöversikten har kategori "K" (gemenskapsinternt förvärv/leverans), får landskoden för leveransplats (BT-80) inte vara tom. Leveranslandet visar att varorna har lämnat säljarens land.

Factur-X-generatorn skriver inte ut något leveransland, vilket gör att den EU-interna filen underkänns. Peppol-generatorn skriver köparens land som leveransland för denna typ av försäljning.

Vad denna kontroll inte omfattar

  • XML-schema. Vi körde enbart affärsreglerna, inte kontrollerna av UBL- och CII-scheman (XSD).
  • Fält som Nordlet inte skriver. Regler för termer som filerna inte innehåller kördes inte. Exempel är kostnader på dokumentnivå, förbetalda belopp, faktureringsperiod och inköpsordereferenser.
  • Nationella regler utöver EN 16931. Vi kontrollerade inte reglerna för den franska e-faktureringsreformen eller de tyska XRechnung-reglerna. De Peppol-specifika reglerna kontrolleras av ett separat Nordlet-skript som använder OpenPeppol-regelverken.
  • PDF-delen av Factur-X. En Factur-X-faktura är en PDF/A-3-fil med den bifogade XML-filen. Kontrollen omfattar enbart XML-data.