ValidateFin

UBL Invoice — valid Peppol BIS 3.0

Una factura Peppol BIS Billing 3.0 válida: tres líneas, 2.596,00 EUR con IVA, totales coherentes, NIF-IVA francés e IBAN de pago.

UBL 2.1 Invoice — Válido

Una factura Peppol BIS Billing 3.0 válida: tres líneas, 2.596,00 EUR con IVA, totales coherentes, NIF-IVA francés e IBAN de pago.

Factura UBL (Peppol BIS 3.0) UBL 2.1 Invoice EN 16931 / Peppol BIS Billing 3.0Resultado esperado: Válido

Lo que muestra este fichero

Una factura Peppol BIS Billing 3.0 válida: tres líneas, 2.596,00 EUR con IVA, totales coherentes, NIF-IVA francés e IBAN de pago.

Transacciones3
Total2596,00 €
Última verificación: Licencia: CC-BY-4.0

Todas las partes, IBAN e importes siguientes son ficticios. Los IBAN son estructuralmente válidos —superan el mod-97— pero no corresponden a ninguna cuenta real.

Contenido del fichero

<?xml version="1.0" encoding="UTF-8"?>
<!--
  ValidateFin sample file — UBL invoice, Peppol BIS Billing 3.0 (EN 16931).
  Expected validation result: VALID — 3 lines, 2 596.00 EUR including VAT.

  All parties and account numbers are fictitious.
  Reference page: https://validatefin.com/en/resources/samples/ubl-invoice-valid
  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>FA-2026-0099</cbc:ID>
  <cbc:IssueDate>2026-02-01</cbc:IssueDate>
  <cbc:DueDate>2026-03-01</cbc:DueDate>
  <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
  <cbc:Note>Facture mensuelle services informatiques — février 2026</cbc:Note>
  <cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
  <cbc:BuyerReference>BON-COMMANDE-2026-042</cbc:BuyerReference>

  <!-- Fournisseur -->
  <cac:AccountingSupplierParty>
    <cac:Party>
      <cac:PartyName>
        <cbc:Name>Digital Solutions SAS</cbc:Name>
      </cac:PartyName>
      <cac:PostalAddress>
        <cbc:StreetName>45 avenue de la Technologie</cbc:StreetName>
        <cbc:CityName>Lyon</cbc:CityName>
        <cbc:PostalZone>69003</cbc:PostalZone>
        <cac:Country>
          <cbc:IdentificationCode>FR</cbc:IdentificationCode>
        </cac:Country>
      </cac:PostalAddress>
      <cac:PartyTaxScheme>
        <cbc:CompanyID>FR72823456789</cbc:CompanyID>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:PartyTaxScheme>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName>Digital Solutions SAS</cbc:RegistrationName>
        <cbc:CompanyID>823456789</cbc:CompanyID>
      </cac:PartyLegalEntity>
    </cac:Party>
  </cac:AccountingSupplierParty>

  <!-- Client -->
  <cac:AccountingCustomerParty>
    <cac:Party>
      <cac:PartyName>
        <cbc:Name>Entreprise Dubois &amp; Associés</cbc:Name>
      </cac:PartyName>
      <cac:PostalAddress>
        <cbc:StreetName>8 rue du Commerce</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>FR83456789012</cbc:CompanyID>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:PartyTaxScheme>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName>Entreprise Dubois &amp; Associés</cbc:RegistrationName>
        <cbc:CompanyID>456789012</cbc:CompanyID>
      </cac:PartyLegalEntity>
    </cac:Party>
  </cac:AccountingCustomerParty>

  <!-- Moyen de paiement -->
  <cac:PaymentMeans>
    <cbc:PaymentMeansCode>30</cbc:PaymentMeansCode>
    <cbc:PaymentID>FA-2026-0099</cbc:PaymentID>
    <cac:PayeeFinancialAccount>
      <cbc:ID>FR7630006000011234567890189</cbc:ID>
      <cbc:Name>Digital Solutions SAS</cbc:Name>
    </cac:PayeeFinancialAccount>
  </cac:PaymentMeans>

  <!-- TVA -->
  <cac:TaxTotal>
    <cbc:TaxAmount currencyID="EUR">396.00</cbc:TaxAmount>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="EUR">2200.00</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="EUR">396.00</cbc:TaxAmount>
      <cac:TaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>18</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>

  <!-- Totaux -->
  <cac:LegalMonetaryTotal>
    <cbc:LineExtensionAmount currencyID="EUR">2200.00</cbc:LineExtensionAmount>
    <cbc:TaxExclusiveAmount currencyID="EUR">2200.00</cbc:TaxExclusiveAmount>
    <cbc:TaxInclusiveAmount currencyID="EUR">2596.00</cbc:TaxInclusiveAmount>
    <cbc:PayableAmount currencyID="EUR">2596.00</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>

  <!-- Lignes de facture -->
  <cac:InvoiceLine>
    <cbc:ID>1</cbc:ID>
    <cbc:InvoicedQuantity unitCode="DAY">10</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="EUR">1500.00</cbc:LineExtensionAmount>
    <cac:Item>
      <cbc:Description>Développement application web — intégration API</cbc:Description>
      <cbc:Name>Développement applicatif</cbc:Name>
      <cac:ClassifiedTaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>18</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:ClassifiedTaxCategory>
    </cac:Item>
    <cac:Price>
      <cbc:PriceAmount currencyID="EUR">150.00</cbc:PriceAmount>
    </cac:Price>
  </cac:InvoiceLine>

  <cac:InvoiceLine>
    <cbc:ID>2</cbc:ID>
    <cbc:InvoicedQuantity unitCode="HUR">8</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="EUR">400.00</cbc:LineExtensionAmount>
    <cac:Item>
      <cbc:Description>Support technique et maintenance corrective</cbc:Description>
      <cbc:Name>Support technique</cbc:Name>
      <cac:ClassifiedTaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>18</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:ClassifiedTaxCategory>
    </cac:Item>
    <cac:Price>
      <cbc:PriceAmount currencyID="EUR">50.00</cbc:PriceAmount>
    </cac:Price>
  </cac:InvoiceLine>

  <cac:InvoiceLine>
    <cbc:ID>3</cbc:ID>
    <cbc:InvoicedQuantity unitCode="EA">1</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="EUR">300.00</cbc:LineExtensionAmount>
    <cac:Item>
      <cbc:Description>Licence logiciel annuelle — module reporting</cbc:Description>
      <cbc:Name>Licence logiciel</cbc:Name>
      <cac:ClassifiedTaxCategory>
        <cbc:ID>S</cbc:ID>

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

Cómo sabemos que estos resultados se sostienen

Cada fichero de esta biblioteca pasa por el propio validador del sitio en cada build. El resultado esperado indicado arriba lo verifica un test automatizado: si un fichero dejara de coincidir con lo que afirma esta página, el build fallaría. Dos fixtures heredadas se repararon así antes de publicarse: tres IBAN no superaban el mod-97 y varios nombres usaban caracteres fuera del juego SEPA básico.

Factura UBL (Peppol BIS 3.0)