RO e-Factura — B2C invoice with the anonymous CNP (0000000000000)
Una factura B2C cuyo comprador es un particular, identificado por el CNP anónimo de trece ceros — en producción desde el 16 de diciembre de 2024. Es válida, y un validador que lo tomara por un número personal mal formado rompería toda la facturación a consumidores en Rumanía: ese número no supera ninguna regla de forma del CNP (su primer dígito, 0, se rechaza en cualquier otro caso), porque es un valor reservado, no un CNP.
RO_CIUS 1.0.1 · UBL 2.1 — Válido
Una factura B2C cuyo comprador es un particular, identificado por el CNP anónimo de trece ceros — en producción desde el 16 de diciembre de 2024. Es válida, y un validador que lo tomara por un número personal mal formado rompería toda la facturación a consumidores en Rumanía: ese número no supera ninguna regla de forma del CNP (su primer dígito, 0, se rechaza en cualquier otro caso), porque es un valor reservado, no un CNP.
Lo que muestra este fichero
Una factura B2C cuyo comprador es un particular, identificado por el CNP anónimo de trece ceros — en producción desde el 16 de diciembre de 2024. Es válida, y un validador que lo tomara por un número personal mal formado rompería toda la facturación a consumidores en Rumanía: ese número no supera ninguna regla de forma del CNP (su primer dígito, 0, se rechaza en cualquier otro caso), porque es un valor reservado, no un CNP.
| Transacciones | 35 |
|---|---|
| Total | 41.340.576,71 RON |
| Fecha en el fichero | 2022-05-31 |
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"?>
<!--
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.
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.