oneapi
Autentificare
Financiar v1 / Inflatie

Structura costului forţei de muncă

Din ce e făcut costul forţei de muncă, în procente din total — 13 elemente pe 68 de activităţi,
anual din 2000. Completează /financiar/v1/cost-forta-munca, care dă indicele trimestrial dar nu
şi compoziţia.

⚠️ Componenţa se schimbă de două ori pe parcursul seriei, iar sursa o scrie chiar în numele
rândurilor. Doar total, cheltuieli_directe şi cheltuieli_indirecte acoperă tot intervalul;
detaliile încep în 2008, contribuţia de şomaj e înlocuită din 2018 de contribuţia asiguratorie, iar
sumele din fondul de salarii îşi schimbă definiţia în 2020. Fiecare element îşi poartă intervalul
de valabilitate.

GET
https://oneapi.ro/api/financiar/v1/cost-forta-munca/structura

Parametri de interogare

NumeTipDescriereValori acceptate
de_laopțional integer | null Opţional, an, din 2000 (detaliile, din 2008). 2000 – 2100
pana_laopțional integer | null Opţional, an. 2000 – 2100
caen_versiuneopțional string | null Opţional: revizia codului din caen — 1, 2 sau 3 — când forma lui e ambiguă (4932 înseamnă altceva în Rev.2 şi în Rev.3). Fără ea, codul se caută întâi în revizia seriei. 123
elementlistăopțional text Opţional, sluguri separate prin virgulă. Lista, cu valabilitatea fiecăruia, e la /financiar/v1/cost-forta-munca/elemente. ex. alte_cheltuieliex. total
nivel_elementlistăopțional text Opţional: total, grupa, detaliu. totalgrupadetaliu
caenlistăopțional text Opţional, coduri separate prin virgulă: orice cod CAEN — secţiune (C), diviziune (62), grupă, clasă (6201) — din orice revizie. Se aduce la secţiunea, diviziunea ori intervalul publicat (CAEN Rev.2); ce s-a folosit e în meta.caen. ex. C,62
gruparelistăopțional text Opţional, separate prin virgulă: agregatele sursei care nu sunt coduri CAEN — total ori intervalele de diviziuni comasate (02-03, 38-39, 59-60, 62-63). Nu se trimite împreună cu caen. ex. 02-03ex. 38-39ex. 59-60

Cum se comportă

  • Ponderea elementelor costului forţei de muncă, în procente din total — 12.644 de valori, anual din 2000 până în 2024, din matricea TEMPO FOM112C. 13 elemente × 68 de activităţi CAEN Rev.2.
  • Completează /financiar/v1/cost-forta-munca, care dă indicele trimestrial al costului dar nu şi din ce e făcut.
  • ✅ total e exact 100 în toate cele 1.700 de celule — e o structură procentuală, nu o sumă de bani. ✅ total = cheltuieli_directe + cheltuieli_indirecte: 1.700 din 1.700. ✅ total = suma elementelor de detaliu: 1.156 din 1.156, dar numai din 2008 încoace.
  • ⚠️ Componenţa se schimbă de două ori pe parcursul seriei, iar sursa o scrie chiar în numele rândurilor. Doar total, cheltuieli_directe şi cheltuieli_indirecte acoperă tot intervalul 2000-2024; detaliile încep în 2008. contributie_somaj ţine până în 2017 şi e înlocuită din 2018 de contributie_asiguratorie_munca; fond_salarii ţine până în 2019 şi devine fond_salarii_si_alte_fonduri din 2020. Fiecare serie poartă valabil_de_la şi valabil_pana_la.
  • Reforma fiscală din 2018 se vede direct în cifre. Pe total economie, contribuţiile sociale ale angajatorului cad de la 18% din costul muncii în 2017 la 1,4% în 2018 — mutate în sarcina salariatului — iar sumele plătite din fondul de salarii sar în acelaşi an de la 77,8% la 92,6%. Costul total nu se schimbă; se schimbă cine îl plăteşte pe hârtie. De aceea seriile de dinainte şi de după 2018 nu se compară element cu element.
  • Cele două niveluri nu se amestecă: grupa sunt cele două jumătăţi ale totalului, detaliu sunt componentele de sub ele.
  • Activitatea se cere ca pe toată platforma. caen primeşte orice cod CAEN, de orice nivel şi din orice revizie, iar ruta îl aduce la ce publică seria — urcând la părinte ori traducându-l prin corespondenţa oficială INS; meta.caen spune codul cerut, cel folosit şi dacă a fost urcat ori convertit. grupare e pentru agregatele sursei care nu sunt coduri CAEN.

La ce folosește

  • Cât din costul muncii merge efectiv la salariat şi cât în contribuţii.
  • Efectul reformei din 2018 asupra structurii costului.
  • Ponderea cheltuielilor cu formarea profesională, pe ramuri.

Structura răspunsului

CâmpTipDescriere
data.unitate string Unitatea de măsură a valorilor. Citeşte-o înainte de a le pune pe un grafic sau de a le aduna.
data.de_la integer Începutul intervalului acoperit de răspuns.
data.pana_la integer Sfârşitul intervalului acoperit de răspuns, inclusiv.
data.filtre array Filtrele aplicate efectiv, aşa cum le-a înţeles ruta — util când o valoare a fost normalizată.
data.ani array Anii pentru care există valori.
data.serii[].caen string Codul CAEN al activităţii, în revizia seriei.
data.serii[].forma_cod string
data.serii[].activitate string Activitatea economică la care se referă valoarea.
data.serii[].element string Elementul din nomenclator la care se referă valoarea.
data.serii[].denumire_element string
data.serii[].nivel_element string total, grupa ori detaliu. Nu se amestecă.
data.serii[].valabil_de_la integer Primul an în care sursa publică elementul — măsurat, nu presupus.
data.serii[].valabil_pana_la integer Ultimul an în care îl publică.
data.serii[].unitate string Unitatea de măsură a valorilor. Citeşte-o înainte de a le pune pe un grafic sau de a le aduna.
data.serii[].valori object Valorile seriei, pe perioade.
data.identitati.toleranta string Cât se acceptă ca abatere înainte ca identitatea să fie considerată neînchisă — rotunjirea sursei, nu o eroare.
data.identitati.total_suta.identitate string Identitatea verificată — ce sumă trebuie să dea ce total.
data.identitati.total_suta.nota string Precizare despre cum se citesc datele — o capcană, o convenţie sau o limită a sursei.
data.identitati.total_suta.verificari integer Câte combinaţii au fost verificate.
data.identitati.total_suta.inchise integer Câte verificări s-au închis în toleranţă.
data.identitati.grupe.identitate string Identitatea verificată — ce sumă trebuie să dea ce total.
data.identitati.grupe.nota string Precizare despre cum se citesc datele — o capcană, o convenţie sau o limită a sursei.
data.identitati.grupe.verificari integer Câte combinaţii au fost verificate.
data.identitati.grupe.inchise integer Câte verificări s-au închis în toleranţă.
data.identitati.detalii.identitate string Identitatea verificată — ce sumă trebuie să dea ce total.
data.identitati.detalii.nota string Precizare despre cum se citesc datele — o capcană, o convenţie sau o limită a sursei.
data.identitati.detalii.verificari integer Câte combinaţii au fost verificate.
data.identitati.detalii.inchise integer Câte verificări s-au închis în toleranţă.
meta.sursa string Sursa oficială din care vin datele, cu licenţa ei acolo unde e cerută.
meta.acoperire.de_la integer Prima perioadă pentru care avem date.
meta.acoperire.pana_la integer Ultima perioadă pentru care avem date.
meta.serii_returnate integer Câte serii s-au întors efectiv, după filtre şi după plafonul de celule.
meta.nota_procente string Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.nota_valabilitate string Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.nota_identitate string Cum se verifică identitatea de mai sus şi ce înseamnă când nu se închide.
meta.nota_indice string Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.fara_date data e null, iar aici stă motivul. Proiecţia peste datele INS e goală. Listele sunt la /cost-forta-munca/elemente. Ca la celelalte serii.
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.
meta.caen[] object[] Cum s-a înţeles parametrul caen: codul cerut, revizia în care s-a citit şi codul pe care l-a folosit ruta. La o listă de coduri, câte un obiect pe cod.
meta.caen[].cerut string Codul CAEN trimis, normalizat (litere mari, fără puncte).
meta.caen[].versiune_cerut string Revizia în care s-a citit codul trimis: cea din caen_versiune, altfel prima în care există.
meta.caen[].folosit string Codul pe care l-a folosit seria: cel cerut, primul lui părinte publicat ori agregatul sursei care îl cuprinde (02-03).
meta.caen[].nivel string Nivelul codului folosit — la rutele de firme, al codului cerut: sectiune, subsectiune, diviziune, grupa, clasa sau agregat.
meta.caen[].denumire string Denumirea codului, din nomenclatorul CAEN.
meta.caen[].versiune_serie string Revizia CAEN în care publică seria.
meta.caen[].conversie boolean true când codul a fost tradus dintr-o revizie în alta prin corespondenţa oficială INS.
meta.caen[].urcat boolean true când seria nu publică codul cerut şi s-a folosit un nivel superior.

Exemple de răspuns

GEThttps://oneapi.ro/api/financiar/v1/cost-forta-munca/structura?per_pagina=3
{
    "data": {
        "unitate": "procente din costul total",
        "de_la": 2000,
        "pana_la": 2024,
        "filtre": [],
        "ani": [
            2000,
            2001,
            2002,
            2003,
            2004,
            2005,
            2006,
            2007,
            2008,
            2009,
            2010,
            2011,
            2012,
            2013,
            2014,
            2015,
            2016,
            2017,
            2018,
            2019,
            2020,
            2021,
            2022,
            2023,
            2024
        ],
        "serii": [
            {
                "caen": "01",
                "forma_cod": "diviziune",
                "activitate": "01 Agricultura, vanatoare si servicii anexe",
                "element": "alte_cheltuieli",
                "denumire_element": "Alte cheltuieli",
                "nivel_element": "detaliu",
                "valabil_de_la": 2008,
                "valabil_pana_la": 2024,
                "unitate": "procente din costul total",
                "valori": {
                    "2000": null,
                    "2001": null,
                    "2002": null,
                    "2003": null,
                    "2004": null,
                    "2005": null,
                    "2006": null,
                    "2007": null,
                    "2008": "0.6",
                    "2009": "0.7",
                    "2010": "0.5",
                    "2011": "0.5",
                    "2012": "0.9",
                    "2013": "0.4",
                    "2014": "0.4",
                    "2015": "0.3",
                    "2016": "0.1",
                    "2017": "0.1",
                    "2018": "0.1",
                    "2019": "0.2",
                    "2020": "0.2",
                    "2021": "0.2",
                    "2022": "0.1",
                    "2023": "0.1",
                    "2024": "0.2"
                }
            }
        ],
        "identitati": {
            "toleranta": "0.2",
            "total_suta": {
                "identitate": "`total` = 100",
                "nota": "E o structură procentuală, nu o sumă de bani. Verificat pe toată proiecţia: 1.700 din 1.700.",
                "verificari": 1700,
                "inchise": 1700
            },
            "grupe": {
                "identitate": "`total` = `cheltuieli_directe` + `cheltuieli_indirecte`",
                "nota": "Verificat pe toată proiecţia: 1.700 din 1.700. Cele două grupe sunt singurele care acoperă tot intervalul 2000-2024.",
                "verificari": 1700,
                "inchise": 1700
            },
            "detalii": {
                "identitate": "`total` = suma elementelor de detaliu",
                "nota": "Verificat pe toată proiecţia: 1.156 din 1.156 — dar numai din 2008 încoace, fiindcă înainte sursa nu publică detaliile. Suma se calculează din bază, cu setul de elemente valabil în fiecare an.",
                "verificari": 1156,
                "inchise": 1156
            }
        }
    },
    "meta": {
        "sursa": "Institutul Naţional de Statistică — ponderea cheltuielilor directe şi indirecte ale costului forţei de muncă (TEMPO, matricea FOM112C).",
        "acoperire": {
            "de_la": 2000,
            "pana_la": 2024
        },
        "serii_returnate": 841,
        "nota_procente": "Valorile sunt procente din costul total, nu sume de bani: `total` e exact 100.",
        "nota_valabilitate": "Fiecare element îşi poartă `valabil_de_la`/`valabil_pana_la`: componenţa se schimbă în 2008, 2018 şi 2020. Lista completă e la /financiar/v1/cost-forta-munca/elemente.",
        "nota_identitate": "Verificat pe acest răspuns: totalul e suma celor două grupe în 1700 din 1700 celule.",
        "nota_indice": "Indicele trimestrial al costului forţei de muncă: /financiar/v1/cost-forta-munca."
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă sau invalid.
403feature_indisponibilfinanciar.indici nu e în planul curent.
404caen_nepublicatNici codul, nici părinţii lui nu sunt publicaţi în serie; detalii.disponibile dă cheile. grupare_nepublicata — gruparea nu e în serie; răspunsul dă lista.
422caen_inexistentCodul din caen nu există în nicio revizie CAEN; e o valoare de FILTRU greşită, deci 422, nu 404. Element, nivel, cod ori an în afara formei aşteptate. caen şi grupare trimise împreună, caen_versiune fără caen, ori un cod fără forma CAEN.
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": "caen_inexistent",
        "mesaj": "Codul din caen nu există în nicio revizie CAEN; e o valoare de FILTRU greşită, deci 422, nu 404. Element, nivel, cod ori an în afara formei aşteptate. caen şi grupare trimise împreună, caen_versiune fără caen, ori un cod fără forma CAEN.",
        "detalii": {
            "de_la": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}