Business v1 / Firme
Stare fiscală
Starea fiscală completă (ANAF) a unei firme: TVA (normal / la încasare / split, cu perioade),
inactivare fiscală, înrolare e-factura, radiere, date de înregistrare, CAEN, organ fiscal și contact.
GET
https://oneapi.ro/api/business/v1/firme/{cui}/fiscal
Parametri de cale
NumeTipDescriereExemplu
cuiobligatoriu
string
Codul de identificare fiscală al firmei, fără prefixul
RO (ex. 6719278).
Parametri de interogare
Ruta nu acceptă parametri de interogare.
Cum se comportă
- „Nu are” e un răspuns, nu o eroare. Când firma există, dar n-are ce cere ruta, răspunsul e
200cudata: nullşi motivul înmeta.fara_date.404înseamnă doar că firma (CUI-ul) nu există — aşa poţi deosebi cele două cazuri şi poţi păstra în cache răspunsul negativ. - Starea fiscală de la ANAF, grupată pe teme: TVA (plătitor, la încasare, split), inactivitate fiscală, e-Factura, radiere. Sursa e API-ul oficial ANAF.
- Istoricul modificărilor de stare fiscală e la
/firme/{cui}/fiscal/istoric; declaraţiile din vectorul fiscal la/firme/{cui}/vector-fiscal.
La ce folosește
- Decizia de a factura cu sau fără TVA, pe baza statutului oficial al partenerului.
- Verificarea inactivităţii fiscale înainte de a deduce o cheltuială.
- Aflarea dacă partenerul e înrolat în e-Factura, înainte de a-i trimite documente.
Structura răspunsului
CâmpTipDescriere
data.cui
integer
Codul fiscal.
data.tva.platitor
boolean
Plătitoare de TVA.
data.tva.de_la
string | null
De când e înregistrată în scopuri de TVA.
data.tva.pana_la
string | null
Până când a fost înregistrată în scopuri de TVA.
data.tva.la_incasare.activ
boolean
Este activ.
data.tva.la_incasare.de_la
string | null
De când se aplică TVA la încasare.
data.tva.la_incasare.pana_la
string | null
Până când s-a aplicat TVA la încasare.
data.tva.la_incasare.tip
string | null
Tipul.
data.tva.split.activ
boolean
Este activ.
data.tva.split.de_la
string | null
De când se aplică split TVA.
data.tva.split.anulare
string | null
Data anulării split TVA.
data.inactiv.este_inactiv
boolean
Declarată inactivă fiscal.
data.inactiv.data_inactivare
string | null
Data declarării inactivităţii.
data.inactiv.data_reactivare
string | null
Data reactivării.
data.inactiv.data_publicare
string | null
Data publicării în registrul contribuabililor inactivi.
data.e_factura.inrolat
boolean
Înrolată în e-Factura.
data.e_factura.de_la
string | null
De când e înrolată în e-Factura.
data.radiere.radiata
boolean
Firma e radiată.
data.radiere.data
string | null
Data radierii.
data.caen.cod
string
Codul.
data.caen.denumire
string | null
Denumirea.
data.caen.versiune
string
Revizia nomenclatorului.
data.organ_fiscal
string | null
Administraţia fiscală de care aparţine.
data.domiciliu_fiscal
string | null
Domiciliul fiscal, în forma publicată de ANAF.
data.contact.telefon
string
Telefonul din evidenţa ANAF.opțional
data.contact.fax
string
Faxul din evidenţa ANAF.opțional
data.verificat_anaf_la
string | null
Când am verificat ultima oară starea la ANAF.
meta.fara_date
Doar când răspunsul e gol: de ce nu există date (de pildă „Firma nu are cod LEI înregistrat la GLEIF.”). Lipseşte când
data e completat.
meta.fara_date_cod
Cuvântul scurt şi STABIL al motivului, pentru clienţii care comută pe el în cod:
fara_date e proză şi se poate reformula, ăsta nu.
Exemple de răspuns
GEThttps://oneapi.ro/api/business/v1/firme/6719278/fiscal
{
"data": {
"cui": 6719278,
"tva": {
"platitor": true,
"de_la": "1995-01-04",
"pana_la": null,
"la_incasare": {
"activ": false,
"de_la": null,
"pana_la": null,
"tip": null
},
"split": {
"activ": false,
"de_la": null,
"anulare": null
}
},
"inactiv": {
"este_inactiv": false,
"data_inactivare": null,
"data_reactivare": null,
"data_publicare": null
},
"e_factura": {
"inrolat": false,
"de_la": null
},
"radiere": {
"radiata": false,
"data": null
},
"inregistrare": {
"data": "1995-01-05",
"stare": "TRANSFER(SOSIRE) din data 19.08.2016",
"forma_juridica": "SOCIETATE COMERCIALĂ CU RĂSPUNDERE LIMITATĂ",
"forma_proprietate": "PROPR.PRIVATA-CAPITAL PRIVAT STRAIN",
"forma_organizare": "PERSOANA JURIDICA"
},
"cod_caen": {
"cod": "4711",
"denumire": "Comerț cu amănuntul în magazine nespecializate, cu vânzare predominantă de produse alimentare, băuturi și tutun",
"versiune": "CAEN Rev.2"
},
"organ_fiscal": "Direcţia Generală de Administrare a Marilor Contribuabili",
"domiciliu_fiscal": "MUNICIPIUL BUCUREŞTI, Sector 6 Mun. Bucureşti, Bld. Timişoara, nr. 26",
"contact": {
"telefon": "0212246677"
},
"verificat_anaf_la": "2026-08-16 00: 00: 00"
}
}
GEThttps://oneapi.ro/api/business/v1/firme/14399840/fiscal
{
"data": {
"cui": 14399840,
"tva": {
"platitor": true,
"de_la": "2002-02-01",
"pana_la": null,
"la_incasare": {
"activ": false,
"de_la": null,
"pana_la": null,
"tip": null
},
"split": {
"activ": false,
"de_la": null,
"anulare": null
}
},
"inactiv": {
"este_inactiv": false,
"data_inactivare": null,
"data_reactivare": null,
"data_publicare": null
},
"e_factura": {
"inrolat": false,
"de_la": null
},
"radiere": {
"radiata": false,
"data": null
},
"inregistrare": {
"data": "2002-01-23",
"stare": "INREGISTRAT din data 29.08.2006",
"forma_juridica": "SOCIETATE COMERCIALĂ PE ACŢIUNI",
"forma_proprietate": "PROPR.PRIVATA-CAPITAL PRIVAT AUTOHTON SI STRAIN",
"forma_organizare": "PERSOANA JURIDICA"
},
"cod_caen": {
"cod": "4754",
"denumire": "Comerț cu amănuntul al articolelor și aparatelor electrocasnice, în magazine specializate",
"versiune": "CAEN Rev.2"
},
"organ_fiscal": "Direcţia Generală de Administrare a Marilor Contribuabili",
"domiciliu_fiscal": "MUNICIPIUL BUCUREŞTI, Sector 2 Mun. Bucureşti, Str. Gara Herăstrău, nr. 6",
"contact": [],
"verificat_anaf_la": "2026-08-16 00: 00: 00"
}
}
GEThttps://oneapi.ro/api/business/v1/firme/2054341/fiscal
{
"data": {
"cui": 2054341,
"tva": {
"platitor": true,
"de_la": "1993-07-01",
"pana_la": "2025-05-13",
"la_incasare": {
"activ": false,
"de_la": null,
"pana_la": null,
"tip": null
},
"split": {
"activ": false,
"de_la": null,
"anulare": null
}
},
"inactiv": {
"este_inactiv": false,
"data_inactivare": "2025-05-13",
"data_reactivare": "2025-06-30",
"data_publicare": "2025-05-13"
},
"e_factura": {
"inrolat": false,
"de_la": null
},
"radiere": {
"radiata": false,
"data": null
},
"inregistrare": {
"data": "1992-11-29",
"stare": "TRANSFER(SOSIRE) din data 30.04.2024",
"forma_juridica": "SOCIETATE COMERCIALĂ PE ACŢIUNI",
"forma_proprietate": "PROPR.PRIVATA-CAPITAL PRIVAT AUTOHTON",
"forma_organizare": "PERSOANA JURIDICA"
},
"cod_caen": {
"cod": "1410",
"denumire": "Fabricarea articolelor de îmbrăcăminte prin tricotare sau croșetare",
"versiune": "CAEN Rev.3"
},
"organ_fiscal": "Administraţia Judeţeană a Finanţelor Publice Iaşi",
"domiciliu_fiscal": "IAŞI, Mun. Iaşi, Aleea Strugurilor, nr. 98",
"contact": {
"telefon": "0233743401",
"fax": "0233744490"
},
"verificat_anaf_la": "2026-08-17 00: 00: 00"
}
}
GEThttps://oneapi.ro/api/business/v1/firme/24890577/fiscal
{
"data": {
"cui": 24890577,
"tva": {
"platitor": true,
"de_la": "2009-01-06",
"pana_la": null,
"la_incasare": {
"activ": false,
"de_la": null,
"pana_la": null,
"tip": null
},
"split": {
"activ": false,
"de_la": null,
"anulare": null
}
},
"inactiv": {
"este_inactiv": false,
"data_inactivare": null,
"data_reactivare": null,
"data_publicare": null
},
"e_factura": {
"inrolat": true,
"de_la": "2022-08-01"
},
"radiere": {
"radiata": false,
"data": null
},
"inregistrare": {
"data": "2008-12-19",
"stare": "INREGISTRAT din data 18.12.2008",
"forma_juridica": "SOCIETATE COMERCIALĂ CU RĂSPUNDERE LIMITATĂ",
"forma_proprietate": "PROPR.PRIVATA-CAPITAL PRIVAT AUTOHTON",
"forma_organizare": "PERSOANA JURIDICA"
},
"cod_caen": {
"cod": "4619",
"denumire": "Intermedieri în comerțul cu produse diverse",
"versiune": "CAEN Rev.2"
},
"organ_fiscal": "Unitatea Fiscală Municipală Gheorgheni",
"domiciliu_fiscal": "HARGHITA, Mun. Gheorgheni, Str. Pompierilor, nr. 118",
"contact": {
"telefon": "0744397587"
},
"verificat_anaf_la": "2026-08-16 00: 00: 00"
}
}
Coduri de eroare
| Cod | Slug | Când apare |
|---|---|---|
| 401 | neautentificat | Token lipsă, invalid, expirat sau revocat. |
| 403 | feature_indisponibil | Planul curent nu include funcţia de care ţine ruta. |
| 404 | negasit | Firma cu CUI [{cui}] nu a fost găsită. |
| 422 | validare | Ruta nu primeşte parametri, în afară de lang: orice alt parametru dă 422, nu e ignorat. |
| 429 | cota_depasita | Cota lunară a planului a fost depăşită (vezi Retry-After). |
Toate erorile au aceeași formă. eroare.cod e stabil și e cel după care trebuie să ramifici în cod — nu după textul din mesaj, care se poate schimba.
{
"eroare": {
"cod": "validare",
"mesaj": "Ruta nu primeşte parametri, în afară de lang: orice alt parametru dă 422, nu e ignorat.",
"detalii": {
"cui": [
"Valoarea trimisă nu respectă regula parametrului."
]
}
}
}