RO e-Factura — buyer CUI with a wrong check digit (ERRIdentif)
Il campione che rivela l’angolo cieco di ogni validatore che esegue solo lo Schematron. Il CUI dell’acquirente (RO987456123) ha una cifra di controllo sbagliata — e NESSUNA regola dello Schematron la guarda. Questo file supera l’XSD, supera l’intero corpus CIUS-RO, e l’ANAF lo respinge lo stesso, con un codice tutto suo: ERRIdentif, « CUI cumparator incorect ».
RO_CIUS 1.0.1 · UBL 2.1 — Non valido
Il campione che rivela l’angolo cieco di ogni validatore che esegue solo lo Schematron. Il CUI dell’acquirente (RO987456123) ha una cifra di controllo sbagliata — e NESSUNA regola dello Schematron la guarda. Questo file supera l’XSD, supera l’intero corpus CIUS-RO, e l’ANAF lo respinge lo stesso, con un codice tutto suo: ERRIdentif, « CUI cumparator incorect ».
Cosa mostra questo file
Il campione che rivela l’angolo cieco di ogni validatore che esegue solo lo Schematron. Il CUI dell’acquirente (RO987456123) ha una cifra di controllo sbagliata — e NESSUNA regola dello Schematron la guarda. Questo file supera l’XSD, supera l’intero corpus CIUS-RO, e l’ANAF lo respinge lo stesso, con un codice tutto suo: ERRIdentif, « CUI cumparator incorect ».
| Transazioni | 35 |
|---|---|
| Totale | 41.340.576,71 RON |
| Data nel file | 2022-05-31 |
I difetti che contiene
- ERRIdentifCUI cumparator incorect
Citato alla lettera dal validatore, non parafrasato.
Tutte le parti, gli IBAN e gli importi qui sotto sono fittizi. Gli IBAN sono strutturalmente validi — superano il mod-97 — ma non corrispondono ad alcun conto reale.
Contenuto del file
<?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:PartyTaxScheme>
<cbc:CompanyID>RO987456123</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Buyer SRL</cbc:RegistrationName>
<cbc:CompanyID>J02/321/2010</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>160 / 1039 lines shown — the complete file is in the download above.
Come sappiamo che questi risultati reggono
Ogni file di questa libreria passa nel validatore del sito a ogni build. Il risultato atteso indicato sopra è verificato da un test automatico: se un file smettesse di corrispondere a quanto afferma questa pagina, la build fallirebbe. Due fixture ereditate sono state riparate così prima della pubblicazione: tre IBAN non superavano il mod-97 e diversi nomi usavano caratteri fuori dal set SEPA di base.