Financiar v1 / Calcul
Conversion across the 2005 denomination
Converts an amount between old lei (ROL) and new lei (RON), at the fixed 10,000:1 ratio established by Law 348/2004.
If a date is given as well, the response says which currency was the reference then and flags the mismatch: an amount declared in RON for a date in 1998 is almost certainly a misreading.
GET
https://oneapi.ro/api/financiar/v1/calcul/denominare
Query parameters
NameTypeDescriptionAccepted values
sumarequired
string
Required. May be negative and may carry up to 4 decimals.
e.g. 1000e.g. 2500.75
dinrequired
string
Required:
ROL or RON. Lowercase is accepted.
ROLRONrolron
dataoptional
string | null
Optional. Enables the consistency check between the declared currency and the date given.
e.g. 2024-06-15
How it behaves
- Converts an amount between old lei (ROL) and new lei (RON), at the fixed ratio of 10,000:1 set by Law 348/2004, in force from 1 July 2005.
- If a date is given as well, the response says which currency was the reference at that time and flags the mismatch: an amount declared in RON for a date in 1998 is almost certainly a misreading, and the result would be wrong by four orders of magnitude.
- The window from 1 January to 1 July 2005 is ambiguous and we do not guess it. NBR expresses its exchange-rate archive in new lei from 1 January 2005 onwards, even though the legal denomination took place on 1 July. For dates inside that window,
moneda_de_referinta_la_dataisnull, with the explanation: the unit depends on the source of the figure, not on the calendar. - Old lei remained legal tender until 31 December 2006, circulating in parallel with the new ones.
- The route is especially useful together with indexation: an amount from the 1990s indexed to today's value is still expressed in old lei, and here it is brought into new lei.
What it is for
- Bringing an amount from old documents into new lei.
- Checking which currency a figure in a document is expressed in.
Response structure
FieldTypeDescription
data[]
object[]
meta[]
string[]
The response envelope: the source, the freshness and the notes that go with the data.
data.suma_convertita
string
The result. Converting to new lei it is rounded to the cent; converting to old lei it stays exact.
data.suma_convertita_exacta
string
The unrounded result.
data.moneda_de_referinta_la_data
string
ROL, RON, or absent for the ambiguous window in the first half of 2005.
data.declaratie_coerenta
boolean
false when the declared currency does not match the date. Absent when it cannot be established.
Response examples
GEThttps://oneapi.ro/api/financiar/v1/calcul/denominare?suma=1000&din=ROL
{
"data": {
"suma": "1000",
"din": "ROL",
"in": "RON",
"raport": "1 RON = 10,000 ROL",
"suma_convertita": "0.10",
"suma_convertita_exacta": "0.1"
},
"meta": {
"temei": "Legea 348/2004 privind denominarea monedei naţionale: 1 leu nou (RON) = 10.000 lei vechi (ROL), de la 1 iulie 2005.",
"circulatie_paralela": "Leii vechi au rămas mijloc legal de plată până la 31 decembrie 2006."
}
}
GEThttps://oneapi.ro/api/financiar/v1/calcul/denominare?suma=2500.75&din=ROL
{
"data": {
"suma": "2500.75",
"din": "ROL",
"in": "RON",
"raport": "1 RON = 10,000 ROL",
"suma_convertita": "0.25",
"suma_convertita_exacta": "0.250075"
},
"meta": {
"temei": "Legea 348/2004 privind denominarea monedei naţionale: 1 leu nou (RON) = 10.000 lei vechi (ROL), de la 1 iulie 2005.",
"circulatie_paralela": "Leii vechi au rămas mijloc legal de plată până la 31 decembrie 2006."
}
}
GEThttps://oneapi.ro/api/financiar/v1/calcul/denominare?suma=1000&din=ROL&data=2024-06-15
{
"data": {
"suma": "1000",
"din": "ROL",
"in": "RON",
"raport": "1 RON = 10,000 ROL",
"suma_convertita": "0.10",
"suma_convertita_exacta": "0.1",
"data": "2024-06-15",
"moneda_de_referinta_la_data": "RON",
"declaratie_coerenta": false
},
"meta": {
"temei": "Legea 348/2004 privind denominarea monedei naţionale: 1 leu nou (RON) = 10.000 lei vechi (ROL), de la 1 iulie 2005.",
"circulatie_paralela": "Leii vechi au rămas mijloc legal de plată până la 31 decembrie 2006.",
"atentie_declaratie": "La data 2024-06-15, moneda de referinţă era RON, nu ROL. Verifică în ce unitate e scrisă suma înainte s-o converteşti — altfel rezultatul greşeşte cu patru ordine de mărime."
}
}
Error codes
| Code | Slug | When it occurs |
|---|---|---|
| 401 | neautentificat | Token missing, invalid, expired or revoked. |
| 403 | feature_indisponibil | The current plan does not include the feature the route depends on. |
| 422 | validare | Malformed amount, din missing or other than ROL/RON, malformed or future date. |
| 429 | cota_depasita | The plan's monthly quota has been exceeded (see Retry-After). |
All errors share the same shape. eroare.cod is stable and is the value you should branch on in code — not the text in mesaj, which may change.
{
"eroare": {
"cod": "validare",
"mesaj": "Malformed amount, din missing or other than ROL/RON, malformed or future date.",
"detalii": {
"suma": [
"The value sent does not satisfy the parameter rule."
]
}
}
}