CII Invoice (Factur-X / ZUGFeRD)
UN/CEFACT Cross Industry Invoice D16B — base format for Factur-X and ZUGFeRD
EN16931 profile · Factur-X 1.08 · XRechnung not included
Ziehen Sie Ihre XML-Datei hierher
oder zum Durchsuchen klicken
Nur XML · max. 1 MB · 20 Transaktionen
Geführte Demo-Beispiele
Verwenden Sie diese nur, um die Diagnoseansicht vorab zu testen. Ihre eigene XML-Datei bleibt der Hauptablauf.
Downloads bevorzugt? gültige XML oder ungültige XML
Dateien werden nur im Arbeitsspeicher verarbeitet — nichts wird gespeichert oder an Dritte übertragen.
Unterstützte Funktionen
- +CII document type detection (CrossIndustryInvoice namespace)
- +Business hierarchy: CII format -> EN16931 profile -> Factur-X subprofiles
- +Profile ID validation (GuidelineSpecifiedDocumentContextParameter/ID)
- +Mandatory field checks (BR-02, BR-03, BR-04, BR-06, BR-07)
- +Invoice type code validation (UNTDID 1001)
- +Header totals, line totals, VAT totals and VAT basis consistency checks with actual/expected diagnostics
Aktuelle Einschränkungen
- −Full EN16931 Schematron rules validated by official-facturx-adapter (separate layer)
- −PDF/A-3 extraction and conformance checking not implemented (Phase 2)
- −XRechnung CII profile is planned but not implemented
- −UBL and Peppol are separate XML formats, not aliases of CII
Dokumentstruktur
23 Felder · 21 Regeln · 3 Tabellen//*[local-name()='CrossIndustryInvoice']invoice.profileIdFactur-X Profile IDinvoice.idInvoice Numberinvoice.typeCodeDokumenttypcodeinvoice.issueDateIssue Dateinvoice.currencyCodeInvoice Currency Code//*[local-name()='SellerTradeParty']seller.nameSeller Name//*[local-name()='BuyerTradeParty']buyer.nameBuyer Name//*[local-name()='SpecifiedTradeSettlementHeaderMonetarySummation']totals.lineTotalSum of Line Net Amountstotals.taxBasisAmountTax Basis Total Amount (excl. VAT)totals.taxAmountTax Total Amounttotals.grandTotalAmountGrand Total Amount (incl. VAT)totals.duePayableAmountFälliger zahlbarer Betrag//*[local-name()='IncludedSupplyChainTradeLineItem']line.idLine IDline.productNameProduct Nameline.billedQtyBilled Quantityline.unitPriceNet Unit Priceline.lineTotalLine Total Amount//*[local-name()='ApplicableHeaderTradeSettlement']/*[local-name()='ApplicableTradeTax']vat.categoryCodeVAT Category Codevat.ratePercentVAT Rate (%)vat.basisAmountVAT Basis Amountvat.calculatedAmountVAT Calculated Amount//*[local-name()='SpecifiedTradePaymentTerms']payment.dueDatePayment Due Date//*[local-name()='ApplicableHeaderTradeDelivery']delivery.dateDelivery DateFelder
23 definiert| Kennung | Bezeichnung | Typ | Pflichtfeld |
|---|---|---|---|
invoice.profileId | Factur-X Profile ID | ID | ✓ |
invoice.id | Invoice Number | ID | ✓ |
invoice.typeCode | Dokumenttypcode | CODE | ✓ |
invoice.issueDate | Issue Date | ISO_DATE_BASIC | ✓ |
invoice.currencyCode | Invoice Currency Code | CURRENCY_CODE | — |
seller.name | Seller Name | TEXT | — |
buyer.name | Buyer Name | TEXT | — |
totals.taxBasisAmount | Tax Basis Total Amount (excl. VAT) | AMOUNT | — |
totals.taxAmount | Tax Total Amount | AMOUNT | — |
totals.grandTotalAmount | Grand Total Amount (incl. VAT) | AMOUNT | — |
totals.duePayableAmount | Fälliger zahlbarer Betrag | AMOUNT | — |
totals.lineTotal | Sum of Line Net Amounts | AMOUNT | — |
line.id | Line ID | ID | — |
line.productName | Product Name | TEXT | — |
line.billedQty | Billed Quantity | QUANTITY | — |
line.unitPrice | Net Unit Price | AMOUNT | — |
line.lineTotal | Line Total Amount | AMOUNT | — |
vat.categoryCode | VAT Category Code | CODE | — |
vat.ratePercent | VAT Rate (%) | PERCENT | — |
vat.basisAmount | VAT Basis Amount | AMOUNT | — |
vat.calculatedAmount | VAT Calculated Amount | AMOUNT | — |
payment.dueDate | Payment Due Date | ISO_DATE_BASIC | — |
delivery.date | Delivery Date | ISO_DATE_BASIC | — |
Validierungsregeln
21 RegelnFX-PROF-001ERROREine CII-Rechnung muss einen GuidelineSpecifiedDocumentContextParameter/ID (Factur-X-Profilkennung) angeben.
Factur-X Profile ID ist erforderlich
FX-PROF-002ERRORDie Factur-X-Profilkennung muss einer der anerkannten Profil-URNs sein (MINIMUM, BASIC-WL, BASIC, EN16931, EXTENDED).
Factur-X Profile ID ∈ Recognised Factur-X / ZUGFeRD profile URNs: {urn:factur-x.eu:1p0:minimum, urn:factur-x.eu:1p0:basicwl, urn:factur-x.eu:1p0:basic, urn:cen.eu:en16931:2017, urn:factur-x.eu:1p0:extended, urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_2.3 ... (16 Werte)}
FX-HDR-001ERROREine Rechnung muss eine Rechnungsnummer enthalten (ExchangedDocument/ID). (EN16931 BR-02)
Invoice Number ist erforderlich
FX-HDR-002ERROREine Rechnung muss ein Ausstellungsdatum enthalten (ExchangedDocument/IssueDateTime). (EN16931 BR-03)
Issue Date ist erforderlich
FX-HDR-003ERROREine Rechnung muss einen Dokumententypcode angeben (ExchangedDocument/TypeCode). (EN16931 BR-04)
Dokumenttypcode ist erforderlich
FX-HDR-004ERRORDer Dokumententypcode der Rechnung muss einer der anerkannten UNTDID-1001-Codes für Factur-X-Rechnungen sein.
Dokumenttypcode ist vorhanden
Dokumenttypcode ∈ UNTDID 1001 document type codes allowed for Factur-X: {380, 381, 383, 384, 386, 389 ... (12 Werte)}
FX-SEL-001ERROREine Rechnung muss den Namen des Verkäufers enthalten (SellerTradeParty/Name). (EN16931 BR-06)
Seller Name ist erforderlich
FX-BUY-001ERROREine Rechnung muss den Namen des Käufers enthalten (BuyerTradeParty/Name). (EN16931 BR-07)
Buyer Name ist erforderlich
FX-TOT-001ERRORDer Zeilensummenbetrag im Kopf muss der Summe aller Rechnungszeilen-Gesamtbeträge entsprechen, mit einer Toleranz von 0,01.
Sum of Line Net Amounts ist vorhanden und Line Total Amount ist vorhanden
Sum of Line Net Amounts = Σ line.lineTotal über line.lineTotal (±0.01)
FX-TOT-002ERRORDer Gesamtbetrag muss der Summe aus Steuerbasisbetrag und Steuerbetrag entsprechen, mit einer Toleranz von 0,01.
Grand Total Amount (incl. VAT) ist vorhanden und Tax Basis Total Amount (excl. VAT) ist vorhanden und Tax Total Amount ist vorhanden
Grand Total Amount (incl. VAT) = Tax Basis Total Amount (excl. VAT) + Tax Total Amount (±0.01)
FX-LIN-001ERRORJede Rechnungszeile muss eine Zeilenkennung enthalten (AssociatedDocumentLineDocument/LineID).
Line ID ist erforderlich
FX-LIN-003ERRORJede Rechnungszeile muss die berechnete Menge angeben.
Billed Quantity ist erforderlich
FX-LIN-004ERRORJede Rechnungszeile muss den Nettoeinzelpreis angeben.
Net Unit Price ist erforderlich
FX-VAT-001ERRORJeder USt-Kategoriecode der Aufschlüsselung muss einer der anerkannten EN16931-USt-Kategoriecodes sein.
VAT Category Code ist vorhanden
VAT Category Code ∈ EN16931 VAT category codes: {S, Z, E, AE, K, G ... (9 Werte)}
FX-VAT-003ERRORDer Steuergesamtbetrag muss der Summe der berechneten Beträge der USt-Aufschlüsselung entsprechen, mit einer Toleranz von 0,01.
Tax Total Amount ist vorhanden und VAT Calculated Amount ist vorhanden
Tax Total Amount = Σ vat.calculatedAmount über vat.calculatedAmount (±0.01)
FX-VAT-004ERRORDer Steuerbasis-Gesamtbetrag muss der Summe der Basisbeträge der USt-Aufschlüsselung entsprechen, mit einer Toleranz von 0,01.
Tax Basis Total Amount (excl. VAT) ist vorhanden und VAT Basis Amount ist vorhanden
Tax Basis Total Amount (excl. VAT) = Σ vat.basisAmount über vat.basisAmount (±0.01)
FX-PROFILE-BASIC-001ERRORFactur-X 1.08 BASICDieser Validator ist für das Factur-X-Profil BASIC; die Profilkennung der Rechnung muss urn:factur-x.eu:1p0:basic sein.
Factur-X Profile ID ist vorhanden
Factur-X Profile ID = "urn:factur-x.eu:1p0:basic"
FX-PROFILE-BASICWL-001ERRORFactur-X 1.08 BASIC-WLDieser Validator ist für das Factur-X-Profil BASIC-WL; die Profilkennung der Rechnung muss urn:factur-x.eu:1p0:basicwl sein.
Factur-X Profile ID ist vorhanden
Factur-X Profile ID = "urn:factur-x.eu:1p0:basicwl"
FX-PROFILE-EN16931-001ERRORFactur-X 1.08 EN16931Dieser Validator ist für das Factur-X-Profil EN16931; die Profilkennung der Rechnung muss urn:cen.eu:en16931:2017 sein.
Factur-X Profile ID ist vorhanden
Factur-X Profile ID = "urn:cen.eu:en16931:2017"
FX-PROFILE-EXTENDED-001ERRORFactur-X 1.08 EXTENDEDDieser Validator ist für das Factur-X-Profil EXTENDED; die Profilkennung der Rechnung muss urn:factur-x.eu:1p0:extended sein.
Factur-X Profile ID ist vorhanden
Factur-X Profile ID = "urn:factur-x.eu:1p0:extended"
FX-PROFILE-MINIMUM-001ERRORFactur-X 1.08 MINIMUMDieser Validator ist für das Factur-X-Profil MINIMUM; die Profilkennung der Rechnung muss urn:factur-x.eu:1p0:minimum sein.
Factur-X Profile ID ist vorhanden
Factur-X Profile ID = "urn:factur-x.eu:1p0:minimum"
Referenztabellen
3 ListenRecognised Factur-X / ZUGFeRD profile URNs
facturx-profile-urnsUNTDID 1001 document type codes allowed for Factur-X
invoice-type-codesEN16931 VAT category codes
vat-category-codes