oneapi
Autentificare
Business v1 / Firme

Compară firme

Bilanţurile a 2–5 firme faţă în faţă, pe aceiaşi ani şi aceiaşi indicatori aliniaţi după denumire.

GET
https://oneapi.ro/api/business/v1/firme/compara

Parametri de interogare

NumeTipDescriereValori acceptate
de_laopțional integer | null Opțional: primul an inclus, AAAA. 1990 – 2100
pana_laopțional integer | null Opțional: ultimul an inclus, AAAA. 1990 – 2100
cuilistăobligatoriu text Obligatoriu: 2–5 coduri fiscale, separate prin virgulă, cu ori fără RO. ex. 6719278,14399840ex. 5022670,2054341ex. 6719278,14399840,2054341

Cum se comportă

  • ⭐ Bilanțurile a 2–5 firme pe aceiași ani, cu indicatorii aliniați: pentru fiecare an, câte un rând pe firmă, în ordinea cerută.
  • Indicatorii se aliniază după denumire, nu după cod. Codurile Ministerului Finanțelor (I1…I38) nu sunt stabile: profitul net are 13 coduri diferite, după familia de raportare (bilanț lung, scurt, IFRS, microîntreprinderi). Denumirea, adusă la o formă comună, e singura cheie care leagă două firme din familii diferite.
  • Nu toate familiile raportează toți indicatorii: unde un indicator lipsește la o firmă, valoarea e null, nu zero. Un an fără bilanț depus apare cu depus: false, ca lipsa să se vadă.
  • rezultat_net pune profitul și pierderea pe o singură axă (negativ la pierdere) — cifra de comparat între firme care au avut ani diferiți.
  • Valorile sunt în lei, aşa cum au fost depuse; pentru euro ori prețuri comparabile în timp, vezi /firme/{cui}/financiar/eur și /financiar/real. Detaliul complet, cu toți indicatorii familiei, e la /firme/{cui}/financiar.

La ce folosește

  • Pui față în față un client și concurenții lui: cifră de afaceri, profit, salariați, datorii, pe aceiași ani.
  • Alegi între doi furnizori după soliditatea financiară, nu după prezentare.
  • Construiești un tabel de benchmark pentru un raport, fără să aliniezi manual codurile de indicatori.

Structura răspunsului

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

CâmpTipDescriere
firme[] array Firmele comparate, în ordinea cerută: {cui, denumire, in_registru_onrc}.
firme[].cui integer Codul de identificare fiscală, fără prefixul RO.
firme[].denumire string Denumirea, aşa cum o publică sursa.
firme[].in_registru_onrc boolean
negasite array Codurile fiscale cerute care n-au situații financiare depuse.
indicatori[] array Indicatorii comparați: {cheie, denumire}, în ordinea în care apar pe fiecare firmă.
indicatori[].cheie string
indicatori[].denumire string Denumirea, aşa cum o publică sursa.
ani[].an integer Exercițiul financiar.
ani[].firme[].cui integer Codul fiscal.
ani[].firme[].caen integer Codul CAEN declarat în bilanțul anului.
ani[].firme[].depus boolean false când firma n-a depus bilanț pentru anul acela — atunci lipsesc și indicatorii.
ani[].firme[].cifra_afaceri_neta integer Cifra de afaceri netă, în lei.
ani[].firme[].venituri_totale integer
ani[].firme[].cheltuieli_totale integer
ani[].firme[].profit_brut integer
ani[].firme[].pierdere_bruta integer
ani[].firme[].profit_net integer
ani[].firme[].pierdere_neta integer
ani[].firme[].salariati integer Numărul mediu de salariați.
ani[].firme[].active_imobilizate integer
ani[].firme[].active_circulante integer
ani[].firme[].stocuri integer
ani[].firme[].creante integer
ani[].firme[].casa_si_conturi integer
ani[].firme[].datorii integer
ani[].firme[].capitaluri_proprii integer
ani[].firme[].rezultat_net integer Profitul net minus pierderea netă, în lei; negativ la pierdere.
observatie string Cum sunt aliniați indicatorii și ce înseamnă un null.

Exemple de răspuns

GEThttps://oneapi.ro/api/business/v1/firme/compara?cui=6719278,14399840&de_la=2020
{
    "data": {
        "firme": [
            {
                "cui": 6719278,
                "denumire": "MEGA IMAGE SRL",
                "in_registru_onrc": true
            }
        ],
        "negasite": [],
        "indicatori": [
            {
                "cheie": "cifra_afaceri_neta",
                "denumire": "Cifra de afaceri netă"
            }
        ],
        "ani": [
            {
                "an": 2025,
                "firme": [
                    {
                        "cui": 6719278,
                        "caen": 4711,
                        "depus": true,
                        "cifra_afaceri_neta": 12256333315,
                        "venituri_totale": 12310207852,
                        "cheltuieli_totale": 12073174928,
                        "profit_brut": 237032924,
                        "pierdere_bruta": 0,
                        "profit_net": 124841094,
                        "pierdere_neta": 0,
                        "salariati": 10171,
                        "active_imobilizate": 2489044532,
                        "active_circulante": 2181618267,
                        "stocuri": 1039070952,
                        "creante": 502664799,
                        "casa_si_conturi": 639882516,
                        "datorii": 1981326855,
                        "capitaluri_proprii": 2669472085,
                        "rezultat_net": 124841094
                    }
                ]
            }
        ],
        "observatie": "Indicatorii sunt aliniaţi după DENUMIRE, nu după cod: codurile MF (`I1`…`I38`) diferă între familiile de raportare. `rezultat_net` = profitul net minus pierderea netă. Firmele din familii diferite (bilanţ lung, scurt, IFRS, microîntreprinderi) nu raportează toţi indicatorii — unde un indicator lipseşte, e `null`. Un an în care o firmă n-a depus bilanţ apare cu `depus: false`."
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
404negasitMai puţin de două dintre firmele cerute au situaţii financiare depuse.
422validareUn parametru nedeclarat ori o valoare care nu trece validarea (cui, de_la, pana_la). 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 (cui, de_la, pana_la). Câmpul vinovat e în detalii.",
        "detalii": {
            "de_la": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}