oneapi
Autentificare
Carburanti v1 / Carburanti

Construcția fiscală a prețului

Construcţia fiscală a preţului la pompă: de la preţul fără taxe, prin acciză, până la TVA — cât din ce plăteşti e taxă.

GET
https://oneapi.ro/api/carburanti/v1/taxe

Parametri de interogare

NumeTipDescriereValori acceptate
taraopțional string | null Codul de țară. Implicit RO. ATBEBGCYCZDEDKEEESFIFRGRHRHUIEITLTLULVMTNLPLPTROSESISKUK
produsobligatoriu string Codul produsului. Obligatoriu: accizele şi TVA-ul se publică pe produs, cu unităţi diferite. benzina95motorinamotorina_incalzirepacura_sulf_micpacura_sulf_maregpl
dataopțional string | null Data pentru care vrei construcția, AAAA-LL-ZZ. Implicit: cea mai recentă săptămână. ex. 2026-08-31

Cum se comportă

  • Calculul e în monedă națională, fiindcă acolo se aplică taxele: accizele sunt legiferate în lei, prețurile sunt publicate în euro, iar o adunare între ele fără conversie ar da un număr plauzibil și complet greșit.
  • Ordinea e cea fiscală: preț fără taxe + acciză + alte taxe indirecte = bază TVA, apoi × (1 + TVA) = preț cu taxe reconstruit.
  • Citește întâi reconciliere. Acolo scrie cu ce abatere reconstrucția reproduce prețul efectiv publicat. Când se_inchide e false, defalcarea nu explică prețul — cel mai des fiindcă sursa datează o schimbare de acciză altfel decât o reflectă deja prețurile, sau fiindcă statul aplică o componentă nepublicată separat. În acel caz folosește prețul publicat, nu suma componentelor.
  • accize_componente apare doar la benzină și motorină, și doar din 2015 — sursa nu publică defalcarea bio/fosil pentru celelalte produse.
  • Taxele sunt „în vigoare de la": valoarea aplicabilă e ultima intrare cu data mai mică sau egală cu săptămâna prețului, nu una care coincide cu ea.
  • Când sursa publică un preţ CU taxe mai mic decât cel FĂRĂ, reconciliere.posibila e false şi motiv spune exact asta. Fără regula asta, ruta dădea explicaţia generică („statul membru aplică o componentă nepublicată") — plauzibilă, dar greşită aici, şi cu un sfat care nu ţine: nu poţi „folosi preţul publicat" când tocmai preţul publicat e cel incoerent.

La ce folosește

  • Arăți într-o notă de fundamentare cât din prețul la pompă e acciză și cât e TVA, cu temeiul și data intrării în vigoare.
  • Estimezi impactul unei modificări de acciză asupra prețului final, pornind de la structura reală, nu de la o presupunere.
  • Verifici dacă prețul practicat de un furnizor e plauzibil față de componenta fiscală obligatorie.

Structura răspunsului

Toate câmpurile de mai jos sunt în data.

CâmpTipDescriere
tara string Țara.
produs string Produsul.
denumire string Denumirea lizibilă a produsului.
saptamana string Săptămâna de preț folosită.
ceruta string Data cerută.
moneda string Moneda în care sunt toate sumele din răspuns.
unitate string 1000l sau t.
curs_eur_pe_unitate number Cursul folosit la conversie. null în zona euro.
constructie.pret_fara_taxe number Prețul fără taxe, în monedă națională pe unitate.
constructie.acciza object Acciza aplicată, cu data de la care e în vigoare.
constructie.acciza.valoare number Acciza pe unitate.
constructie.acciza.in_vigoare_de_la string De când se aplică acest nivel de acciză.
constructie.alte_taxe_indirecte object Alte taxe indirecte, cu data intrării în vigoare.
constructie.alte_taxe_indirecte.valoare number Alte taxe indirecte pe unitate. La România e 0 din 2009.
constructie.alte_taxe_indirecte.in_vigoare_de_la string De când se aplică.
constructie.baza_tva number Suma peste care se aplică TVA.
constructie.tva object Cota, valoarea și data de la care e în vigoare.
constructie.tva.procent number Cota de TVA.
constructie.tva.valoare number TVA-ul rezultat, pe unitate.
constructie.tva.in_vigoare_de_la string De când se aplică această cotă.
constructie.pret_cu_taxe_reconstruit number Rezultatul construcției. Compară-l cu reconciliere.pret_publicat.
pe_litru.fara_taxe number Aceleași componente, pe litru. Lipsește la produsele pe tonă.
pe_litru.acciza number Acciza pe litru.
pe_litru.tva number TVA pe litru.
pe_litru.cu_taxe number Prețul publicat, pe litru.
reconciliere.posibila boolean false dacă lipsesc componente pentru perioada cerută.
reconciliere.pret_publicat number Prețul efectiv publicat, în monedă națională pe unitate.
reconciliere.abatere_procent number Cu cât diferă reconstrucția de prețul publicat.
reconciliere.se_inchide boolean true sub 1% abatere. Când e false, nu folosi suma componentelor.
reconciliere.observatie string Explicația în clar a rezultatului reconcilierii.
accize_componente.in_vigoare_de_la string De când e valabilă defalcarea bio/fosil.
accize_componente.total number Acciza totală din defalcare.
accize_componente.bio object Partea de biocarburant din acciză: valoarea și ponderea.
accize_componente.bio.acciza number Partea de acciză aferentă componentei bio.
accize_componente.bio.procent number Ponderea componentei bio.
accize_componente.fosil object Partea fosilă din acciză: valoarea și ponderea.
accize_componente.fosil.acciza number Partea de acciză aferentă componentei fosile.
accize_componente.fosil.procent number Ponderea componentei fosile.
sursa object Sursa și licența.

Exemple de răspuns

GEThttps://oneapi.ro/api/carburanti/v1/taxe?produs=benzina95
{
    "data": {
        "tara": "RO",
        "produs": "benzina95",
        "denumire": "Benzină Euro-super 95",
        "saptamana": "2026-09-14",
        "ceruta": "2026-09-14",
        "moneda": "RON",
        "unitate": "1000l",
        "curs_eur_pe_unitate": 0.1902297976,
        "constructie": {
            "pret_fara_taxe": 5146.2,
            "acciza": {
                "valoare": 3059.8,
                "in_vigoare_de_la": "2026-01-01"
            },
            "alte_taxe_indirecte": {
                "valoare": 0,
                "in_vigoare_de_la": "2009-01-07"
            },
            "baza_tva": 8206,
            "tva": {
                "procent": 21,
                "valoare": 1723.26,
                "in_vigoare_de_la": "2025-08-01"
            },
            "pret_cu_taxe_reconstruit": 9929.26
        },
        "pe_litru": {
            "fara_taxe": 5.1462,
            "acciza": 3.0598,
            "tva": 1.7233,
            "cu_taxe": 9.9293
        },
        "reconciliere": {
            "posibila": true,
            "pret_publicat": 9929.26,
            "abatere_procent": 0,
            "se_inchide": true,
            "observatie": "Defalcarea reproduce prețul publicat; diferența rămasă vine din rotunjiri și din medierea săptămânală."
        },
        "accize_componente": {
            "in_vigoare_de_la": "2024-02-19",
            "total": 2019.6,
            "bio": {
                "acciza": 0,
                "procent": 0
            },
            "fosil": {
                "acciza": 2019.6,
                "procent": 100
            }
        },
        "sursa": {
            "nume": "European Commission — Weekly Oil Bulletin (DG ENER)",
            "licenta": "CC BY 4.0 (Decizia 2011/833/UE)"
        }
    }
}

Coduri de eroare

CodSlugCând apare
401neautentificatToken lipsă, invalid, expirat sau revocat.
403feature_indisponibilPlanul curent nu include funcţia de care ţine ruta.
404negasitNu există date pentru țara, produsul și data cerute.
422validareLipsește produs, sau parametri în format greșit.
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": "Lipsește produs, sau parametri în format greșit.",
        "detalii": {
            "tara": [
                "Valoarea trimisă nu respectă regula parametrului."
            ]
        }
    }
}