oneapi
Autentificare
Financiar v1 / Calcul

Penalităţi de întârziere, regim general

Dobânda legală penalizatoare datorată pentru o sumă neplătită, potrivit OG 13/2011: rata de
referinţă plus 4 puncte procentuale, cu neprofesional=1 pentru diminuarea de 20% din art. 3
alin. (3).

Perioada se taie la fiecare decizie de politică monetară a BNR şi la fiecare trecere între ani
calendaristici, iar răspunsul arată fiecare felie cu zilele, rata şi baza folosite.

Pentru raporturi între profesionişti se aplică Legea 72/2013, cu altă marjă şi altă ancorare:
/calcul/penalitati/profesionisti.

GET
https://oneapi.ro/api/financiar/v1/calcul/penalitati/civile

Parametri de interogare

NumeTipDescriereValori acceptate
sumaobligatoriu string Obligatoriu. Debitul neplătit, pozitiv, cel mult 2 zecimale. ex. 1000ex. 2500.75ex. 5000
scadentaobligatoriu string Obligatoriu, YYYY-MM-DD. Ziua în care suma era datorată; dobânda curge din ziua următoare. ex. 2024-06-15ex. 2023-01-15
pana_laopțional string | null Opţional, implicit ziua curentă. Nu poate fi în viitor. ex. 2024-01-15
neprofesionalopțional boolean | null Cu 1, rata se diminuează cu 20% (art. 3 alin. 3). ex. true

Cum se comportă

  • ⚠️ Scadenţa care cade într-o zi nelucrătoare se prorogă. Art. 2554 Cod civil: termenul care se împlineşte într-o zi nelucrătoare se socoteşte împlinit la sfârşitul primei zile lucrătoare care urmează. O scadenţă pe 25 decembrie 2024 se prorogă astfel la 27 decembrie, iar penalităţile curg din 28, nu din 26. Când s-a aplicat, răspunsul întoarce scadenta_prorogata; altfel câmpul e absent.
  • Dobânda legală penalizatoare datorată pentru o sumă neplătită, de la scadenţă până la o dată.
  • Rata e cea din OG 13/2011 art. 3 alin. (2): referinţa BNR plus 4 puncte procentuale. Cu neprofesional=1 se aplică diminuarea de 20% din alin. (3), pentru raporturi care nu decurg din exploatarea unei întreprinderi cu scop lucrativ.
  • Perioada se taie în două tipuri de puncte, iar amândouă sunt necesare: la fiecare DECIZIE de politică monetară a BNR, fiindcă se schimbă rata, şi la fiecare graniţă de AN calendaristic, fiindcă se schimbă numitorul (366 în an bisect). O feliere doar pe rate ar amesteca baze de 365 şi 366 în acelaşi termen; una doar pe ani ar aplica o rată veche după ce BNR a schimbat-o. Ambele greşeli produc cifre plauzibile.
  • Fiecare felie e afişată cu zilele, referinţa, rata aplicată, baza de zile şi dobânda ei — rezultatul se poate reface cu creionul.
  • Convenţiile, verificate: zile calendaristice, din ziua URMĂTOARE scadenţei; dobândă = sumă × rată × zile / zile_an; dobândă SIMPLĂ, fără capitalizare, fiindcă art. 8 OG 13/2011 interzice anatocismul.
  • Rotunjirea se face o singură dată, la final. Feliile afişate sunt rotunjite la doi bani şi pot să nu se adune exact la total, cu un ban; dobanda_exacta de pe fiecare felie se adună exact la penalitati_exacte.
  • Perioadele care încep înainte de 2011-09-01 sunt refuzate: atunci rata de referinţă era taxa oficială a scontului, o serie distinctă. Rata de politică monetară nu se extrapolează înapoi.
  • Pentru raporturi între profesionişti se aplică Legea 72/2013, cu altă marjă şi altă ancorare — vezi /calcul/penalitati/profesionisti.

La ce folosește

  • Penalităţi pentru o sumă datorată între persoane fizice.
  • Dobânda legală într-un litigiu civil.

Structura răspunsului

CâmpTipDescriere
data.debit string Debitul pe care se calculează, aşa cum a fost trimis.
data.scadenta string
data.scadenta_prorogata string
data.de_la string Începutul intervalului acoperit de răspuns.
data.pana_la string Sfârşitul intervalului acoperit de răspuns, inclusiv.
data.zile integer Numărul de zile acoperite.
data.regim string Regimul aplicat: profesionisti.
data.neprofesional boolean Dacă s-a aplicat reducerea pentru raporturile fără profesionişti.
data.penalitati string Dobânda totală, rotunjită la doi bani.
data.penalitati_exacte string Dobânda nerotunjită — suma exactă a feliilor.
data.total string Debit plus penalităţi.
data.perioade[].de_la string Începutul intervalului acoperit.
data.perioade[].pana_la string Sfârşitul intervalului acoperit, inclusiv.
data.perioade[].zile integer Numărul de zile acoperite.
data.perioade[].referinta string Rata de referinţă BNR în vigoare pe felie.
data.perioade[].rata string Rata exprimată în procente.
data.perioade[].baza_zile_an integer 365 sau 366, după anul în care cade felia.
data.perioade[].dobanda string Dobânda feliei, rotunjită.
data.perioade[].dobanda_exacta string Valoarea nerotunjită a feliei. Suma acestora dă penalitati_exacte.
meta.temei string Temeiul legal al valorilor sau al modului de calcul.
meta.feliere string De ce e tăiat intervalul acolo unde e tăiat.
meta.convenții.zile string Numărul de zile acoperite.
meta.convenții.baza string
meta.convenții.capitalizare string
meta.convenții.rotunjire string
meta.atentie string
meta.avertisment string Atenţionare despre o limită a datelor care schimbă interpretarea.
meta.fara_date data e null, iar aici stă motivul. Lipseşte rata pentru o parte a perioadei cerute.
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/penalitati/civile?suma=1000&scadenta=2024-06-15
{
    "data": {
        "debit": "1000.00",
        "scadenta": "2024-06-15",
        "scadenta_prorogata": "2024-06-17",
        "de_la": "2024-06-18",
        "pana_la": "2026-10-07",
        "zile": 842,
        "regim": "civila",
        "neprofesional": false,
        "penalitati": "242.55",
        "penalitati_exacte": "242.5493113255",
        "total": "1242.55",
        "perioade": [
            {
                "de_la": "2024-06-18",
                "pana_la": "2024-07-07",
                "zile": 20,
                "referinta": "7.00",
                "rata": "11.00",
                "baza_zile_an": 366,
                "dobanda": "6.01",
                "dobanda_exacta": "6.0109289617"
            }
        ]
    },
    "meta": {
        "temei": "OG 13/2011 art. 3 alin. (2): rata de referinţă plus 4 puncte procentuale",
        "feliere": "Perioada e tăiată la fiecare decizie de politică monetară a BNR şi la fiecare graniţă de an calendaristic.",
        "convenții": {
            "zile": "Calendaristice, din ziua următoare scadenţei până la data cerută inclusiv.",
            "baza": "365 de zile, sau 366 în anii bisecţi — de aceea perioada se taie şi la graniţa de an.",
            "capitalizare": "Niciuna. Dobânda se calculează pe debitul iniţial: art. 8 OG 13/2011 interzice anatocismul.",
            "rotunjire": "O singură dată, la final. Feliile afişate sunt rotunjite la doi bani şi pot să nu se adune exact la total; `dobanda_exacta` de pe fiecare felie se adună exact la `penalitati_exacte`."
        },
        "atentie": "În raporturile dintre profesionişti şi între aceştia şi autorităţile contractante se aplică Legea 72/2013 — referinţă + 8 puncte, cu rata ancorată la prima zi a semestrului. Vezi /financiar/v1/calcul/penalitati/profesionisti.",
        "avertisment": "Rezultatul e un calcul aritmetic pe date publice, nu o consultanţă juridică: regimul aplicabil, data scadenţei şi eventualele clauze contractuale de penalitate le stabileşte cine cunoaşte dosarul."
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
404alt_regim_juridicPerioada începe înainte de 2011-09-01.
422validareSumă malformată, scadenţă lipsă ori în viitor, pana_la înainte de scadenţă sau în viitor.
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ă malformată, scadenţă lipsă ori în viitor, pana_la înainte de scadenţă sau în viitor.",
        "detalii": {
            "suma": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}