Her Aralık ayında EGM sektör genelinde aynı örüntüyü görüyor: düzeltme dosyalarında ani artış, negatif katkı düzeltmeleri, iade talepleri ve aynı temel nedene dayanan mutabakat kayıtları. Çalışanlar yıllık katkı tavanını aşmış, kimse bunu zamanında fark etmemiş ve şimdi üç taraf — işveren, emeklilik şirketi ve EGM — yıl sonu için doğru rakamın ne olması gerektiği üzerinde anlaşmaya çalışıyor.
Bu bir uyum sorunu değildir. Sektörün yıllardır manuel mutabakatla üzerini örttüğü bir veri mimarisi sorunudur.
Düzenleme Aslında Ne Söylüyor
Yıllık BES katkıları, katılımcının brüt yıllık gelirinin bir yüzdesi olarak sınırlandırılıyor ve asgari ücret katına bağlı kesin bir tavana sahip. Kağıt üzerinde yeterince basit. Kural, herhangi bir junior geliştiricinin yazabileceği bir doğrulama gibi okunuyor:
if (year_to_date_contribution + new_contribution > annual_cap) reject;
Bu doğrulama doğrudur. Aynı zamanda üretimde işe yaramazdır, çünkü Türkiye bordro gerçekliğinde asla doğru olmayan üç varsayımda bulunur:
year_to_date_contributionyeni katkı anında bilinmektedirannual_capyıl boyunca sabittir- Bordro verileri geriye dönük olarak değişmez
Üç varsayımın üçü de herhangi bir yılın ilk çeyreği içinde çöker.
Veri Neden Hatalı Geliyor
Yedi tüzel kişilik altında 4.000 çalışanı olan orta ölçekli bir holding düşünün. Bir çalışan Nisan ayında bir iştirakten diğerine geçiyor. Katkı geçmişi TCKN'sine karşılık EGM'de kalıyor, ancak yeni işverenin bordro sistemi sayacı sıfırdan başlatıyor. Çalışanın artık aynı yıllık tavana karşılık katkı bildiren iki işvereni var ve hiçbiri diğerinin rakamını gerçek zamanlı olarak bilmiyor.
Bunu, gerçekten yaşanan her senaryoyla çarpın:
- Aralık ayında yapılan ve tüm yılın brüt maaş tabanını geriye dönük olarak değiştiren prim ödemeleri
- Üçüncü çeyrekte gelen ve önceki ayları yeniden fiyatlandıran mahkeme kararlı ücret düzeltmeleri
- "Brüt" tanımını sonradan kaydıran SGK düzeltmeleri
- Yıl ortasında otomatik katılıma dahil olan ve ardından üzerine gönüllü katkı yapan çalışanlar
- Aynı holding içindeki, İK'nın sürekli istihdam olarak değerlendirdiği ancak bordronun işten ayrılma ve yeniden işe alım olarak işlediği kuruluşlar arası transferler
Aralık kapandığında, herhangi bir sistemin tuttuğu "yıl başından itibaren" rakamı bayat, eksik veya aynı gerçeğin farklı bir sürümünü tutan başka bir sistem tarafından çelişkili hale gelmiş oluyor.
Çoğu Sistem Aslında Ne Yapıyor
Hemen hemen her Türk emeklilik operasyon ekibine gidin ve tavan uygulamasının nasıl gerçekleştirildiğine bakın. Şunun bir varyasyonunu bulacaksınız:
- İşverenden aylık katkı dosyası gelir
- Sistem TCKN başına
sum(contributions_this_year) + this_monthhesaplar - Tavanın üzerindeyse, satır kaleminin fazla kısmını reddeder
- İşverene bir hata dosyası döner
- İşveren düzeltir, yeniden gönderir, herkes yoluna devam eder
Bu, on bir ay boyunca işe yarar. Aralık ayında başarısız olur ve belirli bir şekilde başarısız olur: retler yılın son iki bordro çalıştırmasında, primler geldiğinde, geriye dönük düzeltmeler yerleştiğinde ve yıl ortasında iş değiştiren çalışanların tam tabloları nihayet bir araya geldiğinde kümelenir.
Retler daha sonra Aralık ortasından Şubat sonuna kadar süren manuel bir mutabakat döngüsünü tetikler. Emeklilik şirketleri bunun için personel takviyesi yapar. EGM bunu bekler. İşverenler bundan nefret eder. Herkes bunu hayatın bir gerçeği olarak kabul eder.
Kimsenin İnşa Etmediği Mimari Çözüm
Tavan kuralı, işlem başına bir doğrulama değildir. Değişken bir akış üzerinde çalışan bir toplamdır. Bunlar tamamen farklı iki sorundur ve ikincisi gerekirken birincisini inşa etmek, Aralık ayının neden böyle göründüğünün nedenidir.
Çalışan toplam mimarisi, çoğu eski emeklilik platformunun asla tasarlamadığı birkaç şeyi gerektirir:
- İşveren sözleşmesi başına değil, TCKN başına kanonik YTD pozisyonu. Sayaç, bordro sözleşmesine değil, kişiye aittir. Bir çalışan işveren değiştirdiğinde sayaç devam eder; sıfırlanmaz.
- Üzerine yazma yerine katkı geçmişinde event sourcing. Nisan bordrosu Kasım ayında düzeltildiğinde, Nisan kaydını güncellemezsiniz. Bir düzeltme olayı eklersiniz. YTD hesaplaması log'u yeniden oynatır.
- Tek yönlü gönderim değil, EGM ile çift yönlü mutabakat. İşverenin YTD rakamı ile EGM'nin YTD rakamı sadece yıl sonunda değil, sürekli olarak eşleşmelidir. Sapma Haziran'da uyarı tetiklemeli, Ocak'ta kayıt oluşturmamalıdır.
- Geçici vs. onaylanmış katkı durumları. Bir Aralık primi katkısı, yıllık brüt kilitlenene kadar geçici olarak girmelidir. Geçici katkılar tavan projeksiyonuna sayılır ancak onaylanana kadar sert bir ret tetiklemez.
Bunların hiçbiri teknik olarak zor değildir. Ülkedeki her ödeme sistemi aynı sorunun daha zor sürümlerini çözüyor. Emeklilik platformlarının bunu çözmemiş olmasının nedeni, mutabakat maliyetinin dışsallaştırılmış olmasıdır — buna neden olan sistemlere değil, operasyon ekiplerine iner — ve hiç kimse bunu içselleştirmeye zorlanmamıştır.
EGM'nin Gördüğü, Bireysel Şirketlerin Görmediği
Kendi Aralık rakamlarına bakan bir emeklilik şirketi, yönetilebilir bir istisna yığını görür. Toplam veriye oturan EGM ise sistemik bir örüntü görür: aynı çalışanlar birden fazla şirketteki düzeltme dosyalarında görünür, aynı işverenler her yıl orantısız ret oranları üretir ve Aralık ayındaki aynı haftalar yıllık mutabakat yükünün orantısız bir payını oluşturur.
Bu toplu görünüm, sorunu doğrulama düzeyinde değil mimari düzeyde çözmek için bir argümandır. Gönderim noktasındaki daha sıkı bir doğrulama kuralı, altındaki veri zaten değişecekse yardımcı olmaz. Aralık ayındaki artışı gerçekten azaltan şey, geçici durumlar ve sürekli mutabakat içeren bir çalışan toplam mimarisidir.
Pratik Yol
Eski bir katkı hattı üzerinde oturan bir emeklilik şirketi veya işveren için geçiş, bir yeniden yazma değildir. Bir gölge sistemdir:
- Event-sourced YTD hesaplayıcısını mevcut ret motorunun yanında inşa edin
- Her ikisini de tam bir yıl paralel çalıştırın
- İkisi arasındaki Aralık mutabakat yükünü karşılaştırın
- Geçiş için iş vakası olarak farkı kullanın
Bunu yapan şirketler sessizce EGM'nin sorunlu işveren raporlarında görünmeyi bırakır. Yapmayanlar, her dördüncü çeyrekte operasyon ekiplerine takviye yapmaya devam eder ve buna işin maliyeti der.
Bu, işin maliyeti değildir. Mimarinin gerektiği yerde bir doğrulama inşa etmenin maliyetidir.