CodeKitHub
Jak bráníme tomu, aby naše daňové a mzdové kalkulačky potichu zastaraly

Jak bráníme tomu, aby naše daňové a mzdové kalkulačky potichu zastaraly

Publikováno 4. 8. 2026

Každá kalkulačka na tomto webu, která se dotýká daní, sociálního pojištění nebo minimální mzdy, má stejný způsob selhání: v den, kdy ji postavíme, je správná, pak vláda o šest měsíců později aktualizuje sazbu a nástroj začne potichu dávat špatné odpovědi. Nikdo nedostane chybovou hlášku. Stránka funguje přesně jako dřív — jen je teď špatně, a to sebevědomě.

To je horší výsledek, než nástroj vůbec nemít. Postavili jsme proto systém, který to má odhalit.

Problém s přístupem „nezapomeneme to zkontrolovat“

Zjevné řešení — „prostě čísla pravidelně kontrolovat“ — se nedá škálovat. Udržujeme kalkulačky čisté mzdy, sociálního pojištění a mezd napříč půltuctem zemí, z nichž každá má vlastní daňová pásma, sazby odvodů a každoročně upravované limity. Vynásobte to počtem měsíců, které uplynou, než někoho napadne udělat kontrolu, a upřímná odpověď zní: dřív nebo později něco zastará a nikdo si toho nevšimne, dokud si toho nevšimne uživatel.

Co jsme postavili místo toho

Registr v jednom souboru eviduje každé natvrdo zapsané oficiální číslo v každé kalkulačce: v jakém souboru žije, co číslo představuje, kde je oficiální zdroj a jak často se dá realisticky čekat, že se změní (některé hodnoty se hýbou každý leden se začátkem nového fiskálního roku; jiné se mění jen při novele zákona, což je nepředvídatelné, ale vzácné).

Naplánovaná úloha běží týdně, podle tohoto rozvrhu zjistí, které položky jsou na řadě ke kontrole, a pro každou z nich:

  1. Vyhledá aktuální hodnotu v oficiálním vládním zdroji
  2. Požádá jazykový model o extrakci konkrétního čísla z výsledků vyhledávání — nic víc, jen číslo a míru jistoty
  3. Pokud si je model jistý a číslo se změnilo, aplikuje ho jako doslovnou, ověřenou textovou náhradu v kódu (nikdy jako volné přepsání — model nesmí improvizovat s okolní logikou)
  4. Spustí kompletní build, aby ověřil, že se nic nerozbilo, než se cokoli commitne
  5. Pokud build selže, změna se automaticky vrátí zpět a označí se pro lidskou kontrolu

Celé je to navrženo kolem jednoduchého principu: automatizace smí aktualizovat číslo, ale nikdy nesmí hádat. Pokud nedokáže najít jistou odpověď z oficiálního zdroje, neudělá nic a jasně to nahlásí, místo aby na místě nechala věrohodně vypadající špatné číslo.

Nezávislost na jediném nástroji

Samotná úloha běží na infrastruktuře nezávislé na jakémkoli jednotlivém dodavateli nebo účtu — pokud jedna část pipeline vypadne, celý systém se nezastaví, jen přejde na jinou cestu k extrakci čísla. Tahle redundance je tu důležitější než u většiny automatizací: daňová kalkulačka, která počítá špatně, aktivně škodí způsobem, jakým třeba rozbitý generátor memů prostě neškodí.

Co to znamená pro vás

Každá kalkulačka pokrytá tímto systémem zobrazuje přímo na stránce datum „ověření oficiálních dat“, oddělené od data „poslední aktualizace“, které můžete vidět na běžné obsahové stránce. Pokud vám to datum někdy přijde podezřele staré, stojí za to nám to přímo nahlásit — obvykle to znamená, že automatická kontrola narazila na zdroj, který nedokázala zpracovat, ne že jsme na to zapomněli.

Vyzkoušejte si to

Jde o jednojazyčné nástroje, každý postavený speciálně pro pravidla své země, takže odkazy níže se otevírají v daném jazyce:

← Zpět na blog