oneapi
Autentificare
Financiar v1 / Credit

Grafic de rambursare

Graficul lunar al unui credit: principal, dobândă şi sold rămas, cu dobândă fixă sau indexată
(IRCC sau ROBOR + marjă).

Rata nu e o singură cifră aplicată pe toată durata. Se rezolvă lună cu lună din datele reale —
ROBOR zilnic din 1995, IRCC din 2018 — iar ce cade dincolo de acoperire se marchează proiectat: true, pe fiecare rând. Un calculator care îngheaţă indicele produce, pentru partea trecută, cifre
care nu s-au întâmplat: plauzibile şi false.

IRCC se schimbă trimestrial, cu decalaj: rata trimestrului Q e media trimestrului Q−2 — aceeaşi
regulă ca la /ircc, verificată pe 30 din 30 de trimestre. ROBOR se resetează la scadenţa
indicelui socotită de la data acordării, cu cotaţia ultimei zile bancare dinaintea resetării.
Fiecare rând spune ce valoare a folosit şi din ce zi.

DAE nu se calculează şi e null explicit: cere comisioane, asigurări şi costuri de acordare,
pe care nu le avem. O cifră numită DAE fără ele ar fi mai mică decât cea reală şi ar arăta oficial.

GET
https://oneapi.ro/api/financiar/v1/calcul/rata-credit

Parametri de interogare

NumeTipDescriereValori acceptate
sumaobligatoriu string Obligatoriu. Principalul, punct zecimal, cel mult 2 zecimale. ex. 200000ex. 100000
luniobligatoriu integer Obligatoriu, 1–480 (patruzeci de ani). 1 – 480
de_laopțional string | null Opţional, YYYY-MM-DD. Data acordării; implicit azi. Se raportează în meta.implicit când e completată de server. ex. 2026-10-07
tipopțional string | null anuitate (implicit, rată lunară egală) sau principal_egal (rate descrescătoare). anuitateprincipal_egal
bazaopțional string | null efectiva (implicit, zile reale / 365) sau 30/360. efectiva30/360
dobandaopțional string | null Dobânda fixă, procente pe an. Exclude index şi marja. ex. 6.5
indexopțional string | null ircc, robor1m, robor3m, robor6m sau robor12m. Cere marja. irccrobor1mrobor3mrobor6mrobor12m
marjaopțional string | null Marja băncii, puncte procentuale peste index. Zero e o valoare validă. ex. 2.5ex. 2

Cum se comportă

  • Graficul lunar al unui credit: principal, dobândă şi sold rămas, cu dobândă fixă sau indexată (IRCC ori ROBOR + marjă).
  • Rata nu e o singură cifră aplicată pe toată durata. Se rezolvă lună cu lună din datele REALE — ROBOR zilnic din 1995, IRCC din 2018 — iar ce cade dincolo de acoperire se marchează proiectat: true, pe fiecare rând. Un calculator care îngheaţă indicele produce, pentru partea trecută, cifre care nu s-au întâmplat: plauzibile şi false.
  • Cazul frecvent nu e nici trecut pur („cât am plătit"), nici viitor pur („cât voi plăti"), ci un credit în derulare — jumătate de grafic real, jumătate proiectat. meta.luni_reale şi meta.luni_proiectate spun raportul; luni_proiectate: 0 e prezent şi când nu e nimic proiectat, fiindcă „zero" e informaţie.
  • IRCC se schimbă trimestrial, cu decalaj: rata trimestrului Q e media trimestrului Q−2 — aceeaşi regulă ca la /ircc, verificată pe 30 din 30 de trimestre publicate. Un grafic care ia valoarea etichetată cu trimestrul curent foloseşte rata unui trimestru greşit.
  • ROBOR se resetează la SCADENŢA indicelui, nu lunar. Un credit la ROBOR 3M îşi schimbă dobânda din trei în trei luni, socotit de la data acordării, cu cotaţia ultimei zile bancare dinaintea resetării. Recitit în fiecare lună, graficul ar urmări indicele mult mai fidel decât un contract real — pe 250.000 lei şi 24 de luni, diferenţa măsurată e de 825 lei. Fiecare rând declară resetare_la, din_ziua şi câte luni ţine cotaţia.
  • Diferenţa dintre indici e reală, nu teoretică: acelaşi credit de 250.000 lei pe 24 de luni, început în ianuarie 2022, costă 20.435 de lei dobândă la ROBOR 3M + 2 şi 13.736 de lei la IRCC + 2. Decalajul de două trimestre al IRCC a contat aproape 6.700 de lei într-o perioadă de creştere a dobânzilor.
  • Convenţii, declarate în răspuns: zile calendaristice efective cu an de 365 (366 când perioada cuprinde 29 februarie), sau 30/360 la cerere. La anuitate, rata lunară se RECALCULEAZĂ la fiecare schimbare de dobândă, pe soldul şi lunile rămase — exact ce face o bancă la resetarea indicelui. Calculul e în aritmetică zecimală exactă; rotunjirea la doi bani se face doar la afişare, iar ultima rată închide soldul exact.
  • DAE nu se calculează şi e declarat absent. Cere comisioane, asigurări şi costuri de acordare, care nu sunt în datele noastre. O cifră numită DAE fără ele ar fi mai mică decât cea reală şi ar arăta oficial.
  • Dobânda se dă în exact una din două forme: dobanda fixă SAU index + marja. Cu amândouă nu se ştie care regulă câştigă; fără niciuna nu e nimic de calculat.

La ce folosește

  • Reconstituirea a ce s-a plătit efectiv la un credit luat în trecut.
  • Compararea unui credit la IRCC cu unul la ROBOR, pe aceeaşi perioadă reală.
  • Simularea unui credit nou, cu partea proiectată marcată ca atare.
  • Verificarea graficului primit de la bancă.

Structura răspunsului

CâmpTipDescriere
data.suma string Suma valorilor, în unitatea indicată alături.
data.luni integer Numărul de luni acoperite.
data.de_la string Începutul intervalului acoperit de răspuns.
data.pana_la string Sfârşitul intervalului acoperit de răspuns, inclusiv.
data.tip string intreprinderi sau unitati_locale — două concepte diferite, niciodată însumate.
data.baza_zile string
data.dobanda.fel string
data.dobanda.valoare string Valoarea publicată de sursă pentru combinaţia de mai sus.
data.total_principal string
data.total_dobanda string Dobânda totală pe toată durata.
data.total_platit string
data.rate[].numar integer Numărul de elemente numărate.
data.rate[].de_la string Începutul intervalului acoperit.
data.rate[].pana_la string Sfârşitul intervalului acoperit, inclusiv.
data.rate[].zile integer Zilele efectiv folosite la calculul dobânzii lunii.
data.rate[].rata_dobanzii string Rata anuală aplicată lunii respective — index plus marjă, sau dobânda fixă.
data.rate[].sursa_ratei object De unde vine rata: la ROBOR, valoarea indicelui, ziua cotaţiei, data resetării şi câte luni ţine; la IRCC, trimestrul aplicabil şi cel din care s-a calculat.
data.rate[].sursa_ratei.fel string
data.rate[].proiectat boolean true când luna e în viitor, iar indicele e îngheţat la ultima valoare cunoscută.
data.rate[].principal string
data.rate[].dobanda string
data.rate[].total_plata string
data.rate[].sold_ramas string Soldul după plata lunii. Ultima lună îl închide exact la zero.
meta.sursa string Sursa oficială din care vin datele, cu licenţa ei acolo unde e cerută.
meta.luni_reale integer Câte luni folosesc valori reale ale indicelui.
meta.luni_proiectate integer Câte luni sunt proiectate. Prezent şi când e 0.
meta.conventii.baza_zile string
meta.conventii.rotunjire string
meta.conventii.anuitate string
meta.dae string Absent deliberat, cu motivul — vezi nota.
meta.implicit.de_la string Începutul intervalului acoperit.
meta.fara_date data e null, iar aici stă motivul. Nu avem valori pentru indicele cerut la datele din grafic (IRCC se aplică din T2 2019, ROBOR din august 1995).
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/financiar/v1/calcul/rata-credit?suma=200000&luni=360&dobanda=6.5
{
    "data": {
        "suma": "200000.00",
        "luni": 360,
        "de_la": "2026-10-07",
        "pana_la": "2056-10-06",
        "tip": "anuitate",
        "baza_zile": "efectiva",
        "dobanda": {
            "fel": "fixa",
            "valoare": "6.50"
        },
        "total_principal": "200000.00",
        "total_dobanda": "255376.09",
        "total_platit": "455376.09",
        "rate": [
            {
                "numar": 1,
                "de_la": "2026-10-07",
                "pana_la": "2026-11-06",
                "zile": 31,
                "rata_dobanzii": "6.50",
                "sursa_ratei": {
                    "fel": "fixa"
                },
                "proiectat": false,
                "principal": "160.03",
                "dobanda": "1104.11",
                "total_plata": "1264.14",
                "sold_ramas": "199839.97"
            }
        ]
    },
    "meta": {
        "sursa": "Calcul propriu; dobânda e cea dată de client.",
        "luni_reale": 360,
        "luni_proiectate": 0,
        "conventii": {
            "baza_zile": "Zile calendaristice efective, an de 365 (366 când perioada cuprinde 29 februarie).",
            "rotunjire": "Calculul e în aritmetică zecimală exactă; rotunjirea la doi bani se face doar la afişare. Ultima rată închide soldul exact.",
            "anuitate": "Rata lunară se recalculează la fiecare schimbare de dobândă, pe soldul şi lunile rămase — ca la o bancă, la resetarea indicelui."
        },
        "dae": "Nu se calculează: cere comisioane, asigurări şi costuri de acordare, care nu sunt în datele noastre.",
        "implicit": {
            "de_la": "2026-10-07"
        }
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
422validareSumă sau durată invalidă; regulă de dobândă lipsă, dublă, sau index fără marjă; index necunoscut.
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": "Sumă sau durată invalidă; regulă de dobândă lipsă, dublă, sau index fără marjă; index necunoscut.",
        "detalii": {
            "suma": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}