KoSIT XRechnung 3.0 rules (UBL)
The German CIUS of EN 16931 for UBL: BR-DE-* rules, extension rules (BR-DEX-*) and transition rules (BR-TMP-*).
- Publisher
- KoSIT
- Version
- 3.0.2 (schematron 2.6.0)
- Syntax
- UBL
- Rules
- 77 rules (66 fatal, 10 warning, 1 information)
- The KoSIT schematron also contains a subset of the Peppol rules (PEPPOL-EN16931-R*). The full Peppol BIS rule set does not run on an XRechnung.
- KoSIT publishes most messages in German. They are shown as published.
Schemas
This rule set runs on:
- XRechnung 3.0 (UBL)
OASIS UBL 2.1 · EN 16931 (UBL) + KoSIT XRechnung 3.0 rules (UBL)
Rules
Rule ID, the flag in the schematron and the message. Rules with a fix guide link to it. A … in a message is a value from the invoice.
BR-DE-* 31 rules
- BR-DE-1fatal
Eine Rechnung (INVOICE) muss Angaben zu "PAYMENT INSTRUCTIONS" (BG-16) enthalten.
- BR-DE-2fatal
Die Gruppe "SELLER CONTACT" (BG-6) muss übermittelt werden.
- BR-DE-3fatal
Das Element "Seller city" (BT-37) muss übermittelt werden.
- BR-DE-4fatal
Das Element "Seller post code" (BT-38) muss übermittelt werden.
- BR-DE-5fatal
Das Element "Seller contact point" (BT-41) muss übermittelt werden.
- BR-DE-6fatal
Das Element "Seller contact telephone number" (BT-42) muss übermittelt werden.
- BR-DE-7fatal
Das Element "Seller contact email address" (BT-43) muss übermittelt werden.
- BR-DE-8fatal
Das Element "Buyer city" (BT-52) muss übermittelt werden.
- BR-DE-9fatal
Das Element "Buyer post code" (BT-53) muss übermittelt werden.
- BR-DE-10fatal
Das Element "Deliver to city" (BT-77) muss übermittelt werden, wenn die Gruppe "DELIVER TO ADDRESS" (BG-15) übermittelt wird.
- BR-DE-11fatal
Das Element "Deliver to post code" (BT-78) muss übermittelt werden, wenn die Gruppe "DELIVER TO ADDRESS" (BG-15) übermittelt wird.
- BR-DE-14fatal
Das Element "VAT category rate" (BT-119) muss übermittelt werden.
- BR-DE-15fatal
Das Element "Buyer reference" (BT-10) muss übermittelt werden.
- BR-DE-16fatal
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-17warning
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-18fatal
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-19warning
"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-20warning
"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-21warning
Das Element "Specification identifier" (BT-24) soll syntaktisch der Kennung des Standards XRechnung entsprechen.
- BR-DE-22fatal
Das "filename"-Attribut aller "EmbeddedDocumentBinaryObject"-Elemente muss eindeutig sein
- BR-DE-23-afatal
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-bfatal
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-afatal
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-bfatal
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-afatal
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-bfatal
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-26warning
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-27warning
In BT-42 sollen mindestens drei Ziffern enthalten sein.
- BR-DE-28warning
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-30fatal
Wenn "DIRECT DEBIT" BG-19 vorhanden ist, dann muss "Bank assigned creditor identifier" BT-90 übermittelt werden.
- BR-DE-31fatal
Wenn "DIRECT DEBIT" BG-19 vorhanden ist, dann muss "Debited account identifier" BT-91 übermittelt werden.
BR-DE-CVD-* 7 rules
- BR-DE-CVD-01fatal
Das Element … "Contract reference" (BT-12) muss übermittelt werden.
- BR-DE-CVD-02fatal
Das Element … "Tender or lot reference" (BT-17) muss übermittelt werden.
- BR-DE-CVD-03fatal
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-04fatal
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-05fatal
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-afatal
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-bfatal
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-* 1 rules
- BR-DE-TMP-32information
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-* 14 rules
- BR-DEX-01fatal
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-02warning
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-03fatal
Eine Sub Invoice Line (BG-DEX-01) muss genau eine "SUB INVOICE LINE VAT INFORMATION" (BG-DEX-06) enthalten.
- BR-DEX-04fatal
Any scheme identifier in … MUST be coded using one of the ISO 6523 ICD list.
- BR-DEX-05fatal
Any scheme identifier in … MUST be coded using one of the ISO 6523 ICD list.
- BR-DEX-06fatal
Any scheme identifier in … MUST be coded using one of the ISO 6523 ICD list.
- BR-DEX-07fatal
Any scheme identifier for an Endpoint Identifier in … MUST belong to the CEF EAS code list.
- BR-DEX-08fatal
Any scheme identifier for a Delivery location identifier in … MUST be coded using one of the ISO 6523 ICD list.
- BR-DEX-09fatal
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-10fatal
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-11fatal
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-12fatal
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-13fatal
Die maximale Anzahl zulässiger Nachkommastellen für das Element "Third party payment amount" (BT-DEX-002) ist 2.
- BR-DEX-14fatal
Die Währungsangabe von "Third party payment amount" BT-DEX-002 muss BT-5 ("Invoice currency code") entsprechen.
BR-TMP-* 2 rules
BR-TMP-CVD-* 1 rules
- BR-TMP-CVD-01fatal
Das Bildungsschema für … "Item classification identifier" (BT-158) ist aus der Codeliste UNTDID 7143 zu wählen.
PEPPOL-EN16931-R* 21 rules
- PEPPOL-EN16931-R001fatal
Business process MUST be provided.
- PEPPOL-EN16931-R005fatal
VAT accounting currency code MUST be different from invoice currency code when provided.
- PEPPOL-EN16931-R008fatal
Document MUST not contain empty elements.
- PEPPOL-EN16931-R010fatal
Buyer electronic address MUST be provided
- PEPPOL-EN16931-R020fatal
Seller electronic address MUST be provided
- PEPPOL-EN16931-R040fatal
Allowance/charge amount must equal base amount * percentage/100 if base amount and percentage exists
- PEPPOL-EN16931-R041fatal
Allowance/charge base amount MUST be provided when allowance/charge percentage is provided.
- PEPPOL-EN16931-R042fatal
Allowance/charge percentage MUST be provided when allowance/charge base amount is provided.
- PEPPOL-EN16931-R043fatal
Allowance/charge ChargeIndicator value MUST equal 'true' or 'false'
- PEPPOL-EN16931-R044fatal
Charge on price level is NOT allowed. Only value 'false' allowed.
- PEPPOL-EN16931-R046fatal
Item net price MUST equal (Gross price - Allowance amount) when gross price is provided.
- PEPPOL-EN16931-R053fatal
Only one tax total with tax subtotals MUST be provided.
- PEPPOL-EN16931-R054fatal
Only one tax total without tax subtotals MUST be provided when tax currency code is provided.
- PEPPOL-EN16931-R055fatal
Invoice total VAT amount and Invoice total VAT amount in accounting currency MUST have the same operational sign
- PEPPOL-EN16931-R061fatal
Mandate reference MUST be provided for direct debit.
- PEPPOL-EN16931-R101fatal
Element Document reference can only be used for Invoice line object
- PEPPOL-EN16931-R110fatal
Start date of line period MUST be within invoice period.
- PEPPOL-EN16931-R111fatal
End date of line period MUST be within invoice period.
- PEPPOL-EN16931-R120warning
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-R121fatal
Base quantity MUST be a positive number above zero.
- PEPPOL-EN16931-R130fatal
Unit code of price base quantity MUST be same as invoiced quantity.
Check a file against KoSIT XRechnung 3.0 rules (UBL)
The validator detects the schema of your file and runs this rule set when it applies. Free, no signup.