oneapi
Autentificare
Financiar v1 / Fiscal

Contribuţiile persoanelor cu venituri independente

CAS şi CASS datorate pentru un venit net estimat într-un an, cu pragul aplicat şi cu
salariul minim folosit.

⚠️ Pragurile sunt multipli de salariu minim, nu sume — 6, 12 şi 24 de salarii minime — deci se
schimbă odată cu el chiar dacă legea rămâne aceeaşi. De aceea anul e obligatoriu şi de aceea
răspunsul spune întotdeauna ce salariu minim a folosit şi din ce HG vine.

⚠️ Regimul CASS s-a schimbat substanţial de la 1 ianuarie 2024, iar forma exactă de după nu a
fost confirmată pe textul actului. Toate regulile de praguri sunt marcate de_verificat, iar
răspunsul o spune. Tratează rezultatul ca orientativ până la confirmare.

POST
https://oneapi.ro/api/financiar/v1/calcul/independenti/contributii

Corpul cererii

Se trimite ca JSON, în corpul cererii (Content-Type: application/json) — nu în şirul de interogare.

NumeTipDescriereValori acceptate
venit_estimatobligatoriu integer Obligatoriu, venitul net estimat, în lei întregi. 0 – 1000000000
anobligatoriu integer Obligatoriu — pragurile depind de salariul minim al anului. 2018 – 2100
Venit de 60.000 lei, 2025 Corpul cererii
{
    "venit_estimat": 60000,
    "an": 2025
}
Venit mic, sub praguri Corpul cererii
{
    "venit_estimat": 30000,
    "an": 2025
}
Venit mare, peste pragul de 24 de salarii Corpul cererii
{
    "venit_estimat": 150000,
    "an": 2025
}
Acelaşi venit, pragurile din 2024 Corpul cererii
{
    "venit_estimat": 60000,
    "an": 2024
}

Parametri de interogare

Ruta nu acceptă parametri de interogare.

Cum se comportă

  • CAS şi CASS datorate pentru un venit net estimat într-un an, cu pragul aplicat şi cu salariul minim folosit, plus HG-ul din care vine.
  • ⚠️ Pragurile sunt multipli de salariu minim, nu sume — 6, 12, 24, respectiv 60 şi 72 de salarii minime — deci se schimbă odată cu salariul minim, chiar dacă legea rămâne aceeaşi. De aceea anul e obligatoriu, şi de aceea răspunsul spune întotdeauna ce salariu minim a folosit. Un calcul făcut cu salariul minim al altui an dă alt rezultat, fără ca nimic să pară greşit.
  • ⚠️ Regimul s-a schimbat de patru ori, iar pragurile nu se aplică retroactiv. Până la veniturile anului 2022 exista un singur prag, de 12 salarii minime, cu bază fixă; treptele CAS 12/24 şi CASS 6/12/24 vin cu OG 16/2022 şi se aplică veniturilor din 2023; din 2024 baza CASS devine venitul realizat, între 6 şi 60 de salarii minime (Legea 296/2023); din veniturile anului 2026 plafonul superior urcă la 72 (Legea 239/2025). Un calcul pe 2022 făcut cu treptele de azi dublează contribuţiile.
  • ⚠️ POST şi retenţie zero: venitul estimat e la fel de personal ca un salariu.

La ce folosește

  • Estimarea contribuţiilor datorate pentru un an, la un venit prognozat.
  • Compararea sarcinii fiscale între praguri, înainte de a alege un nivel de venit declarat.

Structura răspunsului

CâmpTipDescriere
data.an integer Anul la care se referă datele.
data.venit_estimat integer
data.salariu_minim_folosit integer Salariul minim în vigoare la 30 iunie al anului cerut.
data.act_normativ_salariu_minim string
data.total_contributii integer
data.componente[].cod string Codul din nomenclatorul sursei — cheia pe care se filtrează.
data.componente[].denumire string Denumirea, aşa cum o publică sursa.
data.componente[].datorata boolean false când venitul e sub primul prag; atunci valoare e 0 şi motiv spune de ce.
data.componente[].baza_de_calcul integer Suma pe care s-a aplicat cota — la impozit e baza impozabilă, nu brutul.
data.componente[].prag_aplicat_salarii_minime integer Câte salarii minime formează baza. null când baza e venitul însuşi, mărginit între praguri.
data.componente[].explicatie_prag string
data.componente[].cota string
data.componente[].valoare integer Valoarea publicată de sursă pentru combinaţia de mai sus.
data.componente[].act_normativ string Temeiul cotei aplicate componentei.
data.componente[].de_verificat boolean
meta.sursa string Sursa oficială din care vin datele, cu licenţa ei acolo unde e cerută.
meta.retentie string Confirmarea că intrarea nu s-a scris nicăieri.
meta.avertismente array Spune, când e cazul, că mai multe brute dau acelaşi net şi care sunt.
meta.nota_acoperire string De ce totalul e o limită de jos, în proză. meta.total_e_limita_de_jos e cuvântul pe care comuţi în cod.
meta.fara_date data e null, iar aici stă motivul. Nu există salariu minim ori cote pentru anul cerut; an_viitor — anul e după cel curent, iar salariul minim al lui nu e încă în registru (nu se calculează cu cel de azi).
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

body: {"venit_estimat": 60000, "an": 2025}

POSThttps://oneapi.ro/api/financiar/v1/calcul/independenti/contributii
{
    "data": {
        "an": 2025,
        "venit_estimat": 60000,
        "salariu_minim_folosit": 4050,
        "act_normativ_salariu_minim": "HG 1506/2024",
        "total_contributii": 18150,
        "componente": [
            {
                "cod": "cas",
                "denumire": "Contribuţia de asigurări sociale",
                "datorata": true,
                "baza_de_calcul": 48600,
                "prag_aplicat_salarii_minime": 12,
                "explicatie_prag": "CAS se datorează dacă venitul net estimat atinge 12 salarii minime. Baza e 12 salarii minime între primul şi al doilea prag, şi 24 de salarii minime de la al doilea în sus. Cele două trepte vin cu OG 16/2022 şi se aplică veniturilor din 2023.",
                "cota": "25%",
                "valoare": 12150,
                "act_normativ": "OG 16/2022 (modifică art. 148 şi 151 din Legea 227/2015), aplicabil veniturilor din 2023",
                "de_verificat": false
            }
        ]
    },
    "meta": {
        "sursa": "Cotele vin din registrul comun `business_indicatori_fiscali`; facilităţile şi grila deducerii, din `Modules/Financiar/resources/fiscal`, cu act normativ pe fiecare valoare.",
        "retentie": "Zero. Intrarea nu se scrie nicăieri — nici în bază, nici în cache, nici în log.",
        "avertismente": [
            "Pragurile sunt multipli de salariu minim, deci se schimbă odată cu el chiar dacă legea nu se schimbă. Salariul minim folosit e cel în vigoare la 30 iunie al anului cerut."
        ],
        "nota_acoperire": "Ce e acoperit şi ce nu: /financiar/v1/fiscal/acoperire."
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă sau invalid.
403feature_indisponibilfinanciar.fiscal_calcul nu e în planul curent.
422validareVenit ori an în afara formei aşteptate.
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": "Venit ori an în afara formei aşteptate."
    }
}