How the Mexico refrendo y tenencia calculator is verified

Inputs

InputFieldType
Valor del vehículo (MXN)valuenumber
Estadoestadostring
Refrendo si « Otro » (MXN)customRefrendonumber

The formula

Each derived value below is computed by the Valem engine from the expression shown, in this order. Nothing else runs — there is no hidden code path.

Derived valueFieldFormula (JSONata)
Refrendo (placa)refrendo($e := estado; $round($e = 'CDMX' ? $const.refrendoCDMX : $e = 'EDOMEX' ? $const.refrendoEdomex : $e = 'JAL' ? $const.refrendoJalisco : $e = 'NL' ? $const.refrendoNuevoLeon : $e = 'OTRO_TENENCIA' ? $const.refrendoOtro : customRefrendo, 2))
Cobra TenenciacobraTenencia($e := estado; ($e = 'EDOMEX' or $e = 'OTRO_TENENCIA') ? 1 : 0)
Tenenciatenencia$round(cobraTenencia = 1 ? value * $const.tenenciaRate : 0, 2)
Total anualtotal$round(refrendo + tenencia, 2)

Rates and thresholds

The expressions above read these as $const. They are the figures the annual refresh replaces, so they live as data rather than being written into the formulas — which is what makes a year-on-year change a one-line diff instead of an edit to arithmetic.

ConstantValue
tenenciaRate0.03
refrendoCDMX760
refrendoEdomex990
refrendoJalisco900
refrendoNuevoLeon3368
refrendoOtro850

Test vectors (3)

Every case is executed against this model on each build, by the Java engine and independently by a JavaScript one. A mismatch of a single cent fails the build, so the page cannot ship advertising a figure the model no longer produces.

Case 1 — C1 CDMX, vehículo de 250,000 MXN — sólo refrendo

given value250000
given estadoCDMX
expect refrendo760
expect cobraTenencia0
expect tenencia0
expect total760

Case 2 — C2 Estado de México, 600,000 MXN — sí cobra tenencia

given value600000
given estadoEDOMEX
expect refrendo990
expect cobraTenencia1
expect tenencia18000
expect total18990

Case 3 — C3 Nuevo León — el refrendo más alto de los cuatro estados grandes

given value400000
given estadoNL
expect refrendo3368
expect tenencia0
expect total3368

Sources

Check it yourself — and reuse it

The whole model as JSON — inputs, outputs, formulas, vectors and sources in one re-runnable document.

This model is published under CC BY 4.0: use it, adapt it, build on it, with attribution. The licence covers the model — the expression of each rule and the arrangement of the catalog. The rates and thresholds are law, and nobody licenses those; the sources above are where they come from.

← Back to the Mexico refrendo y tenencia calculator

Built with Valem — a live, verifiable calculator you can fork and embed.