Cuprins
Un singur apel după CUI îți spune dacă partenerul e înregistrat în scopuri de TVA, de când, dacă aplică TVA la încasare sau plata defalcată și dacă nu cumva e inactiv fiscal. Cu asta ai tot ce-ți trebuie ca modulul de facturare să nu mai greșească. Restul articolului e despre detaliile care fac diferența.
Merită efortul, pentru că greșeala costă. Facturezi fără TVA un client care trebuia să primească factură cu TVA, sau invers, și ajungi la stornări, corecții în declarații și un telefon neplăcut. Iar dacă primești facturi cu TVA de la un furnizor care nu mai era înregistrat, deducerea poate fi contestată. Pe site-ul ANAF verifici ușor un partener pe lună. Pentru o sută, lași aplicația.

„Statutul de TVA” sunt de fapt cinci lucruri
Primul e înregistrarea în scopuri de TVA și data de la care e valabilă. De ea depinde dacă factura are TVA. Al doilea e istoricul înregistrării, pentru că o firmă poate fi înregistrată, scoasă din evidență și reînregistrată. La o factură veche contează situația de la data facturii, nu cea de azi.
Al treilea e TVA la încasare. Firmele care aplică sistemul exigibilizează TVA-ul la încasare, iar asta influențează și momentul în care clientul își poate deduce taxa. Al patrulea e plata defalcată a TVA, un regim special cu cont separat pentru TVA, care schimbă felul în care se face plata.
Al cincilea nu ține strict de TVA, dar eu îl verific mereu în același moment: inactivitatea fiscală. Are efecte directe asupra deducerii și ar fi păcat să-l ratezi când ai deja răspunsul în față.
Unde le găsești în răspuns
Toate vin din GET /api/v1/registru/firme/{cui}, care costă un credit și se actualizează zilnic din registrul ANAF. Stau în obiectul fiscal. Un detaliu de formă care prinde pe mulți: platitor_tva e o valoare simplă, adevărat sau fals, dar TVA la încasare, plata defalcată și inactivitatea sunt obiecte, cu starea în câmpul activ.
| Câmp | Ce îți spune |
|---|---|
fiscal.platitor_tva | Dacă firma e înregistrată acum în scopuri de TVA: true sau false |
fiscal.perioade_tva | Perioadele de înregistrare, fiecare cu de_la, pana_la, data_anularii și mentiune |
fiscal.tva_la_incasare.activ | Dacă aplică sistemul TVA la încasare; obiectul are și de_la și pana_la |
fiscal.split_tva.activ | Dacă aplică plata defalcată a TVA; obiectul are și de_la și anulat_la |
fiscal.inactiv.activ | Dacă e declarată inactivă fiscal; obiectul are și inactivat_la și reactivat_la |
fiscal.e_factura.inscris | Dacă e înscrisă în Registrul RO e-Factura, de la data din de_la |
Verificarea chiar înainte de factură
Codul de mai jos rulează pe sandbox, cu CUI-ul de test 90000010. Pentru sandbox îți trebuie o cheie API, deci un cont, gratuit și fără card. Cererile de acolo nu consumă credite și primesc date fictive. Funcția întoarce un obiect simplu, pe care modulul de facturare îl folosește direct.
import os, requests
def regim_tva(cui):
r = requests.get(
f"https://www.bilantapi.ro/api/sandbox/v1/registru/firme/{cui}",
headers={"X-API-KEY": os.environ["BILANTAPI_KEY"]},
timeout=10,
)
fiscal = r.json()["data"]["fiscal"]
return {
"cu_tva": fiscal["platitor_tva"],
"perioade": fiscal["perioade_tva"],
"tva_la_incasare": fiscal["tva_la_incasare"]["activ"],
"split_tva": fiscal["split_tva"]["activ"],
"inactiv": fiscal["inactiv"]["activ"],
}
print(regim_tva("90000010"))
Rezultatul hotărăște dacă se aplică TVA pe linii, ce mențiuni apar pe document și dacă factura poate pleca fără o confirmare în plus.
Factura de acum trei luni
Greșeala pe care o văd cel mai des e verificarea statutului de azi pentru o factură veche. Dacă partenerul a fost scos din evidența TVA între timp, statutul curent nu mai spune nimic despre ziua tranzacției. De asta fiscal.perioade_tva e mai util decât un simplu da sau nu. Compari data facturii cu de_la și pana_la ale fiecărei perioade. O perioadă cu pana_la gol e încă în vigoare.
Îți trebuie mai ales la reconcilieri și la controalele interne, când verifici retroactiv facturile primite într-o perioadă. Și la facturile emise cu întârziere pentru livrări mai vechi, care sunt mai frecvente decât ar recunoaște cineva.

TVA la încasare și plata defalcată
Niciunul dintre cele două regimuri nu schimbă dacă factura are TVA. Schimbă cum circulă banii și când devine taxa exigibilă sau deductibilă. Dacă furnizorul aplică TVA la încasare, contabilitatea ta trebuie să știe ca să trateze corect deducerea. La plata defalcată, cei de la plăți trebuie să știe unde se virează TVA-ul.
Un sfat: nu codifica regulile din memorie. Sunt stabilite de Codul fiscal și de normele lui și se mai schimbă. Lasă aplicația să marcheze regimul partenerului, iar contabilul să decidă tratamentul după legislația în vigoare.
Toată baza de parteneri, dintr-o dată
Dacă ai deja o bază de parteneri, începe cu o verificare completă a tuturor fișelor. Trimiți cererile pe rând sau în loturi mici, salvezi rezultatul cu data verificării și îl compari cu ce aveai în ERP. Diferențele sunt lista ta de corecturi. Nu te speria dacă e lungă prima dată.
La prospectare lucrezi invers: vrei firme care îndeplinesc un criteriu fiscal. Căutarea de firme are filtrele platitor_tva, tva_la_incasare, e_factura și inactiv_fiscal, cu valorile da sau nu. De exemplu, /api/v1/registru/firme?judet=CJ&stare=ACTIVA&platitor_tva=da întoarce firmele active plătitoare de TVA din Cluj, fiecare cu profilul complet. Implicit primești 25 de firme pe pagină, iar cu pagina și pe_pagina poți cere până la 100.
Când s-a schimbat ceva
O verificare periodică își merită banii atunci când prinde o schimbare, nu când confirmă că totul e la fel. Păstrează în fișa partenerului ultima valoare cunoscută pentru fiecare câmp fiscal și compar-o cu cea nouă.
Când apare o diferență, eu aș face așa. Actualizez fișa și păstrez vechea valoare într-un jurnal, cu data schimbării. Anunț omul care se ocupă de partener, cu un email intern de exemplu. Iar dacă schimbarea e o scoatere din evidența TVA sau o declarare ca inactiv, blochez temporar facturarea automată până se uită cineva. Jurnalul îți va prinde bine și la audit, când trebuie să arăți că ai verificat partenerul la momentul potrivit.
Cât de des
Datele se actualizează zilnic, dar nu trebuie să întrebi zilnic de fiecare partener. Verifici la crearea fișei, înainte de facturile mari și periodic, de exemplu lunar, pentru toți partenerii activi. La un credit pe verificare, o rulare lunară pentru câteva sute de parteneri costă puțin și te scapă de ore de corecturi.
Câmpurile fiscale sunt descrise pe pagina API Informații firmă, iar căutarea cu filtre fiscale pe pagina API Căutare firme. Contul nou vine cu 250 de credite gratuite și nu-ți cere card, adică statutul de TVA pentru 250 de parteneri. Îl faci aici.
Întrebări frecvente
Pot afla dacă firma era plătitoare de TVA la data unei facturi vechi?
Da. În fiscal.perioade_tva ai perioadele de înregistrare, cu datele lor, și le compari cu data facturii.
Cât de proaspete sunt datele despre TVA?
Profilul fiscal se actualizează zilnic din registrul ANAF.
Vreau doar firmele plătitoare de TVA dintr-un județ. Se poate?
Da, din căutarea de firme, cu filtrele judet și platitor_tva=da. Plătești un credit pe fiecare rezultat.



