What XRechnung and Peppol BIS add to EN 16931, counted
“Does my invoice pass EN 16931?” is the wrong question on its own. The norm is the layer that is the same everywhere; what your buyer runs is the norm plus a CIUS or a network profile, and each of those adds rules of its own. This page counts the difference and names it, rule by rule, from the artefacts the validator loads.
The rule sets side by side
| Rule set | Artefacts the engine loads | Syntax | Assertions | By severity | over the norm |
|---|---|---|---|---|---|
| EN 16931the core invoice model | EN 16931 Schematron 1.3.17 (updated 2026-10-09) | CII | 810 | 339 fatal / 471 warning | — |
| UBL | 982 | 284 fatal / 698 warning | — | ||
| XRechnungGermany’s mandate: a CIUS of EN 16931 | 2.6.0, for XRechnung 3.0.2 | CII | 862 | 379 fatal / 482 warning / 1 information | +52 |
| UBL | 1038 | 330 fatal / 707 warning / 1 information | +56 | ||
| Peppol BIS Billing 3.0the network’s profile of EN 16931 | Peppol BIS Billing 3.0 release 3.0.21 (May 2026), with EN 16931 Schematron 1.3.16 | CII | 897 | 409 fatal / 488 warning | +114 |
| UBL | 1144 | 420 fatal / 724 warning | +186 |
Counts are per syntax because the two grammars are validated by different artefacts: the same rule id is often two assertions, one written against CII and one against UBL. The UBL listing is larger for every rule set for that reason, not because a UBL invoice is held to a higher standard.
The severity column is the engine’s own, not an editor’s guess: a fatal assertion fails the invoice and a warning one is reported alongside a pass. Almost every assertion here is one or the other — XRechnung’s rules carry exactly 1 informational assertion per grammar, BR-DE-TMP-32, a “should” about the delivery date that the engine reports without failing the invoice. It is counted because it runs.
Every assertion a rule set adds
| Rule | Added by | Applies to | Severity | What the rule says |
|---|---|---|---|---|
| BR-AF-01 | Peppol BIS Billing 3.0 | CII and UBL | fatal | An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "IGIC" shall contain in the VAT breakdown (BG-23) at least one VAT category code (BT-118) equal with "IGIC". |
| BR-AF-02 | Peppol BIS Billing 3.0 | CII and UBL | fatal | An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "IGIC" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63). |
| BR-AF-03 | Peppol BIS Billing 3.0 | CII and UBL | fatal | An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "IGIC" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63). |
| BR-AF-04 | Peppol BIS Billing 3.0 | CII and UBL | fatal | An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "IGIC" shall contain the Seller VAT Identifier (BT-31), the Seller Tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63). |
| BR-AF-05 | Peppol BIS Billing 3.0 | CII | fatal | In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "IGIC" the invoiced item VAT rate (BT-152) shall be greater than 0 (zero). |
| BR-AF-05 | Peppol BIS Billing 3.0 | UBL | fatal | In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "IGIC" the invoiced item VAT rate (BT-152) shall be 0 (zero) or greater than zero. |
| BR-AF-06 | Peppol BIS Billing 3.0 | CII and UBL | fatal | In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "IGIC" the Document level allowance VAT rate (BT-96) shall be 0 (zero) or greater than zero. |
| BR-AF-07 | Peppol BIS Billing 3.0 | CII and UBL | fatal | In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "IGIC" the Document level charge VAT rate (BT-103) shall be 0 (zero) or greater than zero. |
| BR-AF-08 | Peppol BIS Billing 3.0 | CII and UBL | fatal | For each different value of VAT category rate (BT-119) where the VAT category code (BT-118) is "IGIC", the VAT category taxable amount (BT-116) in a VAT breakdown (BG-23) shall equal the sum of Invoice line net amounts (BT-131) plus the sum of document level charge amounts (BT-99) minus the sum of document level allowance amounts (BT-92) where the VAT category code (BT-151, BT-102, BT-95) is "IGIC" and the VAT rate (BT-152, BT-103, BT-96) equals the VAT category rate (BT-119). |
| BR-AF-09 | Peppol BIS Billing 3.0 | CII and UBL | fatal | The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is "IGIC" shall equal the VAT category taxable amount (BT-116) multiplied by the VAT category rate (BT-119). |
| BR-AF-10 | Peppol BIS Billing 3.0 | CII | fatal | A VAT Breakdown (BG-23) with VAT Category code (BT-118) "IGIC" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120). |
| BR-AF-10 | Peppol BIS Billing 3.0 | UBL | fatal | A VAT breakdown (BG-23) with VAT Category code (BT-118) "IGIC" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120). |
| BR-AG-01 | Peppol BIS Billing 3.0 | CII and UBL | fatal | An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "IPSI" shall contain in the VAT breakdown (BG-23) at least one VAT category code (BT-118) equal with "IPSI". |
| BR-AG-02 | Peppol BIS Billing 3.0 | CII and UBL | fatal | An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "IPSI" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63). |
| BR-AG-03 | Peppol BIS Billing 3.0 | CII and UBL | fatal | An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "IPSI" shall contain the Seller VAT Identifier (BT-31), the Seller Tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63). |
| BR-AG-04 | Peppol BIS Billing 3.0 | CII and UBL | fatal | An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "IPSI" shall contain the Seller VAT Identifier (BT-31), the Seller Tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63). |
| BR-AG-05 | Peppol BIS Billing 3.0 | CII and UBL | fatal | In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "IPSI" the Invoiced item VAT rate (BT-152) shall be 0 (zero) or greater than zero. |
| BR-AG-06 | Peppol BIS Billing 3.0 | CII and UBL | fatal | In a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "IPSI" the Document level allowance VAT rate (BT-96) shall be 0 (zero) or greater than zero. |
| BR-AG-07 | Peppol BIS Billing 3.0 | CII and UBL | fatal | In a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "IPSI" the Document level charge VAT rate (BT-103) shall be 0 (zero) or greater than zero. |
| BR-AG-08 | Peppol BIS Billing 3.0 | CII and UBL | fatal | For each different value of VAT category rate (BT-119) where the VAT category code (BT-118) is "IPSI", the VAT category taxable amount (BT-116) in a VAT breakdown (BG-23) shall equal the sum of Invoice line net amounts (BT-131) plus the sum of document level charge amounts (BT-99) minus the sum of document level allowance amounts (BT-92) where the VAT category code (BT-151, BT-102, BT-95) is "IPSI" and the VAT rate (BT-152, BT-103, BT-96) equals the VAT category rate (BT-119). |
| BR-AG-09 | Peppol BIS Billing 3.0 | CII and UBL | fatal | The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is "IPSI" shall equal the VAT category taxable amount (BT-116) multiplied by the VAT category rate (BT-119). |
| BR-AG-10 | Peppol BIS Billing 3.0 | CII | fatal | A VAT Breakdown (BG-23) with VAT Category code (BT-118) "IPSI" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120). |
| BR-AG-10 | Peppol BIS Billing 3.0 | UBL | fatal | A VAT breakdown (BG-23) with VAT Category code (BT-118) "IPSI" shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120). |
| BR-DE-1 | XRechnung | CII and UBL | fatal | Eine Rechnung (INVOICE) muss Angaben zu "PAYMENT INSTRUCTIONS" (BG-16) enthalten. |
| BR-DE-2 | XRechnung | CII and UBL | fatal | Die Gruppe "SELLER CONTACT" (BG-6) muss übermittelt werden. |
| BR-DE-3 | XRechnung | CII and UBL | fatal | Das Element "Seller city" (BT-37) muss übermittelt werden. |
| BR-DE-4 | XRechnung | CII and UBL | fatal | Das Element "Seller post code" (BT-38) muss übermittelt werden. |
| BR-DE-5 | XRechnung | CII and UBL | fatal | Das Element "Seller contact point" (BT-41) muss übermittelt werden. |
| BR-DE-6 | XRechnung | CII and UBL | fatal | Das Element "Seller contact telephone number" (BT-42) muss übermittelt werden. |
| BR-DE-7 | XRechnung | CII and UBL | fatal | Das Element "Seller contact email address" (BT-43) muss übermittelt werden. |
| BR-DE-8 | XRechnung | CII and UBL | fatal | Das Element "Buyer city" (BT-52) muss übermittelt werden. |
| BR-DE-9 | XRechnung | CII and UBL | fatal | Das Element "Buyer post code" (BT-53) muss übermittelt werden. |
| BR-DE-10 | XRechnung | CII and UBL | fatal | Das Element "Deliver to city" (BT-77) muss übermittelt werden, wenn die Gruppe "DELIVER TO ADDRESS" (BG-15) übermittelt wird. |
| BR-DE-11 | XRechnung | CII and UBL | fatal | Das Element "Deliver to post code" (BT-78) muss übermittelt werden, wenn die Gruppe "DELIVER TO ADDRESS" (BG-15) übermittelt wird. |
| BR-DE-14 | XRechnung | CII and UBL | fatal | Das Element "VAT category rate" (BT-119) muss übermittelt werden. |
| BR-DE-15 | XRechnung | CII and UBL | fatal | Das Element "Buyer reference" (BT-10) muss übermittelt werden. |
| BR-DE-16 | XRechnung | CII and UBL | fatal | Wenn in einer Rechnung die Steuercodes S, Z, E, AE, K, G, L oder M verwendet werden, muss mindestens eines der Elemente "Seller VAT identifier" (BT-31), "Seller tax registration identifier" (BT-32) oder "SELLER TAX REPRESENTATIVE PARTY" (BG-11) übermittelt werden. |
| BR-DE-17 | XRechnung | CII and UBL | warning | Mit dem Element "Invoice type code" (BT-3) sollen ausschließlich folgende Codes aus der Codeliste UNTDID 1001 übermittelt werden: 326 (Partial invoice), 380 (Commercial invoice), 384 (Corrected invoice), 389 (Self-billed invoice) und 381 (Credit note),875 (Partial construction invoice), 876 (Partial final construction invoice), 877 (Final construction invoice). |
| BR-DE-18 | XRechnung | CII | fatal | Skonto Zeilen in muessen diesem regulärem Ausdruck entsprechen: . Die Informationen zur Gewährung von Skonto müssen wie folgt im Element "Payment terms" (BT-20) übermittelt werden: Anzugeben ist im ersten Segment "SKONTO", im zweiten "TAGE=n", im dritten "PROZENT=n". Prozentzahlen sind ohne Vorzeichen sowie mit Punkt getrennt von zwei Nachkommastellen anzugeben. Liegt dem zu berechnenden Betrag nicht BT-115, "fälliger Betrag" zugrunde, sondern nur ein Teil des fälligen Betrags der Rechnung, ist der Grundwert zur Berechnung von Skonto als viertes Segment "BASISBETRAG=n" gemäß dem semantischen Datentypen Amount anzugeben. Jeder Eintrag beginnt mit einer #, die Segmente sind mit einer # getrennt und eine Zeile schließt mit einer # ab. Am Ende einer vollständigen Skontoangabe muss ein XML-konformer Zeilenumbruch folgen. Alle Angaben zur Gewährung von Skonto müssen in Großbuchstaben gemacht werden. Zusätzliches Whitespace (Leerzeichen, Tabulatoren oder Zeilenumbrüche) ist nicht zulässig. Andere Zeichen oder Texte als in den oberen Vorgaben genannt sind nicht zulässig. |
| BR-DE-18 | XRechnung | UBL | fatal | Skonto Zeilen in müssen diesem regulärem Ausdruck entsprechen: . Die Informationen zur Gewährung von Skonto müssen wie folgt im Element "Payment terms" (BT-20) übermittelt werden: Anzugeben ist im ersten Segment "SKONTO", im zweiten "TAGE=n", im dritten "PROZENT=n". Prozentzahlen sind ohne Vorzeichen sowie mit Punkt getrennt von zwei Nachkommastellen anzugeben. Liegt dem zu berechnenden Betrag nicht BT-115, "fälliger Betrag" zugrunde, sondern nur ein Teil des fälligen Betrags der Rechnung, ist der Grundwert zur Berechnung von Skonto als viertes Segment "BASISBETRAG=n" gemäß dem semantischen Datentypen Amount anzugeben. Jeder Eintrag beginnt mit einer #, die Segmente sind mit einer # getrennt und eine Zeile schließt mit einer # ab. Am Ende einer vollständigen Skontoangabe muss ein XML-konformer Zeilenumbruch folgen. Alle Angaben zur Gewährung von Skonto müssen in Großbuchstaben gemacht werden. Zusätzliches Whitespace (Leerzeichen, Tabulatoren oder Zeilenumbrüche) ist nicht zulässig. Andere Zeichen oder Texte als in den oberen Vorgaben genannt sind nicht zulässig. |
| BR-DE-19 | XRechnung | CII and UBL | warning | "Payment account identifier" (BT-84) soll eine korrekte IBAN enthalten, wenn in "Payment means type code" (BT-81) mit dem Code 58 SEPA als Zahlungsmittel gefordert wird. |
| BR-DE-20 | XRechnung | CII and UBL | warning | "Debited account identifier" (BT-91) soll eine korrekte IBAN enthalten, wenn in "Payment means type code" (BT-81) mit dem Code 59 SEPA als Zahlungsmittel gefordert wird. |
| BR-DE-21 | XRechnung | CII and UBL | warning | Das Element "Specification identifier" (BT-24) soll syntaktisch der Kennung des Standards XRechnung entsprechen. |
| BR-DE-22 | XRechnung | CII | fatal | Not all filename attributes of the embeddedDocumentBinaryObject elements are unique |
| BR-DE-22 | XRechnung | UBL | fatal | Das "filename"-Attribut aller "EmbeddedDocumentBinaryObject"-Elemente muss eindeutig sein |
| BR-DE-23-a | XRechnung | CII and UBL | fatal | Wenn BT-81 "Payment means type code" einen Schlüssel für Überweisungen enthält (30, 58), muss BG-17 "CREDIT TRANSFER" übermittelt werden. |
| BR-DE-23-b | XRechnung | CII and UBL | fatal | Wenn BT-81 "Payment means type code" einen Schlüssel für Überweisungen enthält (30, 58), dürfen BG-18 und BG-19 nicht übermittelt werden. |
| BR-DE-24-a | XRechnung | CII and UBL | fatal | Wenn BT-81 "Payment means type code" einen Schlüssel für Kartenzahlungen enthält (48, 54, 55), muss genau BG-18 "PAYMENT CARD INFORMATION" übermittelt werden. |
| BR-DE-24-b | XRechnung | CII and UBL | fatal | Wenn BT-81 "Payment means type code" einen Schlüssel für Kartenzahlungen enthält (48, 54, 55), dürfen BG-17 und BG-19 nicht übermittelt werden. |
| BR-DE-25-a | XRechnung | CII and UBL | fatal | Wenn BT-81 "Payment means type code" einen Schlüssel für Lastschriften enthält (59), muss genau BG-19 "DIRECT DEBIT" übermittelt werden. |
| BR-DE-25-b | XRechnung | CII and UBL | fatal | Wenn BT-81 "Payment means type code" einen Schlüssel für Lastschriften enthält (59), dürfen BG-17 und BG-18 nicht übermittelt werden. |
| BR-DE-26 | XRechnung | CII | warning | Wenn im Element Invoice type code (BT-3) der Code 384 (Corrected invoice) übergeben wird, soll PRECEDING INVOICE REFERENCE BG-3 mind. einmal vorhanden sein. |
| BR-DE-26 | XRechnung | UBL | warning | Wenn im Element "Invoice type code" (BT-3) der Code 384 (Corrected invoice) übergeben wird, soll PRECEDING INVOICE REFERENCE BG-3 mind. einmal vorhanden sein. |
| BR-DE-27 | XRechnung | CII and UBL | warning | In BT-42 sollen mindestens drei Ziffern enthalten sein. |
| BR-DE-28 | XRechnung | CII and UBL | warning | In BT-43 soll genau ein @-Zeichen enthalten sein, welches nicht von einem Leerzeichen, einem Punkt, aber mindestens zwei Zeichen auf beiden Seiten flankiert werden soll. Ein Punkt sollte nicht am Anfang oder am Ende stehen. |
| BR-DE-30 | XRechnung | CII and UBL | fatal | Wenn "DIRECT DEBIT" BG-19 vorhanden ist, dann muss "Bank assigned creditor identifier" BT-90 übermittelt werden. |
| BR-DE-31 | XRechnung | CII and UBL | fatal | Wenn "DIRECT DEBIT" BG-19 vorhanden ist, dann muss "Debited account identifier" BT-91 übermittelt werden. |
| BR-DE-CVD-01 | XRechnung | CII and UBL | fatal | Das Element "Contract reference" (BT-12) muss übermittelt werden. |
| BR-DE-CVD-02 | XRechnung | CII and UBL | fatal | Das Element "Tender or lot reference" (BT-17) muss übermittelt werden. |
| BR-DE-CVD-03 | XRechnung | CII and UBL | fatal | In einer Rechnung muss mindestens eine INVOICE LINE (BG-25) enthalten sein, in der der Scheme identifier von "Item classification identifier" (BT-158) den Wert 'CVD' und der "Item attribute name" (BT-160) den Wert 'cva' enthält. |
| BR-DE-CVD-04 | XRechnung | CII and UBL | fatal | Ein "Item classification identifier" (BT-158) mit dem Scheme identifier 'CVD' muss einen Wert aus der Liste der zulässigen Fahrzeugkategorien enthalten. |
| BR-DE-CVD-05 | XRechnung | CII and UBL | fatal | Wenn innerhalb von ITEM ATTRIBUTES (BG-32) der "Item attribute name" (BT-160) den Wert 'cva' hat, muss der "Item attribute value" (BT-161) einen der zulässigen Werte enthalten. |
| BR-DE-CVD-06-a | XRechnung | CII and UBL | fatal | Wenn der Scheme identifier von "Item classification identifier" (BT-158) mit dem Wert 'CVD' angegeben ist, muss in derselben Rechnungszeile genau ein "Item attribute name" (BT-160) mit dem Wert 'cva' vorhanden sein. |
| BR-DE-CVD-06-b | XRechnung | CII and UBL | fatal | Wenn "Item attribute name" (BT-160) mit dem Wert 'cva' angegeben ist, muss in derselben Rechnungszeile genau ein "Item classification identifier" (BT-158) mit dem Scheme identifier 'CVD' vorhanden sein. |
| BR-DE-TMP-32 | XRechnung | CII and UBL | information | Eine Rechnung sollte zur Angabe des Liefer-/Leistungsdatums entweder BT-72 "Actual delivery date", BG-14 "Invoicing period" oder in jeder Rechnungsposition BG-26 "Invoice line period" enthalten. |
| BR-DEX-01 | XRechnung | CII and UBL | fatal | Das Element "Attached Document" (BT-125) benutzt einen nicht zulässigen MIME-Code: . Im Falle einer Extension darf zusätzlich zu der Liste der mime codes (definiert in Abschnitt 8.2, "Binary Object") der MIME-Code application/xml genutzt werden. |
| BR-DEX-02 | XRechnung | UBL | warning | Der Wert von "Invoice line net amount" (BT-131) einer "INVOICE LINE" (BG-25) oder einer "SUB INVOICE LINE" (BG-DEX-01) soll der Summe der "Invoice line net amount" (BT-131) der direkt darunterliegenden "SUB INVOICE LINE" (BG-DEX-01) entsprechen. |
| BR-DEX-03 | XRechnung | UBL | fatal | Eine Sub Invoice Line (BG-DEX-01) muss genau eine "SUB INVOICE LINE VAT INFORMATION" (BG-DEX-06) enthalten. |
| BR-DEX-04 | XRechnung | CII and UBL | fatal | Any scheme identifier in MUST be coded using one of the ISO 6523 ICD list. |
| BR-DEX-05 | XRechnung | CII and UBL | fatal | Any scheme identifier in MUST be coded using one of the ISO 6523 ICD list. |
| BR-DEX-06 | XRechnung | CII and UBL | fatal | Any scheme identifier in MUST be coded using one of the ISO 6523 ICD list. |
| BR-DEX-07 | XRechnung | CII and UBL | fatal | Any scheme identifier for an Endpoint Identifier in MUST belong to the CEF EAS code list. |
| BR-DEX-08 | XRechnung | CII and UBL | fatal | Any scheme identifier for a Delivery location identifier in MUST be coded using one of the ISO 6523 ICD list. |
| BR-DEX-09 | XRechnung | UBL | fatal | Amount due for payment (BT-115) = Invoice total amount with VAT (BT-112) - Paid amount (BT-113) + Rounding amount (BT-114) + Σ Third party payment amount (BT-DEX-002). |
| BR-DEX-10 | XRechnung | UBL | fatal | Das Element "Third party payment type" BT-DEX-001 muss übermittelt werden, wenn die Gruppe "THIRD PARTY PAYMENT" (BG-DEX-09) übermittelt wird. |
| BR-DEX-11 | XRechnung | UBL | fatal | Das Element "Third party payment amount" BT-DEX-002 muss übermittelt werden, wenn die Gruppe "THIRD PARTY PAYMENT" (BG-DEX-09) übermittelt wird. |
| BR-DEX-12 | XRechnung | UBL | fatal | Das Element "Third party payment description" BT-DEX-003 muss übermittelt werden, wenn die Gruppe "THIRD PARTY PAYMENT" (BG-DEX-09) übermittelt wird. |
| BR-DEX-13 | XRechnung | UBL | fatal | Die maximale Anzahl zulässiger Nachkommastellen für das Element "Third party payment amount" (BT-DEX-002) ist 2. |
| BR-DEX-14 | XRechnung | UBL | fatal | Die Währungsangabe von "Third party payment amount" BT-DEX-002 muss BT-5 ("Invoice currency code") entsprechen. |
| BR-DEX-15 | XRechnung | CII | warning | This CII file might use the concept of Sub Invoice Lines. However XRechnung does not support this. |
| BR-TMP-2 | XRechnung | CII and UBL | fatal | BT-124 "External document location" muss eine absolute URL mit gültigem Schema enthalten. |
| BR-TMP-3 | XRechnung | CII | fatal | Wenn BT-149 (Item price base quantity) sowohl in GrossPriceProductTradePrice als auch in NetPriceProductTradePrice vorhanden ist, müssen die Werte identisch sein. Wenn BT-150 (unit of measure code) auf dem NetPrice-Pfad vorhanden ist, muss es auch auf dem GrossPrice-Pfad vorhanden und identisch sein. |
| BR-TMP-4 | XRechnung | CII | warning | BT-123 "Supporting document description" (ram:Name) darf innerhalb von "Additional supporting documents" (BG-24) höchstens einmal vorkommen. |
| BR-TMP-5 | XRechnung | CII | warning | BT-125 "Attached document" (ram:AttachmentBinaryObject) darf innerhalb von "Additional Supporting documents" (BG-24) höchstens einmal vorkommen. |
| BR-TMP-6 | XRechnung | UBL | warning | Datumsangaben in UBL müssen im Format JJJJ-MM-TT (YYYY-MM-DD) übermittelt werden. |
| BR-TMP-7 | XRechnung | CII | warning | Datumsangaben in UNCEFACT/CII müssen das Attribut format="102" tragen und im Format JJJJMMTT (YYYYMMDD) übermittelt werden. |
| BR-TMP-CVD-01 | XRechnung | CII and UBL | fatal | Das Bildungsschema für "Item classification identifier" (BT-158) ist aus der Codeliste UNTDID 7143 zu wählen. |
| CII-SR-464 | Peppol BIS Billing 3.0 | CII | warning | PayerSpecifiedDebtorFincancialInstitution shall not be used. |
| CII-SR-471 | Peppol BIS Billing 3.0 | CII | fatal | Each Specified Trade Allowance Charge (BG-20)(BG-21) shall contain a VAT category code (BT-95). |
| CII-SR-472 | Peppol BIS Billing 3.0 | CII | fatal | Each Specified Trade Allowance Charge (BG-20)(BG-21) should contain a VAT rate (BT-96). |
| DE-R-001 | Peppol BIS Billing 3.0 | UBL | fatal | If both supplier and customer are located in Germany, an invoice shall contain information on "PAYMENT INSTRUCTIONS" (BG-16). |
| DE-R-002 | Peppol BIS Billing 3.0 | UBL | fatal | If both supplier and customer are located in Germany, the group "SELLER CONTACT" (BG-6) shall be provided. |
| DE-R-003 | Peppol BIS Billing 3.0 | UBL | fatal | If both supplier and customer are located in Germany, the element "Seller city" (BT-37) shall be provided. |
| DE-R-004 | Peppol BIS Billing 3.0 | UBL | fatal | If both supplier and customer are located in Germany, the element "Seller post code" (BT-38) shall be provided. |
| DE-R-005 | Peppol BIS Billing 3.0 | UBL | fatal | If both supplier and customer are located in Germany, the element "Seller contact point" (BT-41) shall be provided. |
| DE-R-006 | Peppol BIS Billing 3.0 | UBL | fatal | If both supplier and customer are located in Germany, the element "Seller contact telephone number" (BT-42) shall be provided. |
| DE-R-007 | Peppol BIS Billing 3.0 | UBL | fatal | If both supplier and customer are located in Germany, the element "Seller contact email address" (BT-43) shall be provided. |
| DE-R-008 | Peppol BIS Billing 3.0 | UBL | fatal | If both supplier and customer are located in Germany, the element "Buyer city" (BT-52) shall be provided. |
| DE-R-009 | Peppol BIS Billing 3.0 | UBL | fatal | If both supplier and customer are located in Germany, the element "Buyer post code" (BT-53) shall be provided. |
| DE-R-010 | Peppol BIS Billing 3.0 | UBL | fatal | If both supplier and customer are located in Germany, the element "Deliver to city" (BT-77) shall be provided if the group "DELIVER TO ADDRESS" (BG-15) is delivered. |
| DE-R-011 | Peppol BIS Billing 3.0 | UBL | fatal | If both supplier and customer are located in Germany, the element "Deliver to post code" (BT-78) shall be provided if the group "DELIVER TO ADDRESS" (BG-15) is delivered. |
| DE-R-014 | Peppol BIS Billing 3.0 | UBL | fatal | If both supplier and customer are located in Germany, the element "VAT category rate" (BT-119) shall be provided. |
| DE-R-015 | Peppol BIS Billing 3.0 | UBL | fatal | If both supplier and customer are located in Germany, the element "Buyer reference" (BT-10) shall be provided. |
| DE-R-016 | Peppol BIS Billing 3.0 | UBL | fatal | If both supplier and customer are located in Germany, and if one of the VAT codes S, Z, E, AE, K, G, L, or M is used, an invoice shall contain at least one of the following elements: "Seller VAT identifier" (BT-31) or "Seller tax registration identifier" (BT-32) or "SELLER TAX REPRESENTATIVE PARTY" (BG-11). |
| DE-R-017 | Peppol BIS Billing 3.0 | UBL | warning | If both supplier and customer are located in Germany, the element "Invoice type code" (BT-3) should only contain the following values from code list UNTDID 1001: 326 (Partial invoice), 380 (Commercial invoice), 384 (Corrected invoice), 389 (Self-billed invoice), 381 (Credit note), 875 (Partial construction invoice), 876 (Partial final construction invoice), 877 (Final construction invoice). |
| DE-R-018 | Peppol BIS Billing 3.0 | UBL | fatal | If both supplier and customer are located in Germany, information on cash discounts for prompt payment (Skonto) shall be provided within the element "Payment terms" BT-20 in the following way: First segment "SKONTO", second segment amount of days ("TAGE=N"), third segment percentage ("PROZENT=N"). Percentage must be separated by dot with two decimal places. In case the base value of the invoiced amount is not provided in BT-115 but as a partial amount, the base value shall be provided as fourth segment "BASISBETRAG=N" as semantic data type amount. Each entry shall start with a #, the segments must be separated by # and a row shall end with a #. A complete statement on cash discount for prompt payment shall end with a XML-conformant line break. All statements on cash discount for prompt payment shall be given in capital letters. Additional whitespaces (blanks, tabulators or line breaks) are not allowed. Other characters or texts than defined above are not allowed. |
| DE-R-019 | Peppol BIS Billing 3.0 | UBL | warning | If both supplier and customer are located in Germany, the element "Payment account identifier" (BT-84) should contain a valid IBAN if code 58 SEPA is provided in "Payment means type code" (BT-81). |
| DE-R-020 | Peppol BIS Billing 3.0 | UBL | warning | If both supplier and customer are located in Germany, the element "Debited account identifier" (BT-91) should contain a valid IBAN if code 59 SEPA is provided in "Payment means type code" (BT-81). |
| DE-R-022 | Peppol BIS Billing 3.0 | UBL | fatal | If both supplier and customer are located in Germany, attached documents provided with an invoice in "ADDITIONAL SUPPORTING DOCUMENTS" (BG-24) shall have a unique filename (non case-sensitive) within the element ″Attached document″ (BT-125). |
| DE-R-023-1 | Peppol BIS Billing 3.0 | UBL | fatal | If both supplier and customer are German, if "Payment means type code" (BT-81) contains a code for credit transfer (30, 58), "CREDIT TRANSFER" (BG-17) shall be provided. |
| DE-R-023-2 | Peppol BIS Billing 3.0 | UBL | fatal | If both supplier and customer are located in Germany, and if "Payment means type code" (BT-81) contains a code for credit transfer (30, 58), BG-18 and BG-19 shall not be provided. |
| DE-R-024-1 | Peppol BIS Billing 3.0 | UBL | fatal | If both supplier and customer are located in Germany, and if "Payment means type code" (BT-81) contains a code for payment card (48, 54, 55), "PAYMENT CARD INFORMATION" (BG-18) shall be provided. |
| DE-R-024-2 | Peppol BIS Billing 3.0 | UBL | fatal | If both supplier and customer are located in Germany, and if "Payment means type code" (BT-81) contains a code for payment card (48, 54, 55), BG-17 and BG-19 shall not be provided. |
| DE-R-025-1 | Peppol BIS Billing 3.0 | UBL | fatal | If both supplier and customer are located in Germany, and if "Payment means type code" (BT-81) contains a code for direct debit (59), "DIRECT DEBIT" (BG-19) shall be provided. |
| DE-R-025-2 | Peppol BIS Billing 3.0 | UBL | fatal | If both supplier and customer are located in Germany, and if "Payment means type code" (BT-81) contains a code for direct debit (59), BG-17 and BG-18 shall not be provided. |
| DE-R-026 | Peppol BIS Billing 3.0 | UBL | warning | If both supplier and customer are located in Germany, and if "Invoice type code" (BT-3) contains the code 384 (Corrected invoice), "PRECEDING INVOICE REFERENCE" (BG-3) should be provided at least once. |
| DE-R-027 | Peppol BIS Billing 3.0 | UBL | warning | If both supplier and customer are located in Germany, "Seller contact telephone number" (BT-42) should contain a valid telephone number. A valid telephone should consist of 3 digits minimum. |
| DE-R-028 | Peppol BIS Billing 3.0 | UBL | warning | If both supplier and customer are located in Germany, "Seller contact email address" (BT-43) should contain exactly one @-sign, which should not be framed by a whitespace or a dot but by at least two characters on each side. A dot should not be the first or last character. |
| DE-R-030 | Peppol BIS Billing 3.0 | UBL | fatal | If both supplier and customer are located in Germany, and if the group "DIRECT DEBIT" (BG-19) is delivered, the element "Bank assigned creditor identifier" (BT-90) shall be provided. |
| DE-R-031 | Peppol BIS Billing 3.0 | UBL | fatal | If both supplier and customer are located in Germany, and if the group "DIRECT DEBIT" (BG-19) is delivered, the element "Debited account identifier" (BT-91) shall be provided. |
| DE-R-T02 | Peppol BIS Billing 3.0 | UBL | warning | If both supplier and customer are located in Germany, BT-124 "External document location" must contain an absolute URL with valid scheme. |
| DK-R-002 | Peppol BIS Billing 3.0 | CII | fatal | Danish suppliers MUST provide legal entity. |
| DK-R-002 | Peppol BIS Billing 3.0 | UBL | fatal | Danish suppliers MUST provide legal entity (CVR-number) |
| DK-R-003 | Peppol BIS Billing 3.0 | CII | warning | If ItemClassification is provided from Danish suppliers, UNSPSC version 19.05.01 or 26.08.01 should be used |
| DK-R-003 | Peppol BIS Billing 3.0 | UBL | fatal | If ItemClassification is provided from Danish suppliers, UNSPSC version 19.05.01 or 26.08.01 should be used. |
| DK-R-004 | Peppol BIS Billing 3.0 | CII and UBL | fatal | When specifying non-VAT Taxes for Danish customers, Danish suppliers MUST use the AllowanceChargeReasonCode="ZZZ" and MUST be specified in AllowanceChargeReason; Either as the 4-digit Tax category or must include a #, but the # is not allowed as first and last character |
| DK-R-005 | Peppol BIS Billing 3.0 | CII | fatal | For Danish suppliers the following Payment means type codes are allowed: 1, 10, 31, 42, 48, 49, 50, 58, 59, 93 and 97 |
| DK-R-005 | Peppol BIS Billing 3.0 | UBL | fatal | For Danish suppliers the following Payment means codes are allowed: 1, 10, 31, 42, 48, 49, 50, 58, 59, 93 and 97 |
| DK-R-006 | Peppol BIS Billing 3.0 | CII | fatal | For Danish suppliers, bank account and registration account are mandatory if payment means is 31 or 42 |
| DK-R-006 | Peppol BIS Billing 3.0 | UBL | fatal | For Danish suppliers bank account and registration account is mandatory if payment means is 31 or 42 |
| DK-R-007 | Peppol BIS Billing 3.0 | CII | fatal | For Danish suppliers DirectDebitMandateID and CreditorReferenceID are mandatory when payment means is 49 |
| DK-R-007 | Peppol BIS Billing 3.0 | UBL | fatal | For Danish suppliers PaymentMandate/ID and PayerFinancialAccount/ID are mandatory when payment means is 49 |
| DK-R-008 | Peppol BIS Billing 3.0 | CII | fatal | For Danish Suppliers PaymentReference is mandatory and MUST start with 01#, 04# or 15# (kortartkode), and PayeePartyCreditorFinancialAccount/IBANID (Giro kontonummer) is mandatory and must be 7 characters long, when payment means equals 50 (Giro) |
| DK-R-008 | Peppol BIS Billing 3.0 | UBL | fatal | For Danish Suppliers PaymentID is mandatory and MUST start with 01#, 04# or 15# (kortartkode), and PayeeFinancialAccount/ID (Giro kontonummer) is mandatory and must be 7 or 8 numerical characters long, when payment means equals 50 (Giro) |
| DK-R-009 | Peppol BIS Billing 3.0 | CII | fatal | For Danish Suppliers if the PaymentReference is prefixed with 04# or 015# the 16 digits instruction Id must be added to the PaymentReference eg. "04#1234567890123456" when Payment means equals 50 (Giro) |
| DK-R-009 | Peppol BIS Billing 3.0 | UBL | fatal | For Danish Suppliers if the PaymentID is prefixed with 04# or 15# the 16 digits instruction Id must be added to the PaymentID eg. "04#1234567890123456" when Payment means equals 50 (Giro) |
| DK-R-010 | Peppol BIS Billing 3.0 | CII and UBL | fatal | For Danish Suppliers using PaymentMeansCode 93, PaymentID is mandatory. The first three characters of the PaymentID MUST be 71#, 73# or 75# (kortartskode), and PayeeFinancialAccount/ID MUST be exactly 8 characters long. |
| DK-R-011 | Peppol BIS Billing 3.0 | CII | fatal | For Danish Suppliers if the PaymentReference is prefixed with 71# or 75# the 15-16 digits instruction Id must be added to the PaymentReference eg. "71#1234567890123456" when payment Method equals 93 (FIK) |
| DK-R-011 | Peppol BIS Billing 3.0 | UBL | fatal | For Danish Suppliers if the PaymentID is prefixed with 71# or 75# the 15-16 digits instruction Id must be added to the PaymentID eg. "71#1234567890123456" when payment Method equals 93 (FIK) |
| DK-R-013 | Peppol BIS Billing 3.0 | CII | fatal | For Danish Suppliers it is mandatory to use schemeID when GlobalID is used for SellerTradeParty or BuyerTradeParty |
| DK-R-013 | Peppol BIS Billing 3.0 | UBL | fatal | For Danish Suppliers it is mandatory to use schemeID when PartyIdentification/ID is used for AccountingCustomerParty or AccountingSupplierParty |
| DK-R-014 | Peppol BIS Billing 3.0 | CII | fatal | For Danish Suppliers it is mandatory to specify schemeID as "0184" when SpecifiedLegalOrganization is used for SellerTradeParty |
| DK-R-014 | Peppol BIS Billing 3.0 | UBL | fatal | For Danish Suppliers it is mandatory to specify schemeID as "0184" (DK CVR-number) when PartyLegalEntity/CompanyID is used for AccountingSupplierParty |
| DK-R-016 | Peppol BIS Billing 3.0 | CII | fatal | For Danish Suppliers, a Credit note cannot have a negative total (DuePayableAmount) |
| DK-R-016 | Peppol BIS Billing 3.0 | UBL | fatal | For Danish Suppliers, a Credit note cannot have a negative total (PayableAmount) |
| DK-R-017 | Peppol BIS Billing 3.0 | UBL | fatal | For Danish Customers it is mandatory to specify schemeID as "0184" (DK CVR-number) when PartyLegalEntity/CompanyID is used for AccountingCustomerParty |
| GR-R-001-1 | Peppol BIS Billing 3.0 | UBL | fatal | When the Supplier is Greek, the Invoice Id should consist of 6 segments |
| GR-R-001-2 | Peppol BIS Billing 3.0 | UBL | fatal | When the Supplier is Greek, the Invoice Id first segment must be a valid TIN Number and match either the Supplier's or the Tax Representative's Tin Number |
| GR-R-001-3 | Peppol BIS Billing 3.0 | UBL | fatal | When the Supplier is Greek, the Invoice Id second segment must be a valid Date that matches the invoice Issue Date |
| GR-R-001-4 | Peppol BIS Billing 3.0 | UBL | fatal | When Supplier is Greek, the Invoice Id third segment must be a positive integer |
| GR-R-001-5 | Peppol BIS Billing 3.0 | UBL | fatal | When Supplier is Greek, the Invoice Id in the fourth segment must be a valid greek document type |
| GR-R-001-6 | Peppol BIS Billing 3.0 | UBL | fatal | When Supplier is Greek, the Invoice Id fifth segment must not be empty |
| GR-R-001-7 | Peppol BIS Billing 3.0 | UBL | fatal | When Supplier is Greek, the Invoice Id sixth segment must not be empty |
| GR-R-002 | Peppol BIS Billing 3.0 | UBL | fatal | Greek Suppliers must provide their full name as they are registered in the Greek Business Registry (G.E.MH.) as a legal entity or in the Tax Registry as a natural person |
| GR-R-003 | Peppol BIS Billing 3.0 | UBL | fatal | For the Greek Suppliers, the VAT must start with 'EL' and must be a valid TIN number |
| GR-R-004-1 | Peppol BIS Billing 3.0 | UBL | fatal | When Supplier is Greek, there must be one MARK Number |
| GR-R-004-2 | Peppol BIS Billing 3.0 | UBL | fatal | When Supplier is Greek, the MARK Number must be a positive integer |
| GR-R-005 | Peppol BIS Billing 3.0 | UBL | fatal | Greek Suppliers must provide the full name of the buyer |
| GR-R-006 | Peppol BIS Billing 3.0 | UBL | fatal | Greek Suppliers must provide the VAT number of the buyer, if the buyer is Greek |
| GR-R-008-2 | Peppol BIS Billing 3.0 | UBL | fatal | When Supplier is Greek, there should be no more than one invoice url |
| GR-R-008-3 | Peppol BIS Billing 3.0 | UBL | fatal | When Supplier is Greek and the INVOICE URL Document reference exists, the External Reference URI should be present |
| GR-R-009 | Peppol BIS Billing 3.0 | UBL | fatal | Greek suppliers that send an invoice through the PEPPOL network must use a correct TIN number as an electronic address according to PEPPOL Electronic Address Identifier scheme (schemeID 9933). |
| GR-R-010 | Peppol BIS Billing 3.0 | UBL | fatal | Greek Suppliers that send an invoice through the PEPPOL network to a greek buyer must use a correct TIN number as an electronic address according to PEPPOL Electronic Address Identifier scheme (SchemeID 9933) |
| GR-S-008-1 | Peppol BIS Billing 3.0 | UBL | warning | When Supplier is Greek, there should be one invoice url |
| GR-S-011 | Peppol BIS Billing 3.0 | UBL | warning | Greek suppliers must provide their Seller Tax Registration Number, prefixed by the country code |
| IS-R-001 | Peppol BIS Billing 3.0 | UBL | warning | If seller is icelandic then invoice type should be 380 or 381 — Ef seljandi er íslenskur þá ætti gerð reiknings (BT-3) að vera sölureikningur (380) eða kreditreikningur (381). |
| IS-R-002 | Peppol BIS Billing 3.0 | UBL | fatal | If seller is icelandic then it shall contain sellers legal id — Ef seljandi er íslenskur þá skal reikningur innihalda íslenska kennitölu seljanda (BT-30). |
| IS-R-003 | Peppol BIS Billing 3.0 | UBL | fatal | If seller is icelandic then it shall contain his address with street name and zip code — Ef seljandi er íslenskur þá skal heimilisfang seljanda innihalda götuheiti og póstnúmer (BT-35 og BT-38). |
| IS-R-004 | Peppol BIS Billing 3.0 | UBL | fatal | If seller and buyer are icelandic then the invoice shall contain the buyers icelandic legal identifier — Ef seljandi og kaupandi eru íslenskir þá skal reikningurinn innihalda íslenska kennitölu kaupanda (BT-47). |
| IS-R-005 | Peppol BIS Billing 3.0 | UBL | fatal | If seller and buyer are icelandic then the invoice shall contain the buyers address with street name and zip code — Ef seljandi og kaupandi eru íslenskir þá skal heimilisfang kaupanda innihalda götuheiti og póstnúmer (BT-50 og BT-53) |
| IS-R-006 | Peppol BIS Billing 3.0 | UBL | fatal | If seller is icelandic and payment means code is 9 then a 12 digit account id must exist — Ef seljandi er íslenskur og greiðslumáti (BT-81) er krafa (kóti 9) þá skal koma fram 12 stafa númer (bankanúmer, höfuðbók 66 og reikningsnúmer) (BT-84) |
| IS-R-007 | Peppol BIS Billing 3.0 | UBL | fatal | If seller is icelandic and payment means code is 42 then a 12 digit account id must exist — Ef seljandi er íslenskur og greiðslumáti (BT-81) er millifærsla (kóti 42) þá skal koma fram 12 stafa reikningnúmer (BT-84) |
| IS-R-008 | Peppol BIS Billing 3.0 | UBL | fatal | If seller is icelandic and invoice contains supporting description EINDAGI then the id form must be YYYY-MM-DD — Ef seljandi er íslenskur þá skal eindagi (BT-122, DocumentDescription = EINDAGI) vera á forminu YYYY-MM-DD. |
| IS-R-009 | Peppol BIS Billing 3.0 | UBL | fatal | If seller is icelandic and invoice contains supporting description EINDAGI invoice must have due date — Ef seljandi er íslenskur þá skal reikningur sem inniheldur eindaga (BT-122, DocumentDescription = EINDAGI) einnig hafa gjalddaga (BT-9). |
| IS-R-010 | Peppol BIS Billing 3.0 | UBL | fatal | If seller is icelandic and invoice contains supporting description EINDAGI the id date must be same or later than due date — Ef seljandi er íslenskur þá skal eindagi (BT-122, DocumentDescription = EINDAGI) skal vera sami eða síðar en gjalddagi (BT-9) ef eindagi er til staðar. |
| IT-R-001 | Peppol BIS Billing 3.0 | CII and UBL | fatal | BT-32 (Seller tax registration identifier) - For Italian suppliers BT-32 minimum length 11 and maximum length shall be 16. Per i fornitori italiani il BT-32 deve avere una lunghezza tra 11 e 16 caratteri |
| IT-R-002 | Peppol BIS Billing 3.0 | CII and UBL | fatal | BT-35 (Seller address line 1) - Italian suppliers MUST provide the postal address line 1 - I fornitori italiani devono indicare l'indirizzo postale. |
| IT-R-003 | Peppol BIS Billing 3.0 | CII and UBL | fatal | BT-37 (Seller city) - Italian suppliers MUST provide the postal address city - I fornitori italiani devono indicare la città di residenza. |
| IT-R-004 | Peppol BIS Billing 3.0 | CII and UBL | fatal | BT-38 (Seller post code) - Italian suppliers MUST provide the postal address post code - I fornitori italiani devono indicare il CAP di residenza. |
| NL-R-001 | Peppol BIS Billing 3.0 | CII | fatal | For suppliers in the Netherlands, if the document is a creditnote, the document MUST contain an invoice reference (ram:ApplicableHeaderTradeSettlement/ram:InvoiceReferencedDocument/ram:IssuerAssignedID) |
| NL-R-001 | Peppol BIS Billing 3.0 | UBL | fatal | For suppliers in the Netherlands, if the document is a creditnote, the document MUST contain an invoice reference (cac:BillingReference/cac:InvoiceDocumentReference/cbc:ID) |
| NL-R-002 | Peppol BIS Billing 3.0 | CII | fatal | For suppliers in the Netherlands the supplier's address (ram:SellerTradeParty/ram:PostalTradeAddress) MUST contain street name (ram:LineOne), city (ram:CityName) and post code (ram:PostcodeCode) |
| NL-R-002 | Peppol BIS Billing 3.0 | UBL | fatal | For suppliers in the Netherlands the supplier's address (cac:AccountingSupplierParty/cac:Party/cac:PostalAddress) MUST contain street name (cbc:StreetName), city (cbc:CityName) and post code (cbc:PostalZone) |
| NL-R-003 | Peppol BIS Billing 3.0 | CII and UBL | fatal | For suppliers in the Netherlands, the legal entity identifier MUST be either a KVK or OIN number (schemeID 0106 or 0190) |
| NL-R-004 | Peppol BIS Billing 3.0 | CII | fatal | For suppliers in the Netherlands, if the customer is in the Netherlands, the customer address (ram:BuyerTradeParty/ram:PostalTradeAddress) MUST contain street name (ram:LineOne), city (ram:CityName) and post code (ram:PostcodeCode) |
| NL-R-004 | Peppol BIS Billing 3.0 | UBL | fatal | For suppliers in the Netherlands, if the customer is in the Netherlands, the customer address (cac:AccountingCustomerParty/cac:Party/cac:PostalAddress) MUST contain the street name (cbc:StreetName), the city (cbc:CityName) and post code (cbc:PostalZone) |
| NL-R-005 | Peppol BIS Billing 3.0 | CII and UBL | fatal | For suppliers in the Netherlands, if the customer is in the Netherlands, the customer's legal entity identifier MUST be either a KVK or OIN number (schemeID 0106 or 0190) |
| NL-R-006 | Peppol BIS Billing 3.0 | CII | fatal | For suppliers in the Netherlands, if the fiscal representative is in the Netherlands, the representative's address (ram:SellerTaxRepresentativeTradeParty/ram:PostalTradeAddress) MUST contain street name (ram:LineOne), city (ram:CityName) and post code (ram:PostcodeCode) |
| NL-R-006 | Peppol BIS Billing 3.0 | UBL | fatal | For suppliers in the Netherlands, if the fiscal representative is in the Netherlands, the representative's address (cac:TaxRepresentativeParty/cac:PostalAddress) MUST contain street name (cbc:StreetName), city (cbc:CityName) and post code (cbc:PostalZone) |
| NL-R-007 | Peppol BIS Billing 3.0 | CII | fatal | For suppliers in the Netherlands, the supplier MUST provide a means of payment (ram:SpecifiedTradeSettlementPaymentMeans) if the payment is from customer to supplier |
| NL-R-007 | Peppol BIS Billing 3.0 | UBL | fatal | For suppliers in the Netherlands, the supplier MUST provide a means of payment (cac:PaymentMeans) if the payment is from customer to supplier |
| NL-R-008 | Peppol BIS Billing 3.0 | CII | fatal | For suppliers in the Netherlands, if the customer is in the Netherlands, the payment means code (ram:SpecifiedTradeSettlementPaymentMeans/ram:TypeCode) MUST be one of 30, 48, 49, 57, 58 or 59 |
| NL-R-008 | Peppol BIS Billing 3.0 | UBL | fatal | For suppliers in the Netherlands, if the customer is in the Netherlands, the payment means code (cac:PaymentMeans/cbc:PaymentMeansCode) MUST be one of 30, 48, 49, 57, 58 or 59 |
| NL-R-009 | Peppol BIS Billing 3.0 | CII | fatal | For suppliers in the Netherlands, if an order line reference (ram:BuyerOrderReferencedDocument/ram:LineID) is used, there must be an order reference on the document level (rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ram:BuyerOrderReferencedDocument/ram:IssuerAssignedID) |
| NL-R-009 | Peppol BIS Billing 3.0 | UBL | fatal | For suppliers in the Netherlands, if an order line reference (cac:OrderLineReference/cbc:LineID) is used, there must be an order reference on the document level (cac:OrderReference/cbc:ID) |
| NO-R-001 | Peppol BIS Billing 3.0 | CII and UBL | fatal | For Norwegian suppliers, a VAT number MUST be the country code prefix NO followed by a valid Norwegian organization number (nine numbers) followed by the letters MVA. |
| NO-R-002 | Peppol BIS Billing 3.0 | CII | warning | Most invoice issuers are required to append "Foretaksregisteret" to their invoice. "Dersom selger er aksjeselskap, allmennaksjeselskap eller filial av utenlandsk selskap skal også ordet «Foretaksregisteret» fremgå av salgsdokumentet, jf. foretaksregisterloven § 10-2." |
| NO-R-002 | Peppol BIS Billing 3.0 | UBL | warning | For Norwegian suppliers, most invoice issuers are required to append "Foretaksregisteret" to their invoice. "Dersom selger er aksjeselskap, allmennaksjeselskap eller filial av utenlandsk selskap skal også ordet «Foretaksregisteret» fremgå av salgsdokumentet, jf. foretaksregisterloven § 10-2." |
| PEPPOL-COMMON-R040 | Peppol BIS Billing 3.0 | CII and UBL | fatal | GLN must have a valid format according to GS1 rules. |
| PEPPOL-COMMON-R041 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Norwegian organization number MUST be stated in the correct format. |
| PEPPOL-COMMON-R042 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Danish organization number (CVR) MUST be stated in the correct format. |
| PEPPOL-COMMON-R043 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Belgian enterprise number MUST be stated in the correct format. |
| PEPPOL-COMMON-R044 | Peppol BIS Billing 3.0 | CII and UBL | warning | IPA Code (Codice Univoco Unità Organizzativa) must be stated in the correct format |
| PEPPOL-COMMON-R045 | Peppol BIS Billing 3.0 | CII and UBL | warning | Tax Code (Codice Fiscale) must be stated in the correct format |
| PEPPOL-COMMON-R046 | Peppol BIS Billing 3.0 | CII and UBL | warning | Tax Code (Codice Fiscale) must be stated in the correct format |
| PEPPOL-COMMON-R047 | Peppol BIS Billing 3.0 | CII and UBL | warning | Italian VAT Code (Partita Iva) must be stated in the correct format |
| PEPPOL-COMMON-R049 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Swedish organization number MUST be stated in the correct format. |
| PEPPOL-COMMON-R050 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Australian Business Number (ABN) MUST be stated in the correct format. |
| PEPPOL-COMMON-R052 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Danish chamber of commerce number (P) MUST be stated in the correct format. |
| PEPPOL-COMMON-R053 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Danish ERSTORG number (SE) MUST be stated in the correct format. |
| PEPPOL-COMMON-R054 | Peppol BIS Billing 3.0 | CII and UBL | warning | Dutch Chamber of Commerce (KVK) numbers (0106) MUST be stated in the correct format (12345678). |
| PEPPOL-COMMON-R055 | Peppol BIS Billing 3.0 | CII and UBL | warning | Dutch organization identification numbers (0190) MUST be stated in the correct format (12345678901234567890). |
| PEPPOL-COMMON-R056-1 | Peppol BIS Billing 3.0 | CII and UBL | warning | Dutch VAT numbers (9944) MUST be stated in the correct format (NL123456789B12). |
| PEPPOL-COMMON-R056-2 | Peppol BIS Billing 3.0 | CII and UBL | warning | Dutch VAT numbers MUST have the format (NL123456789B12). |
| PEPPOL-COMMON-R057 | Peppol BIS Billing 3.0 | CII and UBL | warning | Dutch Chamber of Commerce Establishment numbers (0217) MUST be stated in the correct format (123456789012). |
| PEPPOL-EN16931-CL001 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Mime code must be according to subset of IANA code list. |
| PEPPOL-EN16931-CL002 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Reason code MUST be according to subset of UNCL 5189 D.16B. |
| PEPPOL-EN16931-CL003 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Reason code MUST be according to UNCL 7161 D.16B. |
| PEPPOL-EN16931-CL006 | Peppol BIS Billing 3.0 | UBL | fatal | Invoice period description code must be according to UNCL 2005 D.16B. |
| PEPPOL-EN16931-CL007 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Currency code must be according to ISO 4217:2005 |
| PEPPOL-EN16931-CL008 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Electronic address identifier scheme must be from the codelist "Electronic Address Identifier Scheme" |
| PEPPOL-EN16931-F001 | Peppol BIS Billing 3.0 | CII | fatal | A date MUST be formatted YYYYMMDD. |
| PEPPOL-EN16931-F001 | Peppol BIS Billing 3.0 | UBL | fatal | A date MUST be formatted YYYY-MM-DD. |
| PEPPOL-EN16931-P0100 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Invoice type code MUST be set according to the profile. |
| PEPPOL-EN16931-P0101 | Peppol BIS Billing 3.0 | UBL | fatal | Credit note type code MUST be set according to the profile. |
| PEPPOL-EN16931-P0104 | Peppol BIS Billing 3.0 | UBL | fatal | Tax Category G MUST be used when exemption reason code is VATEX-EU-G |
| PEPPOL-EN16931-P0105 | Peppol BIS Billing 3.0 | UBL | fatal | Tax Category O MUST be used when exemption reason code is VATEX-EU-O |
| PEPPOL-EN16931-P0106 | Peppol BIS Billing 3.0 | UBL | fatal | Tax Category K MUST be used when exemption reason code is VATEX-EU-IC |
| PEPPOL-EN16931-P0107 | Peppol BIS Billing 3.0 | UBL | fatal | Tax Category AE MUST be used when exemption reason code is VATEX-EU-AE |
| PEPPOL-EN16931-P0108 | Peppol BIS Billing 3.0 | UBL | fatal | Tax Category E MUST be used when exemption reason code is VATEX-EU-D |
| PEPPOL-EN16931-P0109 | Peppol BIS Billing 3.0 | UBL | fatal | Tax Category E MUST be used when exemption reason code is VATEX-EU-F |
| PEPPOL-EN16931-P0110 | Peppol BIS Billing 3.0 | UBL | fatal | Tax Category E MUST be used when exemption reason code is VATEX-EU-I |
| PEPPOL-EN16931-P0111 | Peppol BIS Billing 3.0 | UBL | fatal | Tax Category E MUST be used when exemption reason code is VATEX-EU-J |
| PEPPOL-EN16931-P0112 | Peppol BIS Billing 3.0 | UBL | fatal | Invoice type codes 326 and 389 are only allowed when both buyer and seller are German organizations. Invoice type code 384 is only allowed when both buyer and seller are German organizations or both are Slovak organizations. |
| PEPPOL-EN16931-R001 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Business process MUST be provided. |
| PEPPOL-EN16931-R002 | Peppol BIS Billing 3.0 | CII | fatal | No more than one note is allowed on document level. |
| PEPPOL-EN16931-R002 | Peppol BIS Billing 3.0 | UBL | fatal | No more than one note is allowed on document level, unless both the buyer and seller are German organizations. |
| PEPPOL-EN16931-R003 | Peppol BIS Billing 3.0 | CII and UBL | fatal | A buyer reference or purchase order reference MUST be provided. |
| PEPPOL-EN16931-R004 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Specification identifier MUST begin with the value 'urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0' and follow the format rules for the identifier. |
| PEPPOL-EN16931-R005 | Peppol BIS Billing 3.0 | CII and UBL | fatal | VAT accounting currency code MUST be different from invoice currency code when provided. |
| PEPPOL-EN16931-R006 | Peppol BIS Billing 3.0 | CII | fatal | Only one invoiced object is allowed on document level |
| PEPPOL-EN16931-R007 | Peppol BIS Billing 3.0 | CII | fatal | Business process MUST have an approved profile identifier. |
| PEPPOL-EN16931-R007 | Peppol BIS Billing 3.0 | UBL | fatal | Business process MUST have an approved identifier. |
| PEPPOL-EN16931-R008 | Peppol BIS Billing 3.0 | UBL | fatal | Document MUST not contain empty elements. |
| PEPPOL-EN16931-R010 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Buyer electronic address MUST be provided |
| PEPPOL-EN16931-R020 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Seller electronic address MUST be provided |
| PEPPOL-EN16931-R040 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Allowance/charge amount must equal base amount * percentage/100 if base amount and percentage exists |
| PEPPOL-EN16931-R041 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Allowance/charge base amount MUST be provided when allowance/charge percentage is provided. |
| PEPPOL-EN16931-R042 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Allowance/charge percentage MUST be provided when allowance/charge base amount is provided. |
| PEPPOL-EN16931-R043 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Allowance/charge ChargeIndicator value MUST equal 'true' or 'false' |
| PEPPOL-EN16931-R044 | Peppol BIS Billing 3.0 | UBL | fatal | Charge on price level is NOT allowed. Only value 'false' allowed. |
| PEPPOL-EN16931-R046 | Peppol BIS Billing 3.0 | UBL | fatal | Item net price MUST equal (Gross price - Allowance amount) when gross price is provided. |
| PEPPOL-EN16931-R051 | Peppol BIS Billing 3.0 | UBL | fatal | All currencyID attributes must have the same value as the invoice currency code (BT-5), except for the invoice total VAT amount in accounting currency (BT-111). |
| PEPPOL-EN16931-R053 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Only one tax total with tax subtotals MUST be provided. |
| PEPPOL-EN16931-R054 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Only one tax total without tax subtotals MUST be provided when tax currency code is provided. |
| PEPPOL-EN16931-R055 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Invoice total VAT amount and Invoice total VAT amount in accounting currency MUST have the same operational sign |
| PEPPOL-EN16931-R061 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Mandate reference MUST be provided for direct debit. |
| PEPPOL-EN16931-R080 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Only one project reference is allowed on document level |
| PEPPOL-EN16931-R100 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Only one invoiced object is allowed pr line |
| PEPPOL-EN16931-R101 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Element Document reference can only be used for Invoice line object |
| PEPPOL-EN16931-R110 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Start date of line period MUST be within invoice period. |
| PEPPOL-EN16931-R111 | Peppol BIS Billing 3.0 | CII and UBL | fatal | End date of line period MUST be within invoice period. |
| PEPPOL-EN16931-R120 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Invoice line net amount MUST equal (Invoiced quantity * (Item net price/item price base quantity) + Sum of invoice line charge amount - sum of invoice line allowance amount |
| PEPPOL-EN16931-R121 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Base quantity MUST be a positive number above zero. |
| PEPPOL-EN16931-R130 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Unit code of price base quantity MUST be same as invoiced quantity. |
| SE-R-001 | Peppol BIS Billing 3.0 | CII and UBL | fatal | For Swedish suppliers, Swedish VAT-numbers must consist of 14 characters. |
| SE-R-002 | Peppol BIS Billing 3.0 | CII and UBL | fatal | For Swedish suppliers, the Swedish VAT-numbers must have the trailing 12 characters in numeric form |
| SE-R-003 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Swedish organisation numbers should be numeric. |
| SE-R-004 | Peppol BIS Billing 3.0 | CII and UBL | fatal | Swedish organisation numbers consist of 10 characters. |
| SE-R-005 | Peppol BIS Billing 3.0 | CII and UBL | fatal | For Swedish suppliers, when using Seller tax registration identifier, 'Godkänd för F-skatt' must be stated |
| SE-R-006 | Peppol BIS Billing 3.0 | CII and UBL | fatal | For Swedish suppliers, only standard VAT rate of 6, 12 or 25 are used |
| SE-R-007 | Peppol BIS Billing 3.0 | CII and UBL | warning | For Swedish suppliers using Plusgiro, the Account ID must be numeric |
| SE-R-008 | Peppol BIS Billing 3.0 | CII and UBL | warning | For Swedish suppliers using Bankgiro, the Account ID must be numeric |
| SE-R-009 | Peppol BIS Billing 3.0 | CII and UBL | warning | For Swedish suppliers using Bankgiro, the Account ID must have 7-8 characters |
| SE-R-010 | Peppol BIS Billing 3.0 | CII and UBL | warning | For Swedish suppliers using Plusgiro, the Account ID must have 2-8 characters |
| SE-R-011 | Peppol BIS Billing 3.0 | CII and UBL | warning | For Swedish suppliers using Swedish Bankgiro or Plusgiro, the proper way to indicate this is to use Code 30 for PaymentMeans and FinancialInstitutionBranch ID with code SE:BANKGIRO or SE:PLUSGIRO |
| SE-R-012 | Peppol BIS Billing 3.0 | CII | warning | For domestic transactions between Swedish trading partners, credit transfer should be indicated by PaymentMeansCode=”30” |
| SE-R-012 | Peppol BIS Billing 3.0 | UBL | warning | For domestic transactions between Swedish trading partners, credit transfer should be indicated by PaymentMeansCode="30" |
| SE-R-013 | Peppol BIS Billing 3.0 | CII and UBL | fatal | The last digit of a Swedish organization number must be valid according to the Luhn algorithm. |
| UBL-CR-674 | Peppol BIS Billing 3.0 | UBL | warning | A UBL invoice should not include the PrimaryAccountNumber schemeID |
Nothing matches everything in the box. The search needs every word to appear somewhere in a row, so try dropping one.
How to read the difference
A CIUS (Customisation of the European Invoice Standard) is a
national tightening of the norm: Germany’s XRechnung keeps every EN 16931 rule
and adds its own — the BR-DE-* family, plus
BR-DEX-*, BR-DE-CVD-* and the
BR-TMP-* checks that arrive with XRechnung 3.0. It cannot relax
anything, because a CIUS is allowed only to add.
A profile such as Peppol BIS Billing 3.0 is a published bundle:
its own copy of the norm’s artefacts, plus network rules
(BR-AF-*, BR-AG-*, PEPPOL-EN-*,
PEPPOL-COMMON-R-*) and the country rule sets the network ships
(DE-R, DK-R, SE-R, NL-R,
IT-R, NO-R, GR-R, IS-R and
friends). That is why its totals move for two different reasons: it genuinely adds
rules, and it carries a slightly older copy of the norm — Peppol
BIS 3.0.21 ships EN 16931 Schematron 1.3.16 while the artefacts this
engine loads for the plain norm are 1.3.17. Reading “Peppol has more rules” as
“Peppol is stricter” misses half of it.
Severity comes from the artefacts, not from our preference: fatal is a shall, warning is a should, and EN 16931 itself does not reject a document on a warning. Peppol and most national gateways do promote warnings to failures, so if the invoice is going through an access point, fix both.
Get the same numbers in a terminal
These are not screenshots of a database. The command that answers the question is the one the library enforces:
einv artefacts -json -cius xrechnung
einv rules -json -syntax ubl -cius xrechnung | wc -l
einv validate -cius xrechnung invoice.xml
einv validate -profile peppol invoice.xml
einv is a static binary with the rule sets embedded — no Java, no
Saxon, no rule files to install beside it. It is the same engine the pages on this
site run in your browser and the hosted API runs behind a key: see the
command-line and library page and the
API & licences page.
The data behind the page
These figures get wrong when someone retypes them into a tender response, a procurement policy or a support ticket. Both files this page is generated from are published beside it, so the numbers can be cited instead of copied:
-
rule-sets.csv — one row per added
assertion, 408 rows under
rule_set,rule_set_version,syntax,rule_id,severity,added_over,phase,message,engine. The wording is the artefact’s own, quoted the RFC 4180 way, so commas and quotation marks survive an import into a spreadsheet. - rule-sets.json — the same comparison in the shape the page builder reads: the counts in the tables above, for all 3 rule sets and both grammars, with every added assertion listed in full.
Both files are rebuilt from the engine the site pins, and the build stops if the tracked file was counted from a different version than the one it ships with — so a stale number here is a failed build rather than an out-of-date paragraph. The version they were counted under is v0.2.9.
The assertions are other people’s publications: the norm’s Schematron artefacts from the Connecting Europe Facility (EUPL 1.2), XRechnung’s from KoSIT (Apache 2.0), Peppol BIS’s from OpenPEPPOL. What is published here is the counting; the sources and licences are spelled out in the engine repository’s NOTICE.md. If you republish the wording, keep that attribution with it.
Frequently asked
How many business rules does XRechnung have?
XRechnung 3.0.2 (CIUS 2.6.0) runs 862 assertions against CII and 1,038 against
UBL. Of those, 810 and 982 are EN 16931 itself; the German mandate adds 52 and 56
more — the BR-DE-*, BR-DEX-*, BR-DE-CVD-* and
BR-TMP-* families. Numbers quoted elsewhere usually count rule ids
rather than assertions, or quote one syntax only.
Is Peppol BIS stricter than EN 16931?
It is wider, and it is harsher about the same rules. Peppol BIS Billing 3.0.21 runs 897 CII and 1,144 UBL assertions: 114 and 186 more than the plain norm, mostly its own network and country rules. It also ships its own copy of the norm’s artefacts at Schematron 1.3.16, so a few of those differences are version drift rather than new requirements. And a Peppol access point treats warnings as failures, which the norm does not.
Which one should I validate against?
Whatever your buyer runs. Sending a German public-sector invoice means XRechnung;
sending through the Peppol network means Peppol BIS; a French Factur-X invoice is
checked against the norm plus its profile. Validate under the rule set you are being
judged by — the validator on this site takes EN 16931 only,
XRechnung or Peppol BIS, and the CLI and API take the same
options.
Are these every rule my buyer will check?
No. This is the norm plus the two rule sets the engine embeds. A big buyer or a different country’s CIUS can add more on top, and some add rules no published artefact contains at all. Anything the engine can load, it enforces and lists; what it cannot load, it will not pretend to check.
Can I quote these numbers?
Yes — take them from the file rather than from the prose. The CSV and JSON above are what the page is built from, and each row carries the rule-set version and the engine version it was counted under, so a figure can be pinned to a release. The rule texts themselves are the European Commission’s, KoSIT’s and OpenPEPPOL’s under the licences named in the footer, so keep that attribution if you republish the wording, and say which engine release your counts came from, because they move.
Why do you publish counts at all — they change with every release?
Precisely because they change. Every number and every row on this page is generated at build time from the artefacts the pinned engine loads, so a page that gets stale is a build that failed rather than a paragraph nobody remembered to edit. The footer names the engine version these numbers belong to.