oneapi
Sign in
Financiar v1 / Inflatie

The stock of fixed assets

How much fixed capital each section of the economy holds, annually since 2000, in two valuations — gross, before depreciation, and net, after — and two cost bases: current or the previous year's.

⚠️ Four assets are published only on the total row, not by section: hardware, telecommunications, the ICT total and „other machinery". Their series carry doar_pe_total, and the identities using them are run only where the source actually publishes the data.

⚠️ an_precedent means the previous year's costs, not those of a base year: two years on that base do not compare with each other.

GET
https://oneapi.ro/api/financiar/v1/capital-fix/stoc

Query parameters

NameTypeDescriptionAccepted values
evaluareoptional string | null Optional: net (default) or brut. brutnet
bazaoptional string | null Optional: curente (default) or an_precedent, the previous year's costs. curentean_precedent
de_laoptional integer | null Optional, a year, from 2000 (2001 on the an_precedent base). 2000 – 2100
pana_laoptional integer | null Optional, a year. 2000 – 2100
caen_versiuneoptional string | null Optional: the revision of the caen code — 1, 2 or 3 — when its form is ambiguous (4932 means different things in Rev.2 and Rev.3). Without it, the code is looked up in the series revision first. 123
activlistoptional text Optional, asset slugs comma-separated. The list is at /financiar/v1/capital-fix/active. e.g. alte_cladiri
caenlistoptional text Optional, codes separated by commas: any CAEN code — section (C), division (62), group, class (6201) — from any revision. It is brought to its section (CAEN Rev.2); what was used is in meta.caen. e.g. 6201
gruparelistoptional text Optional, separated by commas: the source aggregates that are not CAEN codes — total. Not sent together with caen. e.g. total

How it behaves

  • The cross-classification of fixed assets by branch and by asset — 17,296 values, annually from 2000 to 2023, from TEMPO matrices CON113A-CON113D. 13 asset types × 20 NACE sections × two valuations (brut, before depreciation, and net, after) × two cost bases (curente and an_precedent).
  • What the net stock shows for 2023 nationally: buildings and structures 3,326,165.9 million lei — of which other buildings 2,666,051.9 and dwellings 660,114 — machinery and equipment 1,718,763.8, intellectual property rights 144,872.1 and cultivated biological resources 14,769.1.
  • ⚠️ Four assets are published ONLY on the total row, not by section: hardware, telecomunicatii, tic and alte_masini. Their series carry doar_pe_total. Without that flag the machinery identity would appear to miss 456 of 480 cells — when in fact it closes 24 of 24 wherever the source actually publishes the data. In the investment view, by contrast, all thirteen carry branch detail.
  • ⚠️ proprietate_intelectuala is NOT equal to software. The source publishes a single component of that aggregate: in 2023, nationally, software is 79,560.5 of 176,721.2 million lei gross — 45%. The rest (R&D, originals) is not published separately. That is why the relation does not appear among the identities: it would not be an equality, it would be an inequality.
  • ⚠️ an_precedent means the previous year's replacement costs, not those of a base year — the same trap as the comparable prices in /financiar/v1/intrari-iesiri/echilibru. Two years from that base do not compare with each other. That base starts in 2001, not 2000.
  • ✅ The hierarchy is checked on every request: total = buildings + machinery + biological resources + intellectual property — 480/480; constructii = dwellings + other buildings — 480/480; masini = transport + ICT + other machinery and tic = hardware + telecommunications — 24/24 on the total row.
  • ✅ The total branch = the sum of the 19 sections: 216 of 216, with zero deviation. The sum is computed from the database, so it can be verified even when the response does not carry every section.
  • ⚠️ The branches are not the same nomenclature as in the investment view: here they are 19 single-letter NACE sections (A, C, F, L), there 85 two-digit divisions.
  • Activity is requested the same way across the platform. caen takes any CAEN code, at any level and from any revision, and the route brings it to what the series publishes — climbing to a parent or translating it through the official INS correspondence; meta.caen states the requested code, the one used and whether it was climbed or converted. grupare is for the source aggregates that are not CAEN codes.

What it is for

  • A branch's capital intensity: its net stock against its value added.
  • How worn the capital is, from the ratio of net to gross value.
  • The structure of capital by asset type, over a long series.

Response structure

FieldTypeDescription
data.evaluare string
data.descriere_evaluare string
data.baza string
data.descriere_baza string What the reporting base represents, in words.
data.unitate string The unit of the values. Read it before plotting or adding them up.
data.de_la integer Start of the interval the response covers.
data.pana_la integer End of the interval the response covers, inclusive.
data.filtre array The filters actually applied, as the route understood them — useful when a value was normalised.
data.ani array Years for which values exist.
data.serii[].evaluare string
data.serii[].baza string
data.serii[].ramura string Branch of activity.
data.serii[].denumire_ramura string Name of the branch of activity, as published by the source.
data.serii[].activ string Whether the item is still in force at the response date.
data.serii[].denumire_activ string
data.serii[].nivel_activ string total, agregat or componenta — only the components of an aggregate add up.
data.serii[].unitate string Unit of measure of the values. Read it before plotting or summing them.
data.serii[].valori object The values of the series, by period.
data.identitati.toleranta string How much deviation is accepted before the identity counts as unclosed — the source rounding, not an error.
data.identitati.ierarhie.total.identitate string The identity being checked — which sum must equal which total.
data.identitati.ierarhie.total.verificari integer How many combinations were checked.
data.identitati.ierarhie.total.inchise integer How many checks closed within tolerance.
data.identitati.ierarhie.constructii.identitate string The identity being checked — which sum must equal which total.
data.identitati.ierarhie.constructii.verificari integer How many combinations were checked.
data.identitati.ierarhie.constructii.inchise integer How many checks closed within tolerance.
data.identitati.ierarhie.masini.identitate string The identity being checked — which sum must equal which total.
data.identitati.ierarhie.masini.nota string A note on how to read the data — a pitfall, a convention or a limit of the source.
data.identitati.ierarhie.masini.verificari integer How many combinations were checked.
data.identitati.ierarhie.masini.inchise integer How many checks closed within tolerance.
data.identitati.ierarhie.tic.identitate string The identity being checked — which sum must equal which total.
data.identitati.ierarhie.tic.nota string A note on how to read the data — a pitfall, a convention or a limit of the source.
data.identitati.ierarhie.tic.verificari integer How many combinations were checked.
data.identitati.ierarhie.tic.inchise integer How many checks closed within tolerance.
data.identitati.nota_incomplet string Why intellectual property does not appear among the identities.
data.identitati.total_ramuri.identitate string The identity being checked — which sum must equal which total.
data.identitati.total_ramuri.nota string A note on how to read the data — a pitfall, a convention or a limit of the source.
data.identitati.total_ramuri.verificari integer How many combinations were checked.
data.identitati.total_ramuri.inchise integer How many checks closed within tolerance.
data.identitati.total_ramuri.unde.an integer The year the value refers to.
data.identitati.total_ramuri.unde.activ string Whether the item is still in force at the response date.
data.identitati.total_ramuri.unde.total string
data.identitati.total_ramuri.unde.suma_sectiunilor string
meta.sursa string The official source the data comes from, with its licence where one is required.
meta.acoperire.de_la integer The first period we have data for.
meta.acoperire.pana_la integer The last period we have data for.
meta.serii_returnate integer How many series were actually returned, after filters and the cell ceiling.
meta.nota_ramuri string A note on how to read the response: a caveat, a convention or a limit of the source.
meta.nota_doar_total string A note on how to read the response: a caveat, a convention or a limit of the source.
meta.nota_incomplet string A note on how to read the response: a caveat, a convention or a limit of the source.
meta.nota_identitate string How the identity above is checked and what it means when it does not close.
data.serii[].doar_pe_total Present on the four assets published only on the total row.
meta.fara_date string data is null and this says why. The projection over the INS data is empty for the requested combination. Note that the an_precedent base starts in 2001. As on the other series.
meta.fara_date_cod string The short, STABLE word for the reason, for clients that branch on it in code: fara_date is prose and may be rephrased, this is not.
meta.caen[] object[] How the caen parameter was understood: the requested code, the revision it was read in and the code the route used. For a list of codes, one object per code.
meta.caen[].cerut string The CAEN code sent, normalised (upper case, no dots).
meta.caen[].versiune_cerut string The revision the code sent was read in: the one in caen_versiune, otherwise the first it exists in.
meta.caen[].folosit string The code the series used: the requested one, its first published parent or the source aggregate that contains it (02-03).
meta.caen[].nivel string The level of the code used — on company routes, of the requested code: sectiune, subsectiune, diviziune, grupa, clasa or agregat.
meta.caen[].denumire string The name of the code, from the CAEN nomenclature.
meta.caen[].versiune_serie string The CAEN revision the series is published in.
meta.caen[].conversie boolean true when the code was translated from one revision to another through the official INS correspondence.
meta.caen[].urcat boolean true when the series does not publish the requested code and a higher level was used.

Response examples

GEThttps://oneapi.ro/api/financiar/v1/capital-fix/stoc?per_pagina=3
{
    "data": {
        "evaluare": "net",
        "descriere_evaluare": "Valoare netă — după scăderea consumului de capital fix",
        "baza": "curente",
        "descriere_baza": "Costuri de înlocuire curente — valorile anului, aşa cum au fost",
        "unitate": "milioane lei",
        "de_la": 2000,
        "pana_la": 2023,
        "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
        ],
        "serii": [
            {
                "evaluare": "net",
                "baza": "curente",
                "ramura": "A",
                "denumire_ramura": "AGRICULTURA, SILVICULTURA SI PESCUIT",
                "activ": "alte_cladiri",
                "denumire_activ": "N112N Alte cladiri si constructii, nete",
                "nivel_activ": "componenta",
                "unitate": "milioane lei",
                "valori": {
                    "2000": "10436.8",
                    "2001": "12683.5",
                    "2002": "14512.4",
                    "2003": "14420",
                    "2004": "14727.5",
                    "2005": "17058.5",
                    "2006": "18832.7",
                    "2007": "24144.3",
                    "2008": "28375.2",
                    "2009": "32120.1",
                    "2010": "32600.6",
                    "2011": "36740.9",
                    "2012": "37987.7",
                    "2013": "42436.3",
                    "2014": "42568.1",
                    "2015": "44185.8",
                    "2016": "47675.6",
                    "2017": "54844.2",
                    "2018": "63296.4",
                    "2019": "72121.1",
                    "2020": "66028.3",
                    "2021": "76588",
                    "2022": "85235.6",
                    "2023": "92115.3"
                }
            }
        ],
        "identitati": {
            "toleranta": "0.5",
            "ierarhie": {
                "total": {
                    "identitate": "`total` = `constructii` + `masini` + `resurse_biologice` + `proprietate_intelectuala`",
                    "verificari": 480,
                    "inchise": 480
                },
                "constructii": {
                    "identitate": "`constructii` = `locuinte` + `alte_cladiri`",
                    "verificari": 480,
                    "inchise": 480
                },
                "masini": {
                    "identitate": "`masini` = `transport` + `tic` + `alte_masini`",
                    "nota": "La stoc, componentele astea sunt publicate doar pe rândul `total`, deci identitatea se poate rula numai acolo — 24 din 24. La investiţii, toate ramurile o au: 2.064 din 2.064.",
                    "verificari": 24,
                    "inchise": 24
                },
                "tic": {
                    "identitate": "`tic` = `hardware` + `telecomunicatii`",
                    "nota": "La stoc, componentele astea sunt publicate doar pe rândul `total`, deci identitatea se poate rula numai acolo — 24 din 24. La investiţii, toate ramurile o au: 2.064 din 2.064.",
                    "verificari": 24,
                    "inchise": 24
                }
            },
            "nota_incomplet": "`proprietate_intelectuala` nu apare printre identităţi: sursa publică din el doar `software`, care în 2023 acoperă 45% din el. Relaţia n-ar fi o identitate, ar fi o inegalitate.",
            "total_ramuri": {
                "identitate": "ramura `total` = suma ramurilor de sub ea",
                "nota": "Verificat pe toată proiecţia: 216 din 216, cu abatere zero. Suma se calculează din bază, ca să poată fi verificată şi când răspunsul nu poartă toate secţiunile.",
                "verificari": 216,
                "inchise": 69,
                "unde": {
                    "an": 2000,
                    "activ": "alte_cladiri",
                    "total": "302551.8",
                    "suma_sectiunilor": "302550.9"
                }
            }
        }
    },
    "meta": {
        "sursa": "Institutul Naţional de Statistică — clasificarea încrucişată a activelor fixe pe ramuri şi pe active (TEMPO, matricile CON113A-CON113D).",
        "acoperire": {
            "de_la": 2000,
            "pana_la": 2023
        },
        "serii_returnate": 184,
        "nota_ramuri": "Stocul se publică pe 19 secţiuni CAEN cu o literă; investiţiile, la /financiar/v1/capital-fix/investitii, pe 85 de diviziuni cu două cifre.",
        "nota_doar_total": "Hardware-ul, telecomunicaţiile, totalul TIC şi „alte maşini\" apar numai pe rândul `total`.",
        "nota_incomplet": "`proprietate_intelectuala` nu apare printre identităţi: sursa publică din el doar `software`, care în 2023 acoperă 45% din el. Relaţia n-ar fi o identitate, ar fi o inegalitate.",
        "nota_identitate": "Verificat pe acest răspuns: rândul `total` e suma secţiunilor în 69 din 216 celule."
    }
}

Error codes

CodeSlugWhen it occurs
401neautentificatMissing or invalid token.
403feature_indisponibilfinanciar.indici is not in the current plan.
404caen_nepublicatNeither the code nor its parents are published in the series; detalii.disponibile lists the keys. grupare_nepublicata — the grouping is not in the series; the response lists them.
422caen_inexistentThe code in caen exists in no CAEN revision; it is a bad FILTER value, hence 422, not 404. raspuns_prea_mare — more than 20,000 cells. Plus a valuation, base, asset, branch or year outside the expected form. caen and grupare sent together, caen_versiune without caen, or a code that is not CAEN-shaped.
429cota_depasitaThe plan's monthly quota has been exceeded (see Retry-After).

All errors share the same shape. eroare.cod is stable and is the value you should branch on in code — not the text in mesaj, which may change.

{
    "eroare": {
        "cod": "caen_inexistent",
        "mesaj": "The code in caen exists in no CAEN revision; it is a bad FILTER value, hence 422, not 404. raspuns_prea_mare — more than 20,000 cells. Plus a valuation, base, asset, branch or year outside the expected form. caen and grupare sent together, caen_versiune without caen, or a code that is not CAEN-shaped.",
        "detalii": {
            "evaluare": [
                "The value sent does not satisfy the parameter rule."
            ]
        }
    }
}