Examples and downloads
The registry in machine-readable form, and the test invoices that every example on this site is taken from.
Registry files
| File | Content | Licence | Size |
|---|---|---|---|
registry.json
|
The key registry: every key with tier, labels, definition, value format, grammar, unit, code list, conditions, binding and anchors. The normative source. | CC0 1.0 | 108 KB |
registry.csv
|
The same registry as a flat table: key, tier, status, labels, grammar, code list. | CC0 1.0 | 9.5 KB |
context.jsonld
|
JSON-LD context that maps each local key name to an IRI. | CC0 1.0 | 2.6 KB |
vehicle-facts.schema.json
|
JSON Schema for the facts of one vehicle line as a JSON object, for systems that store or exchange VINvoice data outside the invoice. | CC0 1.0 | 26 KB |
vinvoice.sch
|
ISO Schematron rules (XSLT 2 binding) for CII and UBL invoices, the same checks as the reference checker, to run next to the EN 16931 validation. | Apache-2.0 | 31 KB |
crosswalk.csv
|
Informative mapping of each key to related vocabularies and message standards, such as schema.org and VDA 4938, with sources. | CC BY 4.0 | 4.3 KB |
One vehicle line in both syntaxes
The first line of the margin-scheme sale, cut unchanged from the test invoices. The rows and the line object identifier carry the same facts in CII and in UBL.
| Name (BT-160) | Value (BT-161) |
|---|---|
VINvoice-Spezifikation [vehicle.specificationId]
|
vehicle/1.0
|
Fahrzeugrolle [vehicle.roleCode]
|
supply
|
Fahrzeug-Identifizierungsnummer (FIN) [vehicle.vin]
|
TSTVEH016N0000001
|
Marke [vehicle.make]
|
Volkswagen
|
Modell [vehicle.model]
|
Golf
|
Modellausführung [vehicle.configuration]
|
2.0 TDI Life
|
Fahrzeugzustand [vehicle.conditionCode]
|
used
|
Datum der Erstzulassung [vehicle.firstRegistrationDate]
|
2022-03-18
|
Kilometerstand (km) [vehicle.odometerReadingKm]
|
48200
|
Höchste Nutzleistung (kW) [vehicle.maximumNetPowerKw]
|
110
|
Hubraum (cm3) [vehicle.engineCapacityCm3]
|
1968
|
Kraftstoffart oder Energiequelle [vehicle.energySourceCode]
|
diesel
|
Grundfarbe [vehicle.basicColourCode]
|
grey
|
Nächste technische Prüfung [vehicle.nextRoadworthinessTestDate]
|
2027-03
|
Differenzbesteuerung [vehicle.marginSchemeIndicator]
|
true
|
Lagernummer [com.example.stockNumber]
|
STK-26-0042
|
Line object identifier (BT-128), scheme
AKG
|
TSTVEH016N0000001
|
CII: sale-25a.fx.cii.xml
<ram:IncludedSupplyChainTradeLineItem>
<ram:AssociatedDocumentLineDocument>
<ram:LineID>1</ram:LineID>
</ram:AssociatedDocumentLineDocument>
<ram:SpecifiedTradeProduct>
<ram:SellerAssignedID>STK-26-0042</ram:SellerAssignedID>
<ram:Name>Volkswagen Golf 2.0 TDI Life</ram:Name>
<ram:Description>FIN TSTVEH016N0000001 · Erstzulassung: 18.03.2022 · Kilometerstand: 48.200 km · Leistung: 110 kW (150 PS) · Farbe: Grau</ram:Description>
<ram:ApplicableProductCharacteristic>
<ram:Description>VINvoice-Spezifikation [vehicle.specificationId]</ram:Description>
<ram:Value>vehicle/1.0</ram:Value>
</ram:ApplicableProductCharacteristic>
<ram:ApplicableProductCharacteristic>
<ram:Description>Fahrzeugrolle [vehicle.roleCode]</ram:Description>
<ram:Value>supply</ram:Value>
</ram:ApplicableProductCharacteristic>
<ram:ApplicableProductCharacteristic>
<ram:Description>Fahrzeug-Identifizierungsnummer (FIN) [vehicle.vin]</ram:Description>
<ram:Value>TSTVEH016N0000001</ram:Value>
</ram:ApplicableProductCharacteristic>
<ram:ApplicableProductCharacteristic>
<ram:Description>Marke [vehicle.make]</ram:Description>
<ram:Value>Volkswagen</ram:Value>
</ram:ApplicableProductCharacteristic>
<ram:ApplicableProductCharacteristic>
<ram:Description>Modell [vehicle.model]</ram:Description>
<ram:Value>Golf</ram:Value>
</ram:ApplicableProductCharacteristic>
<ram:ApplicableProductCharacteristic>
<ram:Description>Modellausführung [vehicle.configuration]</ram:Description>
<ram:Value>2.0 TDI Life</ram:Value>
</ram:ApplicableProductCharacteristic>
<ram:ApplicableProductCharacteristic>
<ram:Description>Fahrzeugzustand [vehicle.conditionCode]</ram:Description>
<ram:Value>used</ram:Value>
</ram:ApplicableProductCharacteristic>
<ram:ApplicableProductCharacteristic>
<ram:Description>Datum der Erstzulassung [vehicle.firstRegistrationDate]</ram:Description>
<ram:Value>2022-03-18</ram:Value>
</ram:ApplicableProductCharacteristic>
<ram:ApplicableProductCharacteristic>
<ram:Description>Kilometerstand (km) [vehicle.odometerReadingKm]</ram:Description>
<ram:Value>48200</ram:Value>
</ram:ApplicableProductCharacteristic>
<ram:ApplicableProductCharacteristic>
<ram:Description>Höchste Nutzleistung (kW) [vehicle.maximumNetPowerKw]</ram:Description>
<ram:Value>110</ram:Value>
</ram:ApplicableProductCharacteristic>
<ram:ApplicableProductCharacteristic>
<ram:Description>Hubraum (cm3) [vehicle.engineCapacityCm3]</ram:Description>
<ram:Value>1968</ram:Value>
</ram:ApplicableProductCharacteristic>
<ram:ApplicableProductCharacteristic>
<ram:Description>Kraftstoffart oder Energiequelle [vehicle.energySourceCode]</ram:Description>
<ram:Value>diesel</ram:Value>
</ram:ApplicableProductCharacteristic>
<ram:ApplicableProductCharacteristic>
<ram:Description>Grundfarbe [vehicle.basicColourCode]</ram:Description>
<ram:Value>grey</ram:Value>
</ram:ApplicableProductCharacteristic>
<ram:ApplicableProductCharacteristic>
<ram:Description>Nächste technische Prüfung [vehicle.nextRoadworthinessTestDate]</ram:Description>
<ram:Value>2027-03</ram:Value>
</ram:ApplicableProductCharacteristic>
<ram:ApplicableProductCharacteristic>
<ram:Description>Differenzbesteuerung [vehicle.marginSchemeIndicator]</ram:Description>
<ram:Value>true</ram:Value>
</ram:ApplicableProductCharacteristic>
<ram:ApplicableProductCharacteristic>
<ram:Description>Lagernummer [com.example.stockNumber]</ram:Description>
<ram:Value>STK-26-0042</ram:Value>
</ram:ApplicableProductCharacteristic>
</ram:SpecifiedTradeProduct>
<ram:SpecifiedLineTradeAgreement>
<ram:NetPriceProductTradePrice>
<ram:ChargeAmount>15900.00</ram:ChargeAmount>
</ram:NetPriceProductTradePrice>
</ram:SpecifiedLineTradeAgreement>
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity unitCode="C62">1</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
<ram:SpecifiedLineTradeSettlement>
<ram:ApplicableTradeTax>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>E</ram:CategoryCode>
<ram:RateApplicablePercent>0</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementLineMonetarySummation>
<ram:LineTotalAmount>15900.00</ram:LineTotalAmount>
</ram:SpecifiedTradeSettlementLineMonetarySummation>
<ram:AdditionalReferencedDocument>
<ram:IssuerAssignedID>TSTVEH016N0000001</ram:IssuerAssignedID>
<ram:TypeCode>130</ram:TypeCode>
<ram:ReferenceTypeCode>AKG</ram:ReferenceTypeCode>
</ram:AdditionalReferencedDocument>
</ram:SpecifiedLineTradeSettlement>
</ram:IncludedSupplyChainTradeLineItem>
UBL: sale-25a.peppol.ubl.xml
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">15900.00</cbc:LineExtensionAmount>
<cac:DocumentReference>
<cbc:ID schemeID="AKG">TSTVEH016N0000001</cbc:ID>
<cbc:DocumentTypeCode>130</cbc:DocumentTypeCode>
</cac:DocumentReference>
<cac:Item>
<cbc:Description>FIN TSTVEH016N0000001 · Erstzulassung: 18.03.2022 · Kilometerstand: 48.200 km · Leistung: 110 kW (150 PS) · Farbe: Grau</cbc:Description>
<cbc:Name>Volkswagen Golf 2.0 TDI Life</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID>STK-26-0042</cbc:ID>
</cac:SellersItemIdentification>
<cac:ClassifiedTaxCategory>
<cbc:ID>E</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
<cac:AdditionalItemProperty>
<cbc:Name>VINvoice-Spezifikation [vehicle.specificationId]</cbc:Name>
<cbc:Value>vehicle/1.0</cbc:Value>
</cac:AdditionalItemProperty>
<cac:AdditionalItemProperty>
<cbc:Name>Fahrzeugrolle [vehicle.roleCode]</cbc:Name>
<cbc:Value>supply</cbc:Value>
</cac:AdditionalItemProperty>
<cac:AdditionalItemProperty>
<cbc:Name>Fahrzeug-Identifizierungsnummer (FIN) [vehicle.vin]</cbc:Name>
<cbc:Value>TSTVEH016N0000001</cbc:Value>
</cac:AdditionalItemProperty>
<cac:AdditionalItemProperty>
<cbc:Name>Marke [vehicle.make]</cbc:Name>
<cbc:Value>Volkswagen</cbc:Value>
</cac:AdditionalItemProperty>
<cac:AdditionalItemProperty>
<cbc:Name>Modell [vehicle.model]</cbc:Name>
<cbc:Value>Golf</cbc:Value>
</cac:AdditionalItemProperty>
<cac:AdditionalItemProperty>
<cbc:Name>Modellausführung [vehicle.configuration]</cbc:Name>
<cbc:Value>2.0 TDI Life</cbc:Value>
</cac:AdditionalItemProperty>
<cac:AdditionalItemProperty>
<cbc:Name>Fahrzeugzustand [vehicle.conditionCode]</cbc:Name>
<cbc:Value>used</cbc:Value>
</cac:AdditionalItemProperty>
<cac:AdditionalItemProperty>
<cbc:Name>Datum der Erstzulassung [vehicle.firstRegistrationDate]</cbc:Name>
<cbc:Value>2022-03-18</cbc:Value>
</cac:AdditionalItemProperty>
<cac:AdditionalItemProperty>
<cbc:Name>Kilometerstand (km) [vehicle.odometerReadingKm]</cbc:Name>
<cbc:Value>48200</cbc:Value>
</cac:AdditionalItemProperty>
<cac:AdditionalItemProperty>
<cbc:Name>Höchste Nutzleistung (kW) [vehicle.maximumNetPowerKw]</cbc:Name>
<cbc:Value>110</cbc:Value>
</cac:AdditionalItemProperty>
<cac:AdditionalItemProperty>
<cbc:Name>Hubraum (cm3) [vehicle.engineCapacityCm3]</cbc:Name>
<cbc:Value>1968</cbc:Value>
</cac:AdditionalItemProperty>
<cac:AdditionalItemProperty>
<cbc:Name>Kraftstoffart oder Energiequelle [vehicle.energySourceCode]</cbc:Name>
<cbc:Value>diesel</cbc:Value>
</cac:AdditionalItemProperty>
<cac:AdditionalItemProperty>
<cbc:Name>Grundfarbe [vehicle.basicColourCode]</cbc:Name>
<cbc:Value>grey</cbc:Value>
</cac:AdditionalItemProperty>
<cac:AdditionalItemProperty>
<cbc:Name>Nächste technische Prüfung [vehicle.nextRoadworthinessTestDate]</cbc:Name>
<cbc:Value>2027-03</cbc:Value>
</cac:AdditionalItemProperty>
<cac:AdditionalItemProperty>
<cbc:Name>Differenzbesteuerung [vehicle.marginSchemeIndicator]</cbc:Name>
<cbc:Value>true</cbc:Value>
</cac:AdditionalItemProperty>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">15900.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
Test invoices
19 complete invoices. File names read scenario.carrier.syntax.xml.
All parties, VINs and plates are fictional; VINs use the test prefix TST with a valid
check digit. The validation results for every file are on the validation page.
| File | Scenario | Carrier | Level | Size |
|---|---|---|---|---|
credit-25a.fx.cii.xml
|
Credit note cancelling the margin-scheme sale. | Factur-X 1.09.2 / ZUGFeRD, EN 16931 profile (CII) | 2 | 11 KB |
credit-25a.peppol.ubl.xml
|
Credit note cancelling the margin-scheme sale. | Peppol BIS Billing 3.0 (UBL) | 2 | 8.9 KB |
export-25a.fx.cii.xml
|
Margin-scheme export of a used car to a buyer outside the EU (VAT category G). | Factur-X 1.09.2 / ZUGFeRD, EN 16931 profile (CII) | 2 | 8.5 KB |
level0.fx.cii.xml
|
Conformance level 0: the vehicle is identified by BT-128 only, without any rows. | Factur-X 1.09.2 / ZUGFeRD, EN 16931 profile (CII) | 0 | 5.8 KB |
new-intra-eu-unregistered.fx.cii.xml
|
New means of transport supplied VAT-exempt to a business buyer in another member state; unregistered vehicle. | Factur-X 1.09.2 / ZUGFeRD, EN 16931 profile (CII) | 2 | 9.4 KB |
new-intra-eu.fx.cii.xml
|
New means of transport supplied VAT-exempt to a business buyer in another member state; vehicle already registered, so the date of first entry into service is given. | Factur-X 1.09.2 / ZUGFeRD, EN 16931 profile (CII) | 2 | 9.8 KB |
sale-25a-level1.fx.cii.xml
|
The same margin-scheme sale at level 1: vehicle rows only, no line object identifier (BT-128). | Factur-X 1.09.2 / ZUGFeRD, EN 16931 profile (CII) | 1 | 11 KB |
sale-25a-xborder.peppol.ubl.xml
|
Margin-scheme sale of a used car to a dealer in another EU member state. | Peppol BIS Billing 3.0 (UBL) | 2 | 8.9 KB |
sale-25a.ext.cii.xml
|
Used car sold between two dealers under the margin scheme (second-hand goods), conformance level 2. | Factur-X 1.09.2 / ZUGFeRD, EXTENDED profile (CII) | 2 | 11 KB |
sale-25a.fx.cii.xml
|
Used car sold between two dealers under the margin scheme (second-hand goods), conformance level 2. | Factur-X 1.09.2 / ZUGFeRD, EN 16931 profile (CII) | 2 | 11 KB |
sale-25a.peppol.ubl.xml
|
Used car sold between two dealers under the margin scheme (second-hand goods), conformance level 2. | Peppol BIS Billing 3.0 (UBL) | 2 | 8.9 KB |
sale-25a.xr.cii.xml
|
Used car sold between two dealers under the margin scheme (second-hand goods), conformance level 2. | XRechnung 3.0.2 (CII) | 2 | 12 KB |
sale-25a.xr.ubl.xml
|
Used car sold between two dealers under the margin scheme (second-hand goods), conformance level 2. | XRechnung 3.0.2 (UBL) | 2 | 8.9 KB |
sale-regular-odometer-inoperative.fx.cii.xml
|
Used car sold under normal VAT with an inoperative odometer: the status is stated and no reading is given. | Factur-X 1.09.2 / ZUGFeRD, EN 16931 profile (CII) | 2 | 9.0 KB |
workshop.fx.cii.xml
|
Workshop invoice: a zero-value vehicle reference line with the rows, labour and parts lines linked to the vehicle by BT-128, and the VIN in BT-18. | Factur-X 1.09.2 / ZUGFeRD, EN 16931 profile (CII) | 2 | 11 KB |
workshop.peppol.ubl.xml
|
Workshop invoice: a zero-value vehicle reference line with the rows, labour and parts lines linked to the vehicle by BT-128, and the VIN in BT-18. | Peppol BIS Billing 3.0 (UBL) | 2 | 8.4 KB |
| File | Scenario | Carrier | Level | Size |
|---|---|---|---|---|
neg-margin-k.fx.cii.xml
|
Negative control for the checker: margin-scheme flag on an intra-EU exempt line (category K) and further faults. Valid EN 16931, not a valid VINvoice line. | Factur-X 1.09.2 / ZUGFeRD, EN 16931 profile (CII) | 2 | 8.3 KB |
neg-profile.fx.cii.xml
|
Negative control for the checker: malformed rows (statutory key without its label, duplicates, grammar violations). | Factur-X 1.09.2 / ZUGFeRD, EN 16931 profile (CII) | 2 | 11 KB |
neg-profile2.fx.cii.xml
|
Negative control for the checker: reader edge cases (unknown major version, unknown key, both odometer units, unmarked rows, a vendor row). | Factur-X 1.09.2 / ZUGFeRD, EN 16931 profile (CII) | 1, 2 | 15 KB |