Eroare R_BT_32 e-Factura: cod fiscal vanzator invalid

Eroarea R_BT_32 apare cand codul fiscal al vanzatorului (BT-32) nu este valid in XML-ul e-Factura. Afla cauzele exacte si cum o corectezi rapid.

Eroare R_BT_32 e-Factura: cod fiscal vanzator invalid
Photo by Árpád Czapp on Unsplash

"R_BT_32" este o eticheta de eroare folosita de unele validatoare vendor (de exemplu DUK_Integrator si plug-in-uri de contabilitate) pentru o respingere care, in standardul EN 16931, corespunde de fapt regulii BR-CO-09 aplicate pe BT-31 (Seller VAT identifier), nu BT-32. Pastram acest articol sub eticheta vendor pentru ca utilizatorii cauta dupa string-ul exact din mesajul de eroare. Mai jos explicam ce verifica validarea si cum o corectezi.

Ce inseamna eroarea R_BT_32

Atentie la maparea EN 16931 corecta a campurilor de identificare ale vanzatorului:

  • BT-30 (Seller legal registration identifier, in cac:PartyLegalEntity/cbc:CompanyID): identificatorul legal general al companiei. In Romania, CUI-ul fara prefix "RO". Exemplu: 12345678.
  • BT-31 (Seller VAT identifier, in cac:PartyTaxScheme/cbc:CompanyID cu cac:TaxScheme/cbc:ID = "VAT"): codul de inregistrare in scopuri de TVA. Pentru platitorii de TVA romani, este CUI-ul cu prefix "RO" (ex. RO12345678). Regula BR-CO-09 impune ca BT-31 sa aiba prefix de cod de tara conform ISO 3166-1 alpha-2.
  • BT-32 (Seller tax registration identifier): un identificator fiscal alternativ, distinct de BT-31. Nu este folosit in mod uzual pentru CUI-ul TVA romanesc.

Vendor-ul care intoarce "R_BT_32" se refera, in practica, la BT-31 / BR-CO-09. Mai jos folosim terminologia EN 16931 corecta.

In XML-ul facturii, BT-31 (Seller VAT identifier) apare in sectiunea AccountingSupplierParty, in blocul PartyTaxScheme:

<cac:AccountingSupplierParty>
  <cac:Party>
    <cac:PartyLegalEntity>
      <!-- BT-30: CUI fara prefix -->
      <cbc:CompanyID>12345678</cbc:CompanyID>
    </cac:PartyLegalEntity>
    <cac:PartyTaxScheme>
      <!-- BT-31: VAT id cu prefix tara conform ISO 3166-1 (BR-CO-09) -->
      <cbc:CompanyID>RO12345678</cbc:CompanyID>
      <cac:TaxScheme>
        <cbc:ID>VAT</cbc:ID>
      </cac:TaxScheme>
    </cac:PartyTaxScheme>
  </cac:Party>
</cac:AccountingSupplierParty>

ANAF (prin DUK_Integrator) verifica BT-31 in raport cu evidenta proprie a contribuabililor si cu regula BR-CO-09 (prefix ISO de tara). Daca valoarea nu corespunde, factura este respinsa.

De ce apare aceasta eroare

Exista cinci scenarii frecvente care provoaca eticheta R_BT_32 (incalcare BR-CO-09 / BT-31 invalid):

  • Platitor TVA fara prefixul "RO". Daca firma ta este inregistrata in scopuri de TVA, BT-31 trebuie sa fie "RO" urmat de CUI. Daca treci doar CUI-ul fara prefix (de exemplu 12345678 in loc de RO12345678), incalci BR-CO-09 si factura este respinsa.
  • Neplatitor TVA cu prefixul "RO". Situatia inversa este la fel de frecventa. Companiile care nu sunt platitoare de TVA nu au cod de inregistrare TVA. PartyTaxScheme cu BT-31 nu ar trebui sa apara, sau identificarea fiscala se face prin BT-30 (PartyLegalEntity / CompanyID). Daca sistemul tau adauga "RO" automat indiferent de statut, vei primi aceasta eroare.
  • Eroare de tastare in CUI. Un singur caracter gresit in codul fiscal este suficient. Verifica daca numarul din BT-31 coincide cifra cu cifra cu CUI-ul din certificatul de inregistrare fiscala.
  • CUI actualizat dupa modificari fiscale. Desi rare, exista situatii in care un CUI se modifica (fuziuni, divizari, modificari de sediu fiscal). Daca folosesti date vechi, BT-31 va fi invalid.
  • Nepotrivire intre BT-30 si BT-31. Cele doua trebuie sa reprezinte aceeasi entitate. Daca BT-30 contine un CUI si BT-31 contine un alt numar (chiar si dupa eliminarea prefixului "RO"), validatorul detecteaza inconsistenta si respinge factura.

Exemplu XML

Compania vanzatoare este platitoare de TVA, cu CUI 12345678.

<!-- INCORECT: lipseste prefixul RO pentru un platitor TVA -->
<cac:PartyTaxScheme>
  <cbc:CompanyID schemeID="VA">12345678</cbc:CompanyID>
  <cac:TaxScheme>
    <cbc:ID>VAT</cbc:ID>
  </cac:TaxScheme>
</cac:PartyTaxScheme>

<!-- INCORECT: prefix RO pentru un neplatitor TVA -->
<cac:PartyTaxScheme>
  <cbc:CompanyID schemeID="VA">RO12345678</cbc:CompanyID>
  <cac:TaxScheme>
    <cbc:ID>VAT</cbc:ID>
  </cac:TaxScheme>
</cac:PartyTaxScheme>
<!-- CORECT: platitor TVA -- BT-32 cu prefix RO -->
<cac:PartyTaxScheme>
  <cbc:CompanyID schemeID="VA">RO12345678</cbc:CompanyID>
  <cac:TaxScheme>
    <cbc:ID>VAT</cbc:ID>
  </cac:TaxScheme>
</cac:PartyTaxScheme>

<!-- CORECT: neplatitor TVA -- BT-32 fara prefix, sau campul poate lipsi -->
<cac:PartyTaxScheme>
  <cbc:CompanyID schemeID="VA">12345678</cbc:CompanyID>
  <cac:TaxScheme>
    <cbc:ID>VAT</cbc:ID>
  </cac:TaxScheme>
</cac:PartyTaxScheme>

Nota: BT-30 (in PartyLegalEntity) contine intotdeauna CUI-ul fara prefix "RO", indiferent de statutul TVA. Confuzia dintre BT-30 si BT-32 este o alta sursa frecventa de erori.

Cum o rezolvi

  1. Verifica statutul TVA al firmei tale. Cel mai sigur mod este sa cauti CUI-ul pe portalul ANAF (anaf.ro, sectiunea Servicii online, Informatii contribuabili). Daca esti inregistrat in scopuri de TVA, vei vedea codul de TVA activ.
  2. Aplica regula corecta pentru BT-32. Platitor TVA activ: BT-32 este "RO" + CUI, de exemplu "RO12345678". Neplatitor TVA: BT-32 este CUI-ul simplu sau campul PartyTaxScheme poate sa nu includa CompanyID.
  3. Verifica ca BT-30 si BT-32 refera aceeasi firma. CUI-ul din PartyLegalEntity si numarul din PartyTaxScheme (fara prefixul "RO") trebuie sa fie identice.
  4. Controleaza CUI-ul cifra cu cifra. Compara cu datele din certificatul de inregistrare la Registrul Comertului sau cu extrasul ANAF.
  5. Actualizeaza datele in sistemul de facturare si regenereaza XML-ul. Retrimite factura la ANAF dupa corectare.

Daca statutul TVA al firmei s-a schimbat recent (ai intrat in platitor TVA sau ai iesit), verifica in toate sistemele unde ai stocat datele companiei ca informatia a fost actualizata. Un camp nectualizat intr-un ERP sau o configuratie veche poate genera aceasta eroare pe toate facturile urmatoare.

Pentru mai multe detalii despre erorile de identificare a cumparatorului, citeste si articolul despre eroarea BR-07 sau cel despre CUI cumparator inexistent in baza ANAF.

Previne eroarea cu Billyou

Cand folosesti Billyou pentru facturare, datele vanzatorului nu se trec manual pe fiecare factura. Le configurezi o singura data in setarile contului: CUI, denumire, adresa si statut TVA. Billyou preia aceste date la fiecare factura si genereaza automat BT-30 si BT-32 in formatul corect, in functie de statutul TVA al firmei tale.

Daca statutul TVA se schimba, actualizezi o singura data in setari. Toate facturile urmatoare vor folosi noua configuratie. Nu exista risc de inconsistenta intre facturi sau de omitere a prefixului "RO".

Poti incepe gratuit la app.billyou.ro/register.

Daca construiesti o integrare tehnica, API-ul Billyou gestioneaza datele vanzatorului la nivel de cont. Nu treci CUI-ul sau codul TVA in fiecare request de creare a facturii. Acestea sunt preluate din profilul companiei autentificate, validate la nivel de API si aplicate consistent in fiecare XML generat. Eroarea R_BT_32 este eliminata structural.

Intrebari frecvente

Care este diferenta dintre BT-30 si BT-32?

BT-30 este identificatorul legal general al vanzatorului, adica CUI-ul simplu, fara prefix "RO". BT-32 este codul de inregistrare in scopuri de TVA. Pentru platitorii TVA, BT-32 este "RO" urmat de CUI. Pentru neplatitorii TVA, BT-32 poate contine CUI-ul simplu sau poate lipsi. Cele doua campuri exista in locuri diferite din XML si servesc scopuri diferite.

Ce se intampla daca omit complet campul BT-32?

Daca firma ta nu este platitoare de TVA, omiterea campului PartyTaxScheme este acceptata de ANAF. Daca firma ta este platitoare de TVA, campul este obligatoriu si omiterea lui va genera o alta eroare de validare. Consulta specificatia CIUS-RO pentru regulile exacte de obligativitate.

Pot folosi codul TVA intracomunitar in BT-32?

In Romania, codul TVA intern si codul intracomunitar sunt identice ca format: "RO" urmat de CUI. Daca firma ta are cod TVA intracomunitar activ, acelasi format "ROxxxxxxxx" se foloseste in BT-32. Nu exista un camp separat pentru TVA intracomunitar in profilul CIUS-RO pentru e-Factura interna.

Am schimbat statutul TVA recent. De ce inca primesc eroarea?

Schimbarea statutului TVA in sistemul ANAF poate necesita 1-3 zile lucratoare pentru a fi reflectata in toate bazele de date de validare. In plus, verifica daca sistemul tau de facturare a preluat noua configuratie. Daca ai actualizat datele in ANAF dar nu si in aplicatia de facturare, BT-32 va fi generat cu formatul vechi.

Citește mai mult