CodeKitHub
How we keep our tax and payroll calculators from quietly going stale

How we keep our tax and payroll calculators from quietly going stale

Published Aug 4, 2026

Every calculator on this site that touches taxes, social insurance or minimum wage has the same failure mode: it’s correct on the day we build it, and then a government updates a rate six months later, and the tool silently starts giving wrong answers. Nobody gets an error message. The page keeps working exactly as before — it’s just wrong now, and confidently so.

That’s a worse outcome than not having the tool at all. So we built a system specifically to catch it.

The problem with “we’ll remember to check”

The obvious fix — “just check the numbers periodically” — doesn’t scale. We maintain net-salary, social-insurance and payroll calculators across half a dozen countries, each with its own tax brackets, contribution rates and annually-adjusted thresholds. Multiply that by however many months go by before someone thinks to double-check, and the honest answer is: eventually, something goes stale and nobody notices until a user does.

What we built instead

A registry file lists every hardcoded official number in every calculator: which file it lives in, what the number represents, where the official source is, and how often it’s realistically expected to change (some values move every January when a new fiscal year starts; others only change when a law is amended, which is unpredictable but rare).

A scheduled job runs weekly, checks which entries are due for review based on that schedule, and for each one:

  1. Searches the official government source for the current value
  2. Asks a language model to extract the specific number from the search results — nothing else, just the number and a confidence level
  3. If the model is confident and the number changed, applies it as a literal, verified text replacement in the code (never a freeform rewrite — the model doesn’t get to improvise the surrounding logic)
  4. Runs a full build to confirm nothing broke before committing anything
  5. If the build fails, the change is automatically reverted and flagged for a human to look at

The whole thing is designed around a simple principle: the automation is allowed to update a number, but it is never allowed to guess. If it can’t find a confident answer from an official source, it does nothing and reports that clearly, rather than leaving a plausible-looking wrong number in place.

Independent of any one tool

The job itself runs on infrastructure independent of any single vendor or account — if one part of the pipeline goes down, the whole system doesn’t stop working, it just falls back to a different path for extracting the number. That redundancy matters more here than in most automation: a tax calculator that’s wrong is actively harmful in a way that, say, a broken meme generator simply isn’t.

What this means for you

Every calculator that’s covered by this system shows an “official data verified” date directly on the page, separate from the “last updated” date you might see on a normal content page. If you ever see that date looking suspiciously old, that’s worth flagging to us directly — it usually means the automated check hit a source it couldn’t parse, not that we’ve forgotten about it.

Try it

These are single-language tools, each built specifically for its own country’s rules, so the links below open in that language:

← Back to Blog