ValidateFin

UBL Invoice — intra-Community supply (VAT category K)

Een geldige intracommunautaire levering (btw-categorie K): goederen verzonden vanuit Duitsland naar een btw-geregistreerde afnemer in Frankrijk, nultarief op grond van artikel 138 van Richtlijn 2006/112/EG. Categorie K vraagt om twee dingen die men vergeet: BR-IC-11, een werkelijke leverdatum (BT-72) of een factuurperiode, en BR-IC-12, het land van levering (BT-80). Zonder die bewijst de factuur niet dat de goederen het land hebben verlaten.

UBL 2.1 Invoice — Geldig

Een geldige intracommunautaire levering (btw-categorie K): goederen verzonden vanuit Duitsland naar een btw-geregistreerde afnemer in Frankrijk, nultarief op grond van artikel 138 van Richtlijn 2006/112/EG. Categorie K vraagt om twee dingen die men vergeet: BR-IC-11, een werkelijke leverdatum (BT-72) of een factuurperiode, en BR-IC-12, het land van levering (BT-80). Zonder die bewijst de factuur niet dat de goederen het land hebben verlaten.

UBL-factuur (Peppol BIS 3.0) UBL 2.1 Invoice EN 16931 / Peppol BIS 3.0Verwacht resultaat: Geldig

Wat dit bestand laat zien

Een geldige intracommunautaire levering (btw-categorie K): goederen verzonden vanuit Duitsland naar een btw-geregistreerde afnemer in Frankrijk, nultarief op grond van artikel 138 van Richtlijn 2006/112/EG. Categorie K vraagt om twee dingen die men vergeet: BR-IC-11, een werkelijke leverdatum (BT-72) of een factuurperiode, en BR-IC-12, het land van levering (BT-80). Zonder die bewijst de factuur niet dat de goederen het land hebben verlaten.

Transacties1
Totaal€ 3.000,00
Laatst geverifieerd: Licentie: CC-BY-4.0

Alle partijen, IBAN's en bedragen hieronder zijn fictief. De IBAN's zijn structureel geldig — ze doorstaan de mod-97-controle — maar horen bij geen enkele echte rekening.

Bestandsinhoud

<?xml version="1.0" encoding="UTF-8"?>
<!--
  ValidateFin sample file — UBL invoice, Peppol BIS Billing 3.0 (EN 16931).
  INTRA-COMMUNITY SUPPLY (VAT category K): goods dispatched from Germany to a
  VAT-registered buyer in France, zero-rated under Article 138 of Council Directive
  2006/112/EC. The three rules people forget: BR-IC-11 (an actual delivery date or an
  invoicing period), BR-IC-12 (the deliver-to country) and BR-IC-10 (the exemption
  reason). Both VAT identifiers are mandatory (BR-IC-02, BR-IC-03).
  Expected validation result: VALID — 1 line, 3 000.00 EUR, VAT 0.00 EUR.

  All parties and account numbers are fictitious.
  Reference page: https://validatefin.com/en/resources/samples/ubl-invoice-intracommunity
  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>NWL-2026-0455</cbc:ID>
  <cbc:IssueDate>2026-03-09</cbc:IssueDate>
  <cbc:DueDate>2026-04-08</cbc:DueDate>
  <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
  <cbc:Note>Intra-Community supply — exempt under Article 138 of Council Directive 2006/112/EC.</cbc:Note>
  <cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
  <cbc:BuyerReference>PO-2026-9002</cbc:BuyerReference>

  <cac:AccountingSupplierParty>
    <cac:Party>
      <cbc:EndpointID schemeID="9930">DE123456789</cbc:EndpointID>
      <cac:PartyName>
        <cbc:Name>Nordwind Logistik GmbH</cbc:Name>
      </cac:PartyName>
      <cac:PostalAddress>
        <cbc:StreetName>Speicherstrasse 12</cbc:StreetName>
        <cbc:CityName>Hamburg</cbc:CityName>
        <cbc:PostalZone>20457</cbc:PostalZone>
        <cac:Country>
          <cbc:IdentificationCode>DE</cbc:IdentificationCode>
        </cac:Country>
      </cac:PostalAddress>
      <cac:PartyTaxScheme>
        <cbc:CompanyID>DE123456789</cbc:CompanyID>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:PartyTaxScheme>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName>Nordwind Logistik GmbH</cbc:RegistrationName>
        <cbc:CompanyID>HRB 98765</cbc:CompanyID>
      </cac:PartyLegalEntity>
      <cac:Contact>
        <cbc:Name>Rechnungsstelle</cbc:Name>
        <cbc:Telephone>+49 40 555 0100</cbc:Telephone>
        <cbc:ElectronicMail>[email protected]</cbc:ElectronicMail>
      </cac:Contact>
    </cac:Party>
  </cac:AccountingSupplierParty>

  <cac:AccountingCustomerParty>
    <cac:Party>
      <cbc:EndpointID schemeID="9957">FR40303265045</cbc:EndpointID>
      <cac:PartyName>
        <cbc:Name>Atlas Consulting SAS</cbc:Name>
      </cac:PartyName>
      <cac:PostalAddress>
        <cbc:StreetName>18 rue de la Boetie</cbc:StreetName>
        <cbc:CityName>Paris</cbc:CityName>
        <cbc:PostalZone>75008</cbc:PostalZone>
        <cac:Country>
          <cbc:IdentificationCode>FR</cbc:IdentificationCode>
        </cac:Country>
      </cac:PostalAddress>
      <cac:PartyTaxScheme>
        <cbc:CompanyID>FR40303265045</cbc:CompanyID>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:PartyTaxScheme>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName>Atlas Consulting SAS</cbc:RegistrationName>
      </cac:PartyLegalEntity>
    </cac:Party>
  </cac:AccountingCustomerParty>

  <!-- BR-IC-11 (BT-72) and BR-IC-12 (BT-80): delivery date and deliver-to country -->
  <cac:Delivery>
    <cbc:ActualDeliveryDate>2026-03-07</cbc:ActualDeliveryDate>
    <cac:DeliveryLocation>
      <cac:Address>
        <cbc:StreetName>Zone logistique Nord, quai 4</cbc:StreetName>
        <cbc:CityName>Lille</cbc:CityName>
        <cbc:PostalZone>59000</cbc:PostalZone>
        <cac:Country>
          <cbc:IdentificationCode>FR</cbc:IdentificationCode>
        </cac:Country>
      </cac:Address>
    </cac:DeliveryLocation>
  </cac:Delivery>

  <cac:PaymentMeans>
    <cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
    <cbc:PaymentID>NWL-2026-0455</cbc:PaymentID>
    <cac:PayeeFinancialAccount>
      <cbc:ID>DE89370400440532013000</cbc:ID>
      <cbc:Name>Nordwind Logistik GmbH</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">3000.00</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
      <cac:TaxCategory>
        <cbc:ID>K</cbc:ID>
        <cbc:Percent>0</cbc:Percent>
        <cbc:TaxExemptionReasonCode>VATEX-EU-IC</cbc:TaxExemptionReasonCode>
        <cbc:TaxExemptionReason>Intra-Community supply</cbc:TaxExemptionReason>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>

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

  <cac:InvoiceLine>
    <cbc:ID>1</cbc:ID>
    <cbc:InvoicedQuantity unitCode="C62">4</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="EUR">3000.00</cbc:LineExtensionAmount>
    <cac:Item>
      <cbc:Description>Insulated shipping container, 1 200 L</cbc:Description>
      <cbc:Name>Shipping container</cbc:Name>
      <cac:ClassifiedTaxCategory>
        <cbc:ID>K</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">750.00</cbc:PriceAmount>
    </cac:Price>
  </cac:InvoiceLine>
</Invoice>

Hoe we weten dat deze resultaten kloppen

Elk bestand in deze bibliotheek gaat bij elke build door de eigen validator van de site. Het hierboven vermelde verwachte resultaat wordt door een geautomatiseerde test bevestigd: zou een bestand niet meer overeenkomen met wat deze pagina beweert, dan faalt de build. Twee overgeërfde fixtures zijn zo vóór publicatie hersteld: drie IBAN's zakten voor de mod-97-controle en meerdere namen gebruikten tekens buiten de SEPA-basistekenset.

UBL-factuur (Peppol BIS 3.0)