Din 2024, facturile B2B circulă prin sistemul RO e-Factura al ANAF. Un CUI greșit sau o firmă radiată se observă cel mai ieftin înainte de emitere. Verifică-le printr-un apel API.
Din 1 ianuarie 2024, operatorii economici stabiliți în România raportează facturile B2B în sistemul RO e-Factura al ANAF, iar din 1 iulie 2024 le transmit destinatarilor prin același sistem. Factura se leagă de CUI-ul cumpărătorului: nu mai este un PDF trimis pe e-mail, ci un document structurat, ale cărui date de identificare trebuie să fie corecte din prima. Un CUI scris greșit în fișa clientului, o denumire veche sau un client care între timp și-a încetat activitatea înseamnă facturi respinse, corecții și întârzieri la încasare.
Cele mai multe erori vin din date de client introduse manual sau rămase neschimbate ani de zile. O verificare automată la crearea clientului, și din nou înainte de emiterea unei facturi mari, costă un apel API.
Aplicația ta de facturare apelează API-ul înainte de a trimite factura prin sistemul ANAF și compară rezultatul cu datele din fișa clientului.
GET /companies/search?country=RO&company_number=... caută clientul după CUI. Acceptă CUI-ul cu sau fără prefixul RO.company_name și adresa cu fișa clientului din aplicație.status: o firmă dizolvată sau radiată nu mai este un client cu care să mergi mai departe.GET /vat/RO5022670 confirmă în VIES că numărul de TVA este activ.POST /monitor te anunță când clientul își schimbă statusul sau denumirea.import requests
BASE = 'https://api.prometiam.com/functions/v1/risk-api'
H = {'Authorization': 'Bearer rk_live_...'}
def client_ok(cui: str, denumire_din_fisa: str) -> bool:
r = requests.get(f'{BASE}/companies/search', headers=H,
params={'country': 'RO', 'company_number': cui})
rezultate = r.json().get('data', [])
if not rezultate:
return False # CUI inexistent sau persoana nu este servită
firma = rezultate[0]
return firma['status'] == 'active' and firma['company_name'].upper() == denumire_din_fisa.upper()
| Verificare înainte de factură | Câmp |
|---|---|
| CUI-ul există în Registrul Comerțului | rezultat la company_number |
| Denumirea din fișa clientului este cea din registru | company_name |
| Clientul nu este dizolvat, în lichidare sau în insolvență | status, local_status |
| Adresa este actuală | câmpurile de adresă |
| Numărul de TVA este activ | vat_number și GET /vat/RO... |
vat_number este construit din CUI (RO + CUI), iar registrul nu confirmă înregistrarea. Confirmarea o dă GET /vat/RO....Momentul cel mai util este crearea sau modificarea fișei de client: o singură verificare prinde CUI-urile scrise greșit înainte să ajungă în prima factură. A doua verificare utilă este înaintea unei facturi de valoare mare sau după o pauză lungă de colaborare, când clientul și-a putut schimba denumirea sau statusul.
Pentru clienții recurenți, o monitorizare cu POST /monitor este mai ieftină decât reverificarea la fiecare factură: primești un webhook doar când ceva se schimbă în registru. Dacă firma ta emite facturi către clienți din alte țări europene, aceleași apeluri funcționează cu parametrul country al țării respective.
Dacă emiți facturi și către clienți din alte țări, aceeași structură de răspuns funcționează pentru toate cele 27 de țări acoperite, cu parametrul country potrivit. Regulile de e-facturare diferă de la țară la țară, așa că verificarea CUI-ului rămâne specifică României, iar pentru celelalte piețe găsești detalii în pagina despre e-facturare.
O verificare la crearea fiecărui client și una înainte de facturile mari încap, pentru majoritatea firmelor, în Starter (9,99 EUR pe lună, 1.000 de credite). Perioada de probă durează 14 zile, cu 500 de credite; cardul este necesar, dar nu se încasează nimic în timpul probei. Vezi și pagina despre e-facturare.
Contains data from the National Trade Register Office (ONRC), CC BY 4.0
Începe perioada de probă gratuită de 14 zile · Documentația API
Perioada de probă durează 14 zile și include 500 de credite. Cardul este necesar, dar nu se încasează nimic în timpul probei; apoi continuă planul Starter (9,99 EUR pe lună), dacă nu anulezi.