ValidateFin

UBL Invoice — VAT exempt (category E) with exemption reason

A valid VAT-exempt invoice (category E): vocational training exempted under Article 132(1)(i) of Council Directive 2006/112/EC. An exempt invoice must say WHY it is exempt — BR-E-10 demands a VAT exemption reason code (BT-121) or text (BT-120), and this file carries both: VATEX-EU-132 and the wording from the official code list.

UBL 2.1 Invoice — Valid

A valid VAT-exempt invoice (category E): vocational training exempted under Article 132(1)(i) of Council Directive 2006/112/EC. An exempt invoice must say WHY it is exempt — BR-E-10 demands a VAT exemption reason code (BT-121) or text (BT-120), and this file carries both: VATEX-EU-132 and the wording from the official code list.

UBL invoice (Peppol BIS 3.0) UBL 2.1 Invoice EN 16931 / Peppol BIS 3.0Expected result: Valid

What this file shows

A valid VAT-exempt invoice (category E): vocational training exempted under Article 132(1)(i) of Council Directive 2006/112/EC. An exempt invoice must say WHY it is exempt — BR-E-10 demands a VAT exemption reason code (BT-121) or text (BT-120), and this file carries both: VATEX-EU-132 and the wording from the official code list.

Transactions2
Total€1,800.00
Last verified: License: CC-BY-4.0

Every party, IBAN and amount below is fictitious. The IBANs are structurally valid — they pass the mod-97 check — but they belong to no real account.

File content

<?xml version="1.0" encoding="UTF-8"?>
<!--
  ValidateFin sample file — UBL invoice, Peppol BIS Billing 3.0 (EN 16931).
  VAT EXEMPT (VAT category E): vocational training exempted under Article 132(1)(i)
  of Council Directive 2006/112/EC. BR-E-05 requires the 0 % rate, BR-E-09 a VAT
  category tax amount of 0.00 and BR-E-10 the exemption reason that this file carries
  as BOTH a coded value (BT-121, VATEX-EU-132) and free text (BT-120).
  Expected validation result: VALID — 2 lines, 1 800.00 EUR, VAT 0.00 EUR.

  All parties and account numbers are fictitious.
  Reference page: https://validatefin.com/en/resources/samples/ubl-invoice-vat-exempt
  License: CC-BY-4.0
-->
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
         xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
         xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
  <cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
  <cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
  <cbc:ID>LUM-2026-0063</cbc:ID>
  <cbc:IssueDate>2026-03-06</cbc:IssueDate>
  <cbc:DueDate>2026-04-05</cbc:DueDate>
  <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
  <cbc:Note>VAT exempt — vocational training, Article 132(1)(i) of Council Directive 2006/112/EC.</cbc:Note>
  <cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
  <cbc:BuyerReference>FORM-2026-014</cbc:BuyerReference>

  <cac:AccountingSupplierParty>
    <cac:Party>
      <cbc:EndpointID schemeID="9957">FR23334175221</cbc:EndpointID>
      <cac:PartyName>
        <cbc:Name>Lumen Formation SARL</cbc:Name>
      </cac:PartyName>
      <cac:PostalAddress>
        <cbc:StreetName>7 quai Saint-Antoine</cbc:StreetName>
        <cbc:CityName>Lyon</cbc:CityName>
        <cbc:PostalZone>69002</cbc:PostalZone>
        <cac:Country>
          <cbc:IdentificationCode>FR</cbc:IdentificationCode>
        </cac:Country>
      </cac:PostalAddress>
      <cac:PartyTaxScheme>
        <cbc:CompanyID>FR23334175221</cbc:CompanyID>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:PartyTaxScheme>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName>Lumen Formation SARL</cbc:RegistrationName>
        <cbc:CompanyID>334175221</cbc:CompanyID>
      </cac:PartyLegalEntity>
      <cac:Contact>
        <cbc:Name>Service facturation</cbc:Name>
        <cbc:Telephone>+33 4 72 00 44 55</cbc:Telephone>
        <cbc:ElectronicMail>[email protected]</cbc:ElectronicMail>
      </cac:Contact>
    </cac:Party>
  </cac:AccountingSupplierParty>

  <cac:AccountingCustomerParty>
    <cac:Party>
      <cbc:EndpointID schemeID="9957">FR62456789012</cbc:EndpointID>
      <cac:PartyName>
        <cbc:Name>Groupe Verdier SA</cbc:Name>
      </cac:PartyName>
      <cac:PostalAddress>
        <cbc:StreetName>22 boulevard des Belges</cbc:StreetName>
        <cbc:CityName>Rouen</cbc:CityName>
        <cbc:PostalZone>76000</cbc:PostalZone>
        <cac:Country>
          <cbc:IdentificationCode>FR</cbc:IdentificationCode>
        </cac:Country>
      </cac:PostalAddress>
      <cac:PartyTaxScheme>
        <cbc:CompanyID>FR62456789012</cbc:CompanyID>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:PartyTaxScheme>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName>Groupe Verdier SA</cbc:RegistrationName>
      </cac:PartyLegalEntity>
    </cac:Party>
  </cac:AccountingCustomerParty>

  <cac:PaymentMeans>
    <cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
    <cbc:PaymentID>LUM-2026-0063</cbc:PaymentID>
    <cac:PayeeFinancialAccount>
      <cbc:ID>FR1420041010050500013M02606</cbc:ID>
      <cbc:Name>Lumen Formation SARL</cbc:Name>
    </cac:PayeeFinancialAccount>
  </cac:PaymentMeans>

  <cac:PaymentTerms>
    <cbc:Note>Net 30 days.</cbc:Note>
  </cac:PaymentTerms>

  <cac:TaxTotal>
    <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="EUR">1800.00</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
      <cac:TaxCategory>
        <cbc:ID>E</cbc:ID>
        <cbc:Percent>0</cbc:Percent>
        <cbc:TaxExemptionReasonCode>VATEX-EU-132</cbc:TaxExemptionReasonCode>
        <cbc:TaxExemptionReason>Exempt based on article 132 of Council Directive 2006/112/EC</cbc:TaxExemptionReason>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>

  <cac:LegalMonetaryTotal>
    <cbc:LineExtensionAmount currencyID="EUR">1800.00</cbc:LineExtensionAmount>
    <cbc:TaxExclusiveAmount currencyID="EUR">1800.00</cbc:TaxExclusiveAmount>
    <cbc:TaxInclusiveAmount currencyID="EUR">1800.00</cbc:TaxInclusiveAmount>
    <cbc:PayableAmount currencyID="EUR">1800.00</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>

  <cac:InvoiceLine>
    <cbc:ID>1</cbc:ID>
    <cbc:InvoicedQuantity unitCode="DAY">4</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="EUR">1400.00</cbc:LineExtensionAmount>
    <cac:Item>
      <cbc:Description>Certified vocational training, four sessions</cbc:Description>
      <cbc:Name>Training sessions</cbc:Name>
      <cac:ClassifiedTaxCategory>
        <cbc:ID>E</cbc:ID>
        <cbc:Percent>0</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:ClassifiedTaxCategory>
    </cac:Item>
    <cac:Price>
      <cbc:PriceAmount currencyID="EUR">350.00</cbc:PriceAmount>
    </cac:Price>
  </cac:InvoiceLine>

  <cac:InvoiceLine>
    <cbc:ID>2</cbc:ID>
    <cbc:InvoicedQuantity unitCode="C62">10</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="EUR">400.00</cbc:LineExtensionAmount>
    <cac:Item>
      <cbc:Description>Trainee assessment and certification</cbc:Description>
      <cbc:Name>Assessment per trainee</cbc:Name>
      <cac:ClassifiedTaxCategory>
        <cbc:ID>E</cbc:ID>
        <cbc:Percent>0</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:ClassifiedTaxCategory>
    </cac:Item>
    <cac:Price>
      <cbc:PriceAmount currencyID="EUR">40.00</cbc:PriceAmount>
    </cac:Price>
  </cac:InvoiceLine>

160 / 162 lines shown — the complete file is in the download above.

How we know these results hold

Every file in this library is run through the site's own validator on each build. The expected result stated above is asserted by an automated test — if a file stopped matching what this page claims, the build would fail. Two inherited fixtures were repaired this way before publication: three IBANs failed the mod-97 check and several names used characters outside the basic SEPA character set.

UBL invoice (Peppol BIS 3.0)