CodeKitHub
Kako preprečimo, da bi naši davčni in plačilni kalkulatorji tiho zastareli

Kako preprečimo, da bi naši davčni in plačilni kalkulatorji tiho zastareli

Objavljeno 4. avg. 2026

Vsak kalkulator na tej strani, ki se dotika davkov, socialnega zavarovanja ali minimalne plače, ima isti način odpovedi: pravilen je na dan, ko ga zgradimo, nato pa vlada šest mesecev pozneje posodobi stopnjo, orodje pa tiho začne dajati napačne odgovore. Nihče ne dobi sporočila o napaki. Stran deluje naprej povsem enako kot prej — le da je zdaj napačna, in to samozavestno napačna.

To je slabši izid, kot če orodja sploh ne bi bilo. Zato smo zgradili sistem, katerega edini namen je to ujeti.

Težava z “bomo že pomnili preveriti”

Očiten popravek — “pač občasno preverimo številke” — se ne razširi na velik obseg. Vzdržujemo kalkulatorje neto plače, socialnega zavarovanja in obračuna plač za pol ducata držav, vsaka s svojimi davčnimi razredi, prispevnimi stopnjami in letno prilagojenimi pragovi. Pomnoži to s tem, koliko mesecev mine, preden se kdo spomni dvakrat preveriti, in pošten odgovor je: prej ali slej nekaj zastari in nihče tega ne opazi, dokler ne opazi uporabnik.

Kaj smo zgradili namesto tega

Datoteka z registrom navaja vsako trdo kodirano uradno številko v vsakem kalkulatorju: v kateri datoteki se nahaja, kaj številka predstavlja, kje je uradni vir in kako pogosto se realno pričakuje, da se bo spremenila (nekatere vrednosti se spremenijo vsak januar, ko se začne novo fiskalno leto; druge se spremenijo le, ko se zakon spremeni, kar je nepredvidljivo, a redko).

Načrtovano opravilo teče tedensko, preveri, kateri vnosi so glede na ta razpored na vrsti za pregled, in za vsakega:

  1. Poišče trenutno vrednost v uradnem vladnem viru
  2. Prosi jezikovni model, naj iz rezultatov iskanja izlušči natanko to številko — nič drugega, le številko in stopnjo zaupanja
  3. Če je model prepričan in se je številka spremenila, jo uveljavi kot dobesedno, preverjeno zamenjavo besedila v kodi (nikoli kot prosto prepisovanje — model ne sme improvizirati okoliške logike)
  4. Zažene celoten build, da potrdi, da se nič ni pokvarilo, preden karkoli uveljavi
  5. Če build spodleti, se sprememba samodejno razveljavi in označi, da jo pregleda človek

Celoten sistem je zasnovan okoli enega preprostega načela: avtomatizacija sme posodobiti številko, nikoli pa ne sme uganjati. Če iz uradnega vira ne najde zanesljivega odgovora, ne naredi ničesar in to jasno sporoči, namesto da bi na mestu pustila verjetno videti, a napačno številko.

Neodvisno od katerega koli enega orodja

Opravilo samo teče na infrastrukturi, ki je neodvisna od katerega koli enega ponudnika ali računa — če en del cevovoda odpove, celoten sistem ne neha delovati, temveč se preprosto preklopi na drugo pot za pridobivanje številke. Ta redundanca je tukaj pomembnejša kot pri večini avtomatizacij: napačen davčni kalkulator je dejansko škodljiv na način, na kakršen pokvarjen generator memov preprosto ni.

Kaj to pomeni zate

Vsak kalkulator, ki ga pokriva ta sistem, neposredno na strani prikazuje datum “uradni podatki preverjeni”, ločeno od datuma “nazadnje posodobljeno”, ki ga morda vidiš na navadni vsebinski strani. Če kdaj vidiš, da je ta datum videti sumljivo star, nam to vredno neposredno sporočiti — običajno pomeni, da je avtomatizirano preverjanje naletelo na vir, ki ga ni znalo razčleniti, ne da smo nanj pozabili.

Preizkusi

To so enojezična orodja, vsako zgrajeno posebej za pravila svoje države, zato se spodnje povezave odprejo v tistem jeziku:

← Nazaj na blog