Nordlet

← Blog

EN 16931-overholdelse: Peppol, Factur-X og ZUGFeRD kontrolleret mod de officielle regler

Vi kørte de fakturafiler, som Nordlet producerer, igennem de officielle EN 16931-valideringsregler. Peppol- og de rumænske filer består. Factur-X-filerne overtræder to regler, og denne artikel nævner dem ved navn.

Nordlet Team · · 3 min. læsetid

EN 16931 er den europæiske standard for indholdet af en elektronisk faktura. Den definerer de forretningsmæssige vilkår, som en faktura indeholder (sælger, køber, linjer, momsangivelse, totaler), og de forretningsregler, som disse vilkår skal opfylde, for eksempel at momsangivelsen summerer op til fakturatotalen. Standarden kan udformes i to XML-formater: UBL 2.1 og UN/CEFACT Cross Industry Invoice (CII).

De fleste europæiske e-faktureringsformater er bygget oven på EN 16931:

  • Peppol BIS Billing 3.0 er EN 16931 i UBL med ekstra Peppol-regler.
  • Rumænsk e-Factura (CIUS-RO) er EN 16931 i UBL med ekstra rumænske regler.
  • Factur-X (Frankrig) og ZUGFeRD 2.3 (Tyskland) indeholder EN 16931 i CII. I "EN 16931"-profilen, som Nordlet genererer, anvender de to formater den samme XML.

Hvis en faktura overtræder en EN 16931-regel, overtræder den også ethvert format, der er bygget oven på den.

Sådan udførte vi kontrollen

Europa-Kommissionen henviser til de valideringsregler, der er offentliggjort af CEN-teknisk komité for e-fakturering (CEN/TC 434) på GitHub. Vi brugte den nyeste udgivelse, 1.3.17 af 12. oktober 2026, til både UBL og CII. Reglerne er skrevet i Schematron og kompileret til XSLT, og vi kørte dem ved hjælp af XSLT-motoren Saxon-HE 12.5.

Fakturafilerne blev produceret af Nordlets nuværende kode ud fra testdata. Sælgeren er en litauisk virksomhed; køberne er en litauisk virksomhed, en tysk virksomhed og, i tilfælde af Peppol-eksporten, en amerikansk virksomhed. Testfakturaerne har en linje med 21 % moms og en linje med 0 % med en fritagelsesnote.

Resultater

Hvad Nordlet skriver Kontrollerede filer Resultat
Peppol BIS Billing 3.0 (UBL) 7: indenlandsk faktura, kreditnota, EU-internt salg, eksport, omvendt betalingspligt (reverse charge), sælger ikke momsregistreret, faktura i USD med rabat Alle bestået: 0 fejl, 0 advarsler
Rumænsk e-Factura (UBL, CIUS-RO) 4: indenlandsk faktura, kreditnota, EU-internt salg, faktura i USD med rabat Alle bestået
Factur-X / ZUGFeRD (CII, profil EN 16931) 4: indenlandsk faktura, kreditnota, EU-internt salg, faktura i USD med rabat Alle 4 fejler, 1 fejl pr. stk.

De to regler, som Factur-X-filerne overtræder

BR-Z-10: en nulmomslinje må ikke indeholde en fritagelsesårsag

EN 16931 har separate momskategorier for en 0 %-sats ("Z", nulmomssatser) og for en fritaget levering ("E", momsfritaget). Kun en momsfritaget levering angiver en årsag. Regel BR-Z-10 fastslår, at en momsangivelse i kategori "Z" ikke må have en fritagelsesårsagskode (BT-121) eller en fritagelsesårsagstekst (BT-120).

Factur-X-generatoren indsætter årsagsteksten "Taux zéro" på hver enkelt nulmomsspecifikation, hvilket gør, at tre af de fire filer fejler. Den ignorerer desuden den fritagelsesnote, der er angivet på linjen. Peppol-generatoren håndterer den samme linje korrekt: når en 0 %-linje har en fritagelsesnote, skriver den linjen som fritaget ("E") og bruger noten som årsag.

BR-IC-12: et EU-internt salg skal angive leveringsland

Regel BR-IC-12 fastslår, at når momsangivelsen har kategorien "K" (EU-internt levering), må leveringslandekoden (BT-80) ikke være tom. Leveringslandet viser, at varerne forlod sælgerens land.

Factur-X-generatoren angiver ikke et leveringsland, og derfor fejler den EU-interne fil. Peppol-generatoren angiver købers land som leveringsland for disse salg.

Hvad denne kontrol ikke dækker

  • XML-skema. Vi kørte udelukkende forretningsreglerne, ikke UBL- og CII-skemakontrollerne (XSD).
  • Felter som Nordlet ikke udfylder. Regler for vilkår, som filerne ikke indeholder, blev ikke kørt. Eksempler herpå er gebyrer på dokumentniveau, forudbetalte beløb, faktureringsperiode og indkøbsordrereferencer.
  • Nationale regler oven på EN 16931. Vi kontrollerede ikke de franske e-faktureringsreformregler eller de tyske XRechnung-regler. De Peppol-specifikke regler kontrolleres af et separat Nordlet-script, der anvender OpenPeppols regelsæt.
  • PDF-delen af Factur-X. En Factur-X-faktura er en PDF/A-3-fil med den tilhørende XML vedhæftet. Kontrollen dækker udelukkende XML'en.

FAQ

Hvorfor overholder Nordlets Peppol-filer EN 16931, når Factur-X-filer ikke gør det?

Peppol BIS Billing 3.0 og Factur-X anvender forskellige underliggende standarder til at repræsentere EN 16931 (henholdsvis UBL og CII), og de er bygget af separate moduler i vores kodebase. CII-modulet antog fejlagtigt, at alle 0 %-linjer krævede en standardiseret fritekst som fritagelsesårsag, hvilket udløste regelfejl.

Kan jeg rette disse fejl i Factur-X via Nordlets API?

Ja. For at undgå BR-Z-10-fejlen skal du undlade at tilknytte en fritagelsesnote til linjer, der er sat til 0 % moms, hvis de ikke juridisk set er momsfrie. For at rette BR-IC-12 skal du sikre dig, at leveringsadressens land er udfyldt på fakturaer med EU-internt salg.