ediverse Explorer la plateforme

À la une PEPPOL BIS Billing 3.0 L’obligation européenne d’e-invoicing arrive : France sept 2026, Belgique janv 2026, Allemagne 2025.

RO_CIUS — Romanian Core Invoice Usage Specification

RO_CIUS est la customization roumaine d'OASIS UBL 2.1, conforme à la norme européenne EN 16931. C'est le seul format de facture accepté par e-Factura : aucune autre syntaxe (CII, EDIFACT, JSON) n'est juridiquement valide pour le clearance B2B et B2G domestique.

Origine — du CIUS à RO_CIUS

Le concept de Core Invoice Usage Specification est défini par la norme EN 16931:2017. Chaque État membre UE peut publier sa propre CIUS qui restreint, complète ou contraint le modèle européen de base pour répondre à ses spécificités fiscales.

La Roumanie a publié RO_CIUS V1.0 en avril 2022 (avant l'ouverture e-Factura volontaire B2G), puis V1.0.1 en novembre 2023 (intégration EN 16931 AMD 2 et règles de transition). La spécification est publiée publiquement sur static.anaf.ro en trois formats : descriptif PDF, Schematron .sch, et codelists XML.

  • V1.0 (avril 2022) : conformité EN 16931:2017, lancement B2G pilote.
  • V1.0.1 (novembre 2023) : AMD 2 EN 16931, ajout taxare inversă, alignement Legea 296/2023.
  • V1.0.2 (annoncée Q3 2026) : intégration EN 16931 v1.2, alignement Wave 2 ViDA (VAT in the Digital Age).

Champs obligatoires RO_CIUS

Les champs marqués obligatoires par RO_CIUS reprennent le core EN 16931 et ajoutent quelques contraintes nationales :

Élément XPathDescriptionContraintes RO_CIUS
cbc:CustomizationIDIdentifiant customizationDoit être urn:cen.eu:en16931:2017#compliant#urn:efactura.mfinante.ro:CIUS-RO:1.0.1
cbc:IDNuméro de factureMax 30 caractères, unique par CIF émetteur
cbc:IssueDateDate d'émissionFormat YYYY-MM-DD
cbc:InvoiceTypeCodeType document380 facture, 381 avoir, 384 corrective, 389 self-billed
cbc:DocumentCurrencyCodeDeviseRON ou devise UE acceptée — conversion ANAF si non-RON
AccountingSupplierParty/PartyTaxScheme/CompanyIDCIF émetteurPréfixé RO + 2 à 10 chiffres
AccountingSupplierParty/PartyLegalEntity/CompanyIDNuméro Registrul ComerțuluiFormat J40/12345/2015 (J + judet + n° + an)
AccountingCustomerParty/PartyTaxScheme/CompanyIDCIF destinatairePréfixé RO si assujetti TVA RO
TaxTotal/TaxAmountTotal TVA2 décimales, devise = DocumentCurrencyCode
LegalMonetaryTotal/PayableAmountMontant à payer2 décimales, devise = DocumentCurrencyCode

Champs spécifiques roumains

RO_CIUS introduit des champs ou contraintes propres au contexte roumain :

  • Numéro Registrul Comerțului (J/F/C + judet + n° + an) — obligatoire pour l'émetteur, identifiant unique au registre du commerce roumain (ONRC).
  • CIF avec préfixe RO — uniquement pour les assujettis TVA actifs. Une entité non-assujettie utilise son CUI sans préfixe RO.
  • Code judet — code à 2 lettres du département roumain (B pour Bucarest, CJ pour Cluj, etc.), inséré dans cac:Country/cbc:IdentificationCode via extension RO.
  • Référence ordin de plată — pour les opérations avec administration publique, référence au bon de commande municipal via cac:OrderReference/cbc:ID.
  • Référence UIT e-Transport — si la facture correspond à une expédition e-Transport, l'UIT (code transport unique) doit être référencé via cac:DespatchDocumentReference/cbc:ID.
  • Mention textuelle taxare inversă — pour les opérations art. 331 Cod Fiscal, la mention « taxare inversă conform art. 331 Cod Fiscal » doit apparaître dans cac:LegalMonetaryTotal/cbc:Note ou dans une note en-tête.

Règles de validation Schematron

Le Schematron RO_CIUS publié par l'ANAF complète la validation XSD UBL avec ~150 règles métier (préfixées BR-RO-XX) :

  • BR-RO-010 : le CIF émetteur doit exister dans la base ANAF des assujettis TVA actifs au moment de l'émission.
  • BR-RO-020 : si cbc:DocumentCurrencyCode ≠ RON, un taux de change ANAF du jour doit être indiqué via cac:PricingExchangeRate.
  • BR-RO-031 : les opérations taxare inversă (cbc:ID=AE) doivent comporter la mention textuelle « taxare inversă conform art. 331 ».
  • BR-RO-040 : pour les factures B2G, le cod autoritate du destinataire (issu de SEAP) doit être indiqué dans cbc:BuyerReference.
  • BR-RO-080 : pour les factures e-Transport, le code UIT doit être référencé via cac:DespatchDocumentReference.

Les règles BR-CO-XX du CEN restent applicables — BR-CO-15 cohérence arithmétique, BR-CO-25 montants positifs, etc.

Exemple XML RO_CIUS minimal

Facture domestique RO → RO, 1 000 RON HT, taxe standard 19 % :

xml ro-cius-sample.xml
<?xml version="1.0" encoding="UTF-8"?>
<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:efactura.mfinante.ro:CIUS-RO:1.0.1</cbc:CustomizationID>
  <cbc:ID>FAC-2026-04-0142</cbc:ID>
  <cbc:IssueDate>2026-04-15</cbc:IssueDate>
  <cbc:DueDate>2026-05-15</cbc:DueDate>
  <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
  <cbc:DocumentCurrencyCode>RON</cbc:DocumentCurrencyCode>

  <cac:AccountingSupplierParty>
    <cac:Party>
      <cac:PartyName><cbc:Name>SC Furnizor SRL</cbc:Name></cac:PartyName>
      <cac:PostalAddress>
        <cbc:StreetName>Bulevardul Magheru 12</cbc:StreetName>
        <cbc:CityName>Bucuresti</cbc:CityName>
        <cbc:PostalZone>010332</cbc:PostalZone>
        <cac:Country><cbc:IdentificationCode>RO</cbc:IdentificationCode></cac:Country>
      </cac:PostalAddress>
      <cac:PartyTaxScheme>
        <cbc:CompanyID>RO12345678</cbc:CompanyID>
        <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
      </cac:PartyTaxScheme>
      <cac:PartyLegalEntity>
        <cbc:RegistrationName>SC Furnizor SRL</cbc:RegistrationName>
        <cbc:CompanyID>J40/12345/2015</cbc:CompanyID>
      </cac:PartyLegalEntity>
    </cac:Party>
  </cac:AccountingSupplierParty>

  <cac:AccountingCustomerParty>
    <cac:Party>
      <cac:PartyName><cbc:Name>SC Client SA</cbc:Name></cac:PartyName>
      <cac:PostalAddress>
        <cbc:StreetName>Strada Industriilor 45</cbc:StreetName>
        <cbc:CityName>Cluj-Napoca</cbc:CityName>
        <cbc:PostalZone>400000</cbc:PostalZone>
        <cac:Country><cbc:IdentificationCode>RO</cbc:IdentificationCode></cac:Country>
      </cac:PostalAddress>
      <cac:PartyTaxScheme>
        <cbc:CompanyID>RO87654321</cbc:CompanyID>
        <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
      </cac:PartyTaxScheme>
    </cac:Party>
  </cac:AccountingCustomerParty>

  <cac:TaxTotal>
    <cbc:TaxAmount currencyID="RON">190.00</cbc:TaxAmount>
    <cac:TaxSubtotal>
      <cbc:TaxableAmount currencyID="RON">1000.00</cbc:TaxableAmount>
      <cbc:TaxAmount currencyID="RON">190.00</cbc:TaxAmount>
      <cac:TaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>19</cbc:Percent>
        <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
      </cac:TaxCategory>
    </cac:TaxSubtotal>
  </cac:TaxTotal>

  <cac:LegalMonetaryTotal>
    <cbc:LineExtensionAmount currencyID="RON">1000.00</cbc:LineExtensionAmount>
    <cbc:TaxExclusiveAmount currencyID="RON">1000.00</cbc:TaxExclusiveAmount>
    <cbc:TaxInclusiveAmount currencyID="RON">1190.00</cbc:TaxInclusiveAmount>
    <cbc:PayableAmount currencyID="RON">1190.00</cbc:PayableAmount>
  </cac:LegalMonetaryTotal>

  <cac:InvoiceLine>
    <cbc:ID>1</cbc:ID>
    <cbc:InvoicedQuantity unitCode="EA">10</cbc:InvoicedQuantity>
    <cbc:LineExtensionAmount currencyID="RON">1000.00</cbc:LineExtensionAmount>
    <cac:Item>
      <cbc:Name>Serviciu consultanță IT</cbc:Name>
      <cac:ClassifiedTaxCategory>
        <cbc:ID>S</cbc:ID>
        <cbc:Percent>19</cbc:Percent>
        <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
      </cac:ClassifiedTaxCategory>
    </cac:Item>
    <cac:Price>
      <cbc:PriceAmount currencyID="RON">100.00</cbc:PriceAmount>
    </cac:Price>
  </cac:InvoiceLine>

</Invoice>

Codelists EN 16931 + RO

Les codelists obligatoires utilisées par RO_CIUS :

  • InvoiceTypeCode (UNTDID 1001) : 380 (Commercial invoice), 381 (Credit note), 384 (Corrected invoice), 389 (Self-billed), 751 (Invoice for accounting purposes — usage IC).
  • TaxCategory ID (UNTDID 5305) : S, Z, E, AE, K, G, L, M, O (voir page TVA pour le mapping détaillé).
  • Currency (ISO 4217) : RON principalement, EUR/USD acceptés avec exchange rate ANAF.
  • Country (ISO 3166-1 alpha-2) : RO obligatoire pour les parties RO, autres codes ISO standard pour IC.
  • Unit of measure (UN/ECE Rec 20) : EA, KGM, LTR, MTR, etc. La liste UNECE est imposée — pas de codes nationaux.
  • PaymentMeans (UNTDID 4461) : 30 Bonifico (virement), 48 Card, 49 SEPA, 58 Direct debit, 1 Cash (rare en B2B), 23 IBAN transfer.
  • VATEX (codelist EU) : codes exonérations TVA UE étendus avec codes RO pour spécificités roumaines.

Pièges courants

  • Préfixe RO du CIF. Pour les assujettis TVA actifs, le CompanyID doit être RO12345678. Sans le préfixe, la facture est rejetée (BR-RO-010).
  • Encoding UTF-8 vs Latin-2. Beaucoup d'ERP français ou allemand émettent en Latin-1 par défaut. Les caractères roumains diacritiques (ă, â, î, ș, ț) deviennent illisibles. UTF-8 strict obligatoire.
  • Numéro Registrul Comerțului mal formaté. Le format attendu est J40/12345/2015 (J = société commerciale, 40 = code județ Bucarest, 12345 = numéro séquentiel, 2015 = année enregistrement). Les variantes F (PFA) ou C (filiale étrangère) doivent être respectées.
  • Devise non-RON sans exchange rate. Facture en EUR ou USD sans cac:PricingExchangeRate indiquant le taux ANAF du jour de la date d'émission → rejet BR-RO-020.
  • InvoiceTypeCode 380 vs 384. Une facture corrective doit utiliser 384 (corrected invoice) avec référence à la facture originale via cac:BillingReference. Pas 380.
  • UIT e-Transport non référencé. Pour les factures d'expéditions e-Transport (> 250 K€ depuis 2025), oublier la référence UIT déclenche un double rejet ANAF (e-Factura + e-Transport).

Liens transverses