oneapi
Autentificare
Business v1 / Firme

Situaţii financiare

Bilanțurile anuale ale firmei (2008–prezent), cu indicatorii decodați prin dicționar (denumire +
valoare). Filtrează un an cu ?an=. Adaugă ?raw=true pentru valorile brute (cod→valoare).

GET
https://oneapi.ro/api/business/v1/firme/{cui}/financiar

Parametri de cale

NumeTipDescriereExemplu
cuiobligatoriu string Codul de identificare fiscală al firmei, fără prefixul RO (ex. 6719278).

Parametri de interogare

NumeTipDescriereValori acceptate
anopțional integer | null Opţional: un singur an fiscal. Fără el, toată seria. ex. 2023ex. 2009
rawopțional boolean | null true adaugă şi codurile de indicator brute. ex. true

Cum se comportă

  • Ruta nu cere ca firma să fie în registrul comerţului. Ministerul Finanţelor primeşte raportări şi de la entităţi din afara ONRC — asociaţii, fundaţii, instituţii: 103.953 de entităţi, cu 905.993 de rânduri. Pentru ele, bilanţurile se servesc normal, dar /firme/{cui} răspunde 404, fiindcă profil în registru chiar nu există. data.in_registru_onrc spune de care caz e vorba, ca 404-ul de pe profil să nu pară o inconsecvenţă.
  • Când o firmă a depus de două ori pentru acelaşi an, se serveşte raportarea din setul specializat (cea completă), nu oglinda generică web. Dacă cele două chiar se contrazic pe cifre — 17 cazuri în toată baza, toate pe 2009 — anul poartă câmpul conflict, cu familia cealaltă şi indicatorii care diferă. Sursa nu dă nici dată de depunere, nici marcaj de rectificare, deci nu putem spune care cifră e cea corectă; o arătăm pe cea mai completă şi semnalăm că a existat un dezacord.
  • Bilanţurile anuale ale firmei, aşa cum au fost depuse la Ministerul Finanţelor, decodate dintr-un format de stocare compact într-un set de indicatori numiţi (cifră de afaceri, profit, active, datorii, număr de salariaţi etc.).
  • Decodarea se face printr-un dicţionar de indicatori pe familie şi an — acelaşi cod „I1…In" înseamnă lucruri diferite în ani şi tipuri de bilanţ diferite. Când o familie nu are dicţionar propriu pentru un an, se cade elegant pe cel mai apropiat an disponibil.
  • Cu ?an= ceri un singur an; fără el, primeşti toată seria. Cu ?raw=true primeşti şi codurile brute, utile pentru verificare.
  • Vezi şi variantele derivate: /financiar/eur (convertite la cursul de sfârşit de an) şi /financiar/real (ajustate la inflaţie faţă de un an de bază).

La ce folosește

  • Analiză financiară şi scoring de risc pe baza evoluţiei cifrei de afaceri şi a profitului.
  • Verificarea dimensiunii unui partener înainte de un contract.
  • Serii istorice pentru rapoarte şi vizualizări.

Structura răspunsului

Toate câmpurile de mai jos sunt în data.

CâmpTipDescriere
cui integer Codul fiscal.
in_registru_onrc boolean Dacă entitatea are şi profil la /firme/{cui}. false pentru cele care raportează la Finanţe fără să fie în registrul comerţului.
ani[] object[] Bilanţurile pe ani, cu indicatorii fiecăruia.
ani[].conflict[].familie string Cealaltă raportare depusă pentru acelaşi an. Apare doar când cifrele chiar diferă.
ani[].conflict[].indicatori[] array Codurile indicatorilor pe care cele două raportări nu sunt de acord. Lipsa şi zero nu se numără ca dezacord.

Exemple de răspuns

GEThttps://oneapi.ro/api/business/v1/firme/6719278/financiar
{
    "data": {
        "cui": 6719278,
        "in_registru_onrc": true,
        "ani": [
            {
                "an": 2008,
                "tip": "SOCIETATI COMERCIALE CARE DEPUN BILANT LUNG, BILANT SCURT SI RAPORTARI ANUALE",
                "familie": "web",
                "caen": 4711,
                "decodat": true,
                "indicatori": [
                    {
                        "cod": "I1",
                        "denumire": "ACTIVE IMOBILIZATE - TOTAL",
                        "valoare": 111431788
                    }
                ]
            }
        ]
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
404negasitFirma cu CUI [{cui}] nu a fost găsită.
422validareUn parametru nedeclarat ori o valoare care nu trece validarea (an, raw). Câmpul vinovat e în detalii.
429cota_depasitaCota 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": "Un parametru nedeclarat ori o valoare care nu trece validarea (an, raw). Câmpul vinovat e în detalii.",
        "detalii": {
            "cui": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}