CodeKitHub
Cómo evitamos que nuestras calculadoras de impuestos y nómina queden desactualizadas sin que nadie lo note

Cómo evitamos que nuestras calculadoras de impuestos y nómina queden desactualizadas sin que nadie lo note

Publicado el 4 ago 2026

Todas las calculadoras de este sitio que tocan impuestos, seguridad social o salario mínimo comparten el mismo problema: son correctas el día que las publicamos, y luego, seis meses después, un gobierno actualiza una tasa y la herramienta empieza a dar respuestas erróneas sin que nadie lo note. No aparece ningún mensaje de error. La página sigue funcionando exactamente igual que antes, solo que ahora está equivocada, y lo hace con total seguridad.

Ese resultado es peor que no tener la herramienta en absoluto. Por eso construimos un sistema específicamente para detectarlo.

El problema de “ya nos acordaremos de revisarlo”

La solución obvia —“revisar los números de vez en cuando”— no escala. Mantenemos calculadoras de salario neto, seguridad social y nómina en media docena de países, cada uno con sus propios tramos impositivos, tasas de cotización y umbrales que se ajustan anualmente. Multiplica eso por los meses que pasan antes de que alguien se acuerde de volver a comprobarlo, y la respuesta honesta es: tarde o temprano algún dato queda obsoleto y nadie se entera hasta que lo hace un usuario.

Lo que construimos en su lugar

Un archivo de registro enumera cada cifra oficial escrita directamente en el código de cada calculadora: en qué archivo vive, qué representa el número, dónde está la fuente oficial y con qué frecuencia se espera realmente que cambie (algunos valores se mueven cada enero cuando empieza un nuevo año fiscal; otros solo cambian cuando se modifica una ley, algo impredecible pero poco frecuente).

Una tarea programada se ejecuta cada semana, comprueba qué entradas tocan revisión según ese calendario y, para cada una de ellas:

  1. Busca el valor actual en la fuente oficial del gobierno correspondiente
  2. Le pide a un modelo de lenguaje que extraiga el número concreto de los resultados de búsqueda —nada más, solo el número y un nivel de confianza
  3. Si el modelo está seguro y el número cambió, lo aplica como una sustitución de texto literal y verificada directamente en el código (nunca una reescritura libre: el modelo no tiene permiso para improvisar la lógica que rodea al número)
  4. Ejecuta una compilación completa para confirmar que nada se rompió antes de confirmar cualquier cambio
  5. Si la compilación falla, el cambio se revierte automáticamente y se marca para que lo revise una persona

Todo el sistema gira en torno a un principio sencillo: la automatización tiene permiso para actualizar un número, pero nunca tiene permiso para adivinar. Si no puede encontrar una respuesta confiable en una fuente oficial, no hace nada y lo comunica con claridad, en lugar de dejar en su sitio un número equivocado que parece plausible.

Independiente de cualquier herramienta concreta

La tarea en sí se ejecuta sobre una infraestructura independiente de un único proveedor o cuenta: si una parte del proceso falla, todo el sistema no se detiene, simplemente recurre a otra vía para extraer el número. Esa redundancia importa aquí más que en la mayoría de las automatizaciones: una calculadora de impuestos equivocada causa un daño real, de una manera en la que, por ejemplo, un generador de memes averiado sencillamente no lo hace.

Qué significa esto para ti

Cada calculadora cubierta por este sistema muestra en la propia página una fecha de “datos oficiales verificados”, separada de la fecha de “última actualización” que puedes ver en una página de contenido normal. Si alguna vez ves esa fecha con un aspecto sospechosamente antiguo, merece la pena que nos lo hagas saber directamente: normalmente significa que la comprobación automática se topó con una fuente que no pudo interpretar, no que nos hayamos olvidado de ella.

Pruébalas

Estas son herramientas de un solo idioma, construidas específicamente para las reglas de su propio país, así que los siguientes enlaces se abren en ese idioma:

← Volver al blog