ValidateFin

RO e-Factura — B2C invoice with the anonymous CNP (0000000000000)

Uma fatura B2C cujo comprador é um particular, identificado pelo CNP anónimo de treze zeros — em produção desde 16 de dezembro de 2024. É válida, e um validador que o tomasse por um número pessoal malformado partiria toda a faturação a consumidores na Roménia: esse número não cumpre nenhuma regra de forma do CNP (o seu primeiro dígito, 0, é recusado em todo o resto), porque é um valor reservado, não um CNP.

RO_CIUS 1.0.1 · UBL 2.1 — Válido

Uma fatura B2C cujo comprador é um particular, identificado pelo CNP anónimo de treze zeros — em produção desde 16 de dezembro de 2024. É válida, e um validador que o tomasse por um número pessoal malformado partiria toda a faturação a consumidores na Roménia: esse número não cumpre nenhuma regra de forma do CNP (o seu primeiro dígito, 0, é recusado em todo o resto), porque é um valor reservado, não um CNP.

Fatura RO e-Factura (Roménia, ANAF) RO_CIUS 1.0.1 · UBL 2.1 Ministerul Finanțelor / ANAF — RO_CIUS 1.0.1 (ro16931-ubl-1.0.9)Resultado esperado: Válido

O que este ficheiro mostra

Uma fatura B2C cujo comprador é um particular, identificado pelo CNP anónimo de treze zeros — em produção desde 16 de dezembro de 2024. É válida, e um validador que o tomasse por um número pessoal malformado partiria toda a faturação a consumidores na Roménia: esse número não cumpre nenhuma regra de forma do CNP (o seu primeiro dígito, 0, é recusado em todo o resto), porque é um valor reservado, não um CNP.

Transações35
TotalRON 41.340.576,71
Data no ficheiro2022-05-31
Última verificação: Licença: CC-BY-4.0

Todas as partes, IBAN e montantes abaixo são fictícios. Os IBAN são estruturalmente válidos — passam no mod-97 — mas não correspondem a nenhuma conta real.

Conteúdo do ficheiro

<?xml version="1.0" encoding="UTF-8"?>
<!--

    Licensed under European Union Public Licence (EUPL) version 1.2.

-->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
<!--                                                                                -->
<!--     Note - The purpose is to illustrate a invoice instance with many elements    -->
<!--     (but probably insufficient from business perspective) -->
<!--                                                                                -->
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->

<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:UBLVersionID>2.1</cbc:UBLVersionID>
  <cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:efactura.mfinante.ro:CIUS-RO:1.0.1</cbc:CustomizationID>
  <cbc:ID>6422451356</cbc:ID>
  <cbc:IssueDate>2022-05-31</cbc:IssueDate>
  <cbc:DueDate>2022-05-31</cbc:DueDate>
  <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
  <cbc:Note>some text for invoice note</cbc:Note>
  <cbc:DocumentCurrencyCode>RON</cbc:DocumentCurrencyCode>
  <cac:InvoicePeriod>
    <cbc:EndDate>2022-05-31</cbc:EndDate>
  </cac:InvoicePeriod>
  <cac:AccountingSupplierParty> <!-- BG-4 VÂNZĂTOR -->
    <cac:Party>
      <cac:PartyName>
        <cbc:Name>Seller SRL</cbc:Name>
      </cac:PartyName>
      <cac:PostalAddress>
        <cbc:StreetName>line1</cbc:StreetName>
        <cbc:CityName>SECTOR1</cbc:CityName>
        <cbc:PostalZone>013329</cbc:PostalZone>
        <cbc:CountrySubentity>RO-B</cbc:CountrySubentity>
        <cac:Country>
          <cbc:IdentificationCode>RO</cbc:IdentificationCode>
        </cac:Country>
      </cac:PostalAddress>
      <cac:PartyTaxScheme>
        <cbc:CompanyID>RO1234567897</cbc:CompanyID>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:PartyTaxScheme>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName>Seller SRL</cbc:RegistrationName>
        <cbc:CompanyLegalForm>J40/12345/1998</cbc:CompanyLegalForm>
      </cac:PartyLegalEntity>
      <cac:Contact>
        <cbc:ElectronicMail>[email protected]</cbc:ElectronicMail>
      </cac:Contact>
    </cac:Party>
  </cac:AccountingSupplierParty>
  <cac:AccountingCustomerParty> <!-- BG-7 CUMPĂRĂTOR -->
    <cac:Party>
      <cac:PartyIdentification>
        <cbc:ID>123456</cbc:ID>
      </cac:PartyIdentification>
      <cac:PartyName>
        <cbc:Name>Buyer name</cbc:Name>
      </cac:PartyName>
      <cac:PostalAddress>
        <cbc:StreetName>BD DECEBAL NR 1 ET1</cbc:StreetName>
        <cbc:CityName>ARAD</cbc:CityName>
        <cbc:PostalZone>123456</cbc:PostalZone>
        <cbc:CountrySubentity>RO-AR</cbc:CountrySubentity>
        <cac:Country>
          <cbc:IdentificationCode>RO</cbc:IdentificationCode>
        </cac:Country>
      </cac:PostalAddress>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName>Buyer SRL</cbc:RegistrationName>
        <cbc:CompanyID>0000000000000</cbc:CompanyID>
      </cac:PartyLegalEntity>
    </cac:Party>
  </cac:AccountingCustomerParty>
  <cac:PaymentMeans> <!-- BG-16 INSTRUCŢIUNI DE PLATĂ -->
    <cbc:PaymentMeansCode>31</cbc:PaymentMeansCode>
    <cac:PayeeFinancialAccount>
      <cbc:ID>RO80RNCB0067054355123456</cbc:ID>
    </cac:PayeeFinancialAccount>
  </cac:PaymentMeans>
  <cac:TaxTotal>
    <cbc:TaxAmount currencyID="RON">6598592.6</cbc:TaxAmount><!-- BT-110/ BT-111 Valoarea totală a TVA a facturii/ Valoarea TVA totală a facturii în moneda de contabilizare-->
    <cac:TaxSubtotal><!-- BG-23 DETALIEREA TVA -->
      <cbc:TaxableAmount currencyID="RON">696.12</cbc:TaxableAmount><!-- BT-116 -->
      <cbc:TaxAmount currencyID="RON">34.79</cbc:TaxAmount><!-- BT-117 -->
      <cac:TaxCategory>
        <cbc:ID>S</cbc:ID><!-- BT-118 -->
        <cbc:Percent>5.00</cbc:Percent><!-- BT-119 -->
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="RON">22875.45</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="RON">2059.43</cbc:TaxAmount>
      <cac:TaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>9.00</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="RON">34718412.54</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="RON">6596498.38</cbc:TaxAmount>
      <cac:TaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>19.00</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>
  <cac:LegalMonetaryTotal><!-- BG-22 TOTALURI ALE DOCUMENTULUI-->
    <cbc:LineExtensionAmount currencyID="RON">34741984.11</cbc:LineExtensionAmount><!-- BT-106 Suma valorilor nete ale liniilor facturii -->
    <cbc:TaxExclusiveAmount currencyID="RON">34741984.11</cbc:TaxExclusiveAmount><!-- BT-109 Valoarea totală a facturii fără TVA -->
    <cbc:TaxInclusiveAmount currencyID="RON">41340576.71</cbc:TaxInclusiveAmount><!-- BT-112 Valoarea totală a facturii cu TVA -->
    <cbc:PayableAmount currencyID="RON">41340576.71</cbc:PayableAmount><!-- BT-115 Suma de plată -->
  </cac:LegalMonetaryTotal>
  <cac:InvoiceLine>
    <cbc:ID>1</cbc:ID>
    <cbc:InvoicedQuantity unitCode="C62">46396.67</cbc:InvoicedQuantity><!-- BT-129 Cantitatea-->
    <cbc:LineExtensionAmount currencyID="RON">334641.38</cbc:LineExtensionAmount><!-- BT-131 Valoarea neta a liniei -->
    <cac:AllowanceCharge>
      <cbc:ChargeIndicator>false</cbc:ChargeIndicator> <!-- BG-27 deducere -->
      <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode><!-- BT-140-->
      <cbc:AllowanceChargeReason>Discount</cbc:AllowanceChargeReason><!-- BT-139-->
      <cbc:Amount currencyID="RON">801.98</cbc:Amount><!-- BT-136-->
    </cac:AllowanceCharge>
    <cac:AllowanceCharge>
      <cbc:ChargeIndicator>true</cbc:ChargeIndicator> <!-- BG-28 taxa suplimnentara -->
      <cbc:AllowanceChargeReasonCode>ZZZ</cbc:AllowanceChargeReasonCode><!-- BT-145-->
      <cbc:AllowanceChargeReason>Mutually defined</cbc:AllowanceChargeReason><!-- BT-144-->
      <cbc:Amount currencyID="RON">-19272.48</cbc:Amount><!-- BT-141 Valoarea taxei suplimentare la linia facturii-->
      <cbc:BaseAmount currencyID="RON">354715.84</cbc:BaseAmount><!-- BT-142 Valoarea de bază a taxei suplimentare la linia facturii-->
    </cac:AllowanceCharge>
    <cac:Item>
      <cbc:Name>item name</cbc:Name>
      <cac:SellersItemIdentification>
        <cbc:ID>0102</cbc:ID>
      </cac:SellersItemIdentification>
      <cac:CommodityClassification>
        <cbc:ItemClassificationCode listID="STI">03222000-3</cbc:ItemClassificationCode><!-- BT-158/BT-158-1 Identificatorul clasificării articolului(cod CPV pentru Fructe şi fructe cu coajă”)/ Identificatorul schemei -->
      </cac:CommodityClassification>
      <cac:ClassifiedTaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>19.00</cbc:Percent>
        <cac:TaxScheme>
          <cbc:ID>VAT</cbc:ID>
        </cac:TaxScheme>
      </cac:ClassifiedTaxCategory>
    </cac:Item>
    <cac:Price>
      <cbc:PriceAmount currencyID="RON">7.6453</cbc:PriceAmount>

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

Como sabemos que estes resultados se mantêm

Cada ficheiro desta biblioteca passa pelo próprio validador do site em cada build. O resultado esperado indicado acima é verificado por um teste automatizado: se um ficheiro deixasse de corresponder ao que esta página afirma, o build falharia. Duas fixtures herdadas foram reparadas assim antes da publicação: três IBAN falhavam o mod-97 e vários nomes usavam caracteres fora do conjunto SEPA básico.

Fatura RO e-Factura (Roménia, ANAF)