RO e-Factura — B2C invoice with the anonymous CNP (0000000000000)
Une facture B2C dont l’acheteur est un particulier, identifié par le CNP anonyme de treize zéros — en production depuis le 16 décembre 2024. Elle est valide, et un validateur qui y verrait un numéro personnel mal formé casserait toute la facturation aux consommateurs roumains : ce numéro ne survit à aucune règle de forme du CNP (son premier chiffre, 0, est refusé partout ailleurs), parce que c’est une valeur réservée, pas un CNP.
RO_CIUS 1.0.1 · UBL 2.1 — Valide
Une facture B2C dont l’acheteur est un particulier, identifié par le CNP anonyme de treize zéros — en production depuis le 16 décembre 2024. Elle est valide, et un validateur qui y verrait un numéro personnel mal formé casserait toute la facturation aux consommateurs roumains : ce numéro ne survit à aucune règle de forme du CNP (son premier chiffre, 0, est refusé partout ailleurs), parce que c’est une valeur réservée, pas un CNP.
Ce que montre ce fichier
Une facture B2C dont l’acheteur est un particulier, identifié par le CNP anonyme de treize zéros — en production depuis le 16 décembre 2024. Elle est valide, et un validateur qui y verrait un numéro personnel mal formé casserait toute la facturation aux consommateurs roumains : ce numéro ne survit à aucune règle de forme du CNP (son premier chiffre, 0, est refusé partout ailleurs), parce que c’est une valeur réservée, pas un CNP.
| Transactions | 35 |
|---|---|
| Total | 41 340 576,71 RON |
| Date contenue dans le fichier | 2022-05-31 |
Toutes les parties, IBAN et montants ci-dessous sont fictifs. Les IBAN sont structurellement valides — ils passent le mod-97 — mais ne correspondent à aucun compte réel.
Contenu du fichier
<?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.
Comment nous savons que ces résultats tiennent
Chaque fichier de cette bibliothèque passe dans le validateur du site à chaque build. Le résultat attendu annoncé ci-dessus est vérifié par un test automatisé : si un fichier cessait de correspondre à ce que cette page affirme, le build échouerait. Deux fixtures héritées ont été réparées ainsi avant publication : trois IBAN échouaient au mod-97 et plusieurs libellés utilisaient des caractères hors du jeu SEPA de base.