oneapi
Autentificare
Financiar v1 / Calcul

Penalităţi la rata din contract

Penalităţi de întârziere calculate la o rată stabilită prin CONTRACT — tipic „0,05% pe zi" —
* nu la dobânda legală.
*
* Rută separată de penalităţile legale, fiindcă rata nu vine din seriile noastre. Acolo rata
* vine din datele noastre şi perioada se feliază pe deciziile BNR sau pe semestre; aici rata e
* constantă şi vine de la client, deci felierea se face pe graniţele de an, pentru baza 365/366 — şi,
* când se verifică plafonul legal, la fiecare schimbare a ratei de referinţă BNR.
*
* Verificare faţă de plafonul legal. Cu neprofesional=1, fiecare felie compară rata
* contractuală cu plafonul din art. 5 alin. (1) OG 13/2011 — dobânda legală plus 50%. Clauza
* uzuală de 0,05%/zi înseamnă 18,25%/an, iar plafonul la nivelul din 2026 e 12,60%/an: depăşire.
* Nu se dă un verdict de nulitate — art. 5 alin. (2) prevede sancţiunea, dar aplicarea ei e treabă
* de instanţă. Se arată cifrele şi se citează temeiul.
*
* Între profesionişti nu există plafon numeric. Legea 72/2013 art. 15 declară abuzive clauzele
* „vădit abuzive", dar aprecierea e judiciară, fără prag — deci nu se verifică nimic, în loc să
inventăm un număr.

Plafonarea la debit (plafon=debit) e o clauză contractuală frecventă, nu o regulă legală. Când
se atinge, răspunsul spune din ce zi şi cât ar fi fost fără ea.

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

Parametri de interogare

NumeTipDescriereValori acceptate
sumaobligatoriu string Obligatoriu. Debitul neplătit. ex. 10000
scadentaobligatoriu string Obligatorie, YYYY-MM-DD. Penalităţile curg din ziua următoare. ex. 2024-03-31ex. 2022-01-31ex. 2023-06-01
pana_laopțional string | null Opţional, implicit azi. ex. 2024-06-30
procent_ziopțional string | null Rata din contract, pe zi (ex. 0.05). Exclude procent_an. ex. 0.05ex. 0.1
procent_anopțional string | null Rata din contract, pe an. Exclude procent_zi. ex. 18.25ex. 36.50
plafonopțional string | null debit — penalităţile nu depăşesc valoarea debitului. Clauză contractuală, opţională. debit
neprofesionalopțional boolean | null Cu 1, se verifică plafonul art. 5 OG 13/2011. 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.
  • Penalităţi de întârziere calculate la o rată stabilită prin CONTRACT — tipic „0,05% pe zi de întârziere" — nu la dobânda legală.
  • Rută separată de penalităţile legale, fiindcă dobânda nu vine din seriile noastre. Acolo rata vine din datele noastre (referinţa BNR plus marja legală) şi perioada se feliază pe deciziile BNR sau pe semestre. Aici rata e constantă şi vine de la client, deci penalităţile se feliază pe graniţele de an — pentru baza 365/366. Cu neprofesional=1 perioada se taie în plus la fiecare schimbare a ratei de referinţă BNR, fiindcă atunci se schimbă plafonul legal.
  • Rata se dă pe zi SAU pe an, iar conversia nu e simetrică. O rată dată pe AN se împarte la zilele anului fiecărei felii: „18,25% pe an" produce 304,17 lei într-un an bisect, nu 305,00 — altfel ar apărea o creştere pe care nimeni n-a scris-o în contract. O rată dată pe ZI e definitivă şi se aplică direct. perioade[].baza_folosita spune care s-a folosit.
  • Verificarea faţă de plafonul legal. Cu neprofesional=1, fiecare felie compară rata contractuală cu plafonul din art. 5 alin. (1) OG 13/2011: dobânda legală plus 50%. Clauza uzuală de 0,05%/zi înseamnă 18,25%/an, iar plafonul la începutul lui 2024 era 13,20% — depăşire cu peste cinci puncte. Plafonul urmează dobânda legală, deci se recitește la fiecare decizie BNR: din 08.07.2024 a coborât la 12,90%, din 08.08.2024 la 12,60%.
  • Nu se dă un verdict de nulitate. Art. 5 alin. (2) prevede sancţiunea, dar aplicarea ei e treabă de instanţă: contează calificarea raportului juridic, nu doar aritmetica. Răspunsul arată cifrele şi citează temeiul.
  • Între profesionişti nu există plafon numeric. Legea 72/2013 art. 15 declară abuzive clauzele „vădit abuzive", dar aprecierea e judiciară, fără prag. Aici nu se verifică nimic — un prag inventat ar arăta oficial şi n-ar fi.
  • Plafonarea la valoarea debitului (plafon=debit) e o clauză contractuală frecventă, nu o regulă legală. Când se activează şi se atinge, răspunsul spune din ce zi s-a atins şi cât ar fi fost fără ea. Ziua se calculează exact, cumulând rata zilnică a fiecărei felii (o rată pe an dă altă rată zilnică în anii bisecţi): la 0,05%/zi, penalităţile ating debitul după 2.000 de zile, indiferent de sumă.
  • Convenţiile rămân cele de la penalităţile legale: zile calendaristice din ziua URMĂTOARE scadenţei, dobândă simplă fără capitalizare, rotunjire o singură dată la final.

La ce folosește

  • Penalităţi la o factură cu clauză contractuală de 0,05%/zi.
  • Verificarea dacă o clauză penalizatoare depăşeşte plafonul legal într-un raport civil.
  • Calculul cu plafonare la debit, când contractul o prevede.

Structura răspunsului

CâmpTipDescriere
data.suma string Suma valorilor, în unitatea indicată alături.
data.scadenta string
data.scadenta_prorogata string
data.prima_zi_cu_penalitati string
data.pana_la string Sfârşitul intervalului acoperit de răspuns, inclusiv.
data.rata.procent_zi string
data.rata.procent_an string
data.rata.data_pe string zi sau an — cum a fost dată rata. Decide cum se face conversia.
data.rata.data_de_client boolean
data.penalitati string
data.penalitati_exacte string Valoarea nerotunjită, pentru calcule în lanţ.
data.total string
data.plafonare.activa boolean
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[].baza_zile_an integer
data.perioade[].procent_zi string
data.perioade[].baza_folosita string Ce s-a aplicat pe felia respectivă: rata zilnică directă, sau cea anuală împărţită la zilele anului.
data.perioade[].dobanda string Dobânda feliei, rotunjită.
data.perioade[].dobanda_exacta string
meta.sursa string Sursa oficială din care vin datele, cu licenţa ei acolo unde e cerută.
meta.conventii string
meta.verificat_plafon_legal boolean
meta.nota_profesionisti string Precizare despre cum se citeşte răspunsul: o capcană, o convenţie sau o limită a sursei.
meta.legal string
data.perioade[].plafon_legal Apare doar cu neprofesional=1: nivelul legal, plafonul şi dacă rata contractuală îl depăşeşte.
data.plafonare.din_ziua null Ziua în care penalităţile ating debitul. null dacă nu se atinge.
data.plafonare.fara_plafon string Cât ar fi fost penalităţile fără plafonare.

Exemple de răspuns

GEThttps://oneapi.ro/api/financiar/v1/calcul/penalitati/contractuale?suma=10000&scadenta=2024-03-31&pana_la=2024-06-30&procent_zi=0.05
{
    "data": {
        "suma": "10000.00",
        "scadenta": "2024-03-31",
        "scadenta_prorogata": "2024-04-01",
        "prima_zi_cu_penalitati": "2024-04-02",
        "pana_la": "2024-06-30",
        "rata": {
            "procent_zi": "0.05",
            "procent_an": "18.25",
            "data_pe": "zi",
            "data_de_client": true
        },
        "penalitati": "450.00",
        "penalitati_exacte": "450",
        "total": "10450.00",
        "plafonare": {
            "activa": false
        },
        "perioade": [
            {
                "de_la": "2024-04-02",
                "pana_la": "2024-06-30",
                "zile": 90,
                "baza_zile_an": 366,
                "procent_zi": "0.05",
                "baza_folosita": "rata zilnică din contract, aplicată direct",
                "dobanda": "450.00",
                "dobanda_exacta": "450"
            }
        ]
    },
    "meta": {
        "sursa": "Calcul propriu; rata e cea din contract, dată de client.",
        "conventii": "Zile calendaristice din ziua următoare scadenţei; bază 365/366 după anul feliei; dobândă simplă, fără capitalizare; rotunjire o singură dată, la final.",
        "verificat_plafon_legal": false,
        "nota_profesionisti": "Plafonul art. 5 OG 13/2011 se verifică doar cu `neprofesional=1`. Între profesionişti nu există prag numeric: Legea 72/2013 art. 15 lasă aprecierea clauzelor „vădit abuzive\" instanţei.",
        "legal": "Pentru penalităţi la dobânda LEGALĂ: /financiar/v1/calcul/penalitati/civile sau /profesionisti."
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
422interval_golpana_la nu e după scadenţă; rată lipsă sau dată în ambele forme; sumă ori date malformate; scadenţă î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": "interval_gol",
        "mesaj": "pana_la nu e după scadenţă; rată lipsă sau dată în ambele forme; sumă ori date malformate; scadenţă în viitor.",
        "detalii": {
            "suma": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}