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
Glissez-déposez votre fichier XML ici
ou parcourir
XML uniquement · 1 Mo max · 20 transactions
Exemples de démonstration
Utilisez-les uniquement pour prévisualiser l'expérience de diagnostic. Votre propre XML reste le flux de travail principal.
Préférez les téléchargements ? XML valide ou XML invalide
Les fichiers sont traités en mémoire uniquement — rien n'est stocké ni transmis à des tiers.
Fonctionnalités supportées
- +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
Limitations actuelles
- −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
Structure du document
23 champs · 21 règles · 3 tables//*[local-name()='CrossIndustryInvoice']invoice.profileIdFactur-X Profile IDinvoice.idInvoice Numberinvoice.typeCodeCode type de documentinvoice.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.duePayableAmountMontant exigible//*[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 DateChamps
23 définis| Identifiant | Libellé | Type | Obligatoire |
|---|---|---|---|
invoice.profileId | Factur-X Profile ID | ID | ✓ |
invoice.id | Invoice Number | ID | ✓ |
invoice.typeCode | Code type de document | 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 | Montant exigible | 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 | — |
Règles de validation
21 règlesFX-PROF-001ERRORA CII invoice must specify a GuidelineSpecifiedDocumentContextParameter/ID (Factur-X profile identifier).
Factur-X Profile ID est obligatoire
FX-PROF-002ERRORThe Factur-X profile ID must be one of the recognised profile URNs (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 valeurs)}
FX-HDR-001ERRORAn invoice shall have an invoice number (ExchangedDocument/ID). (EN16931 BR-02)
Invoice Number est obligatoire
FX-HDR-002ERRORAn invoice shall have an issue date (ExchangedDocument/IssueDateTime). (EN16931 BR-03)
Issue Date est obligatoire
FX-HDR-003ERRORAn invoice shall specify a document type code (ExchangedDocument/TypeCode). (EN16931 BR-04)
Code type de document est obligatoire
FX-HDR-004ERRORThe invoice document type code must be one of the recognised UNTDID 1001 codes for Factur-X invoices.
Code type de document est présent
Code type de document ∈ UNTDID 1001 document type codes allowed for Factur-X: {380, 381, 383, 384, 386, 389 ... (12 valeurs)}
FX-SEL-001ERRORAn invoice shall contain the seller name (SellerTradeParty/Name). (EN16931 BR-06)
Seller Name est obligatoire
FX-BUY-001ERRORAn invoice shall contain the buyer name (BuyerTradeParty/Name). (EN16931 BR-07)
Buyer Name est obligatoire
FX-TOT-001ERRORThe header line total amount must equal the sum of all invoice line total amounts, with a tolerance of 0.01.
Sum of Line Net Amounts est présent et Line Total Amount est présent
Sum of Line Net Amounts = Σ line.lineTotal sur line.lineTotal (±0.01)
FX-TOT-002ERRORThe grand total amount must equal the tax basis total amount plus the tax total amount, with a tolerance of 0.01.
Grand Total Amount (incl. VAT) est présent et Tax Basis Total Amount (excl. VAT) est présent et Tax Total Amount est présent
Grand Total Amount (incl. VAT) = Tax Basis Total Amount (excl. VAT) + Tax Total Amount (±0.01)
FX-LIN-001ERROREach invoice line must have a line identifier (AssociatedDocumentLineDocument/LineID).
Line ID est obligatoire
FX-LIN-003ERROREach invoice line must state the billed quantity.
Billed Quantity est obligatoire
FX-LIN-004ERROREach invoice line must state the net unit price.
Net Unit Price est obligatoire
FX-VAT-001ERROREach VAT breakdown category code must be one of the recognised EN16931 VAT category codes.
VAT Category Code est présent
VAT Category Code ∈ EN16931 VAT category codes: {S, Z, E, AE, K, G ... (9 valeurs)}
FX-VAT-003ERRORThe tax total amount must equal the sum of VAT breakdown calculated amounts, with a tolerance of 0.01.
Tax Total Amount est présent et VAT Calculated Amount est présent
Tax Total Amount = Σ vat.calculatedAmount sur vat.calculatedAmount (±0.01)
FX-VAT-004ERRORThe tax basis total amount must equal the sum of VAT breakdown basis amounts, with a tolerance of 0.01.
Tax Basis Total Amount (excl. VAT) est présent et VAT Basis Amount est présent
Tax Basis Total Amount (excl. VAT) = Σ vat.basisAmount sur vat.basisAmount (±0.01)
FX-PROFILE-BASIC-001ERRORFactur-X 1.08 BASICThis validator is for the Factur-X BASIC profile; the invoice profile ID must be urn:factur-x.eu:1p0:basic.
Factur-X Profile ID est présent
Factur-X Profile ID = "urn:factur-x.eu:1p0:basic"
FX-PROFILE-BASICWL-001ERRORFactur-X 1.08 BASIC-WLThis validator is for the Factur-X BASIC-WL profile; the invoice profile ID must be urn:factur-x.eu:1p0:basicwl.
Factur-X Profile ID est présent
Factur-X Profile ID = "urn:factur-x.eu:1p0:basicwl"
FX-PROFILE-EN16931-001ERRORFactur-X 1.08 EN16931This validator is for the Factur-X EN16931 profile; the invoice profile ID must be urn:cen.eu:en16931:2017.
Factur-X Profile ID est présent
Factur-X Profile ID = "urn:cen.eu:en16931:2017"
FX-PROFILE-EXTENDED-001ERRORFactur-X 1.08 EXTENDEDThis validator is for the Factur-X EXTENDED profile; the invoice profile ID must be urn:factur-x.eu:1p0:extended.
Factur-X Profile ID est présent
Factur-X Profile ID = "urn:factur-x.eu:1p0:extended"
FX-PROFILE-MINIMUM-001ERRORFactur-X 1.08 MINIMUMThis validator is for the Factur-X MINIMUM profile; the invoice profile ID must be urn:factur-x.eu:1p0:minimum.
Factur-X Profile ID est présent
Factur-X Profile ID = "urn:factur-x.eu:1p0:minimum"
Tables de référence
3 listesRecognised 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