CodeKitHub
Vergi ve bordro hesaplayıcılarımızın kimse fark etmeden eskimesini nasıl engelliyoruz

Vergi ve bordro hesaplayıcılarımızın kimse fark etmeden eskimesini nasıl engelliyoruz

Yayın Tarihi 4 Ağu 2026

Bu sitedeki vergi, sosyal güvenlik veya asgari ücretle ilgili her hesaplayıcının aynı zayıf noktası var: yayınladığımız gün doğrudur, ama altı ay sonra bir hükümet bir oranı güncelleyince araç sessizce yanlış cevaplar vermeye başlar. Hiçbir hata mesajı çıkmaz. Sayfa tıpkı öncekiyle aynı şekilde çalışmaya devam eder — sadece artık yanlıştır, hem de son derece kendinden emin bir şekilde.

Bu, aracın hiç var olmamasından daha kötü bir sonuçtur. Bu yüzden bunu yakalamak için özel olarak bir sistem kurduk.

“Kontrol etmeyi hatırlarız” yaklaşımının sorunu

Akla gelen ilk çözüm — “rakamları periyodik olarak kontrol etmek yeter” — ölçeklenmiyor. Yarım düzine ülkede net maaş, sosyal güvenlik ve bordro hesaplayıcıları yürütüyoruz; her birinin kendi vergi dilimleri, katkı oranları ve her yıl güncellenen eşik değerleri var. Bunu, birinin tekrar kontrol etmeyi hatırlamasına kadar geçen ay sayısıyla çarpın, dürüst cevap şu: er ya da geç bir şey eskir ve bunu bir kullanıcı fark edene kadar kimse fark etmez.

Bunun yerine ne kurduk

Bir kayıt dosyası, her hesaplayıcıda koda gömülü her resmi rakamı listeliyor: hangi dosyada olduğunu, o rakamın neyi temsil ettiğini, resmi kaynağın nerede olduğunu ve gerçekçi olarak ne sıklıkla değişmesinin beklendiğini (bazı değerler her ocak ayında yeni mali yıl başladığında değişiyor; bazıları ise ancak bir yasa değiştiğinde değişiyor — bu öngörülemez ama nadir).

Haftalık çalışan zamanlanmış bir görev, bu takvime göre hangi kayıtların gözden geçirilmesi gerektiğini kontrol ediyor ve her biri için:

  1. Resmi devlet kaynağında güncel değeri arıyor
  2. Bir dil modelinden arama sonuçlarından o belirli rakamı çıkarmasını istiyor — başka hiçbir şey değil, sadece rakam ve bir güven düzeyi
  3. Model emin olduğunda ve rakam değiştiyse, bunu doğrudan kod içinde birebir, doğrulanmış bir metin değişikliği olarak uyguluyor (asla serbest bir yeniden yazım değil — modele çevredeki mantığı doğaçlama düzenleme izni verilmiyor)
  4. Herhangi bir şeyi kaydetmeden önce hiçbir şeyin bozulmadığını doğrulamak için tam bir derleme çalıştırıyor
  5. Derleme başarısız olursa değişiklik otomatik olarak geri alınıyor ve bir insanın incelemesi için işaretleniyor

Sistemin tamamı basit bir ilke etrafında tasarlandı: otomasyonun bir rakamı güncellemesine izin var, ama tahmin yürütmesine asla izin yok. Resmi bir kaynaktan emin bir cevap bulamıyorsa hiçbir şey yapmıyor ve bunu açıkça bildiriyor — mantıklı görünen ama yanlış bir rakamı yerinde bırakmak yerine.

Tek bir araca bağımlı değil

Görevin kendisi tek bir sağlayıcıya veya hesaba bağlı olmayan bir altyapı üzerinde çalışıyor — hattın bir kısmı çökerse tüm sistem durmuyor, sadece rakamı çıkarmak için farklı bir yola geçiyor. Bu yedeklilik burada çoğu otomasyondan daha önemli: yanlış bir vergi hesaplayıcısı gerçek bir zarar veriyor, bozuk bir mizah üretici aracının asla veremeyeceği türden bir zarar.

Bunun sizin için anlamı

Bu sistem tarafından kapsanan her hesaplayıcı, sayfada doğrudan bir “resmi veri doğrulandı” tarihi gösteriyor — normal bir içerik sayfasında görebileceğiniz “son güncelleme” tarihinden ayrı olarak. Eğer bu tarih size şüpheli derecede eski görünürse, bunu doğrudan bize bildirmeniz değerli olur — bu genellikle otomatik kontrolün ayrıştıramadığı bir kaynakla karşılaştığı anlamına gelir, unutulduğu anlamına değil.

Deneyin

Bunlar tek dilli araçlar, her biri kendi ülkesinin kurallarına özel olarak inşa edildi, bu yüzden aşağıdaki bağlantılar o dilde açılıyor:

← Blog'a Dön