1 puan yazan GN⁺ 2024-01-04 | 1 yorum | WhatsApp'ta paylaş

Kanada maaş kesintisi hesaplamalarının karmaşıklığı

  • Kanada Gelir İdaresi (CRA), düzenli olarak "Payroll Deductions Formulas" belgesini yayımlıyor. Bu belge, CRA'nın tahsil ettiği Kanada Emeklilik Planı, işsizlik sigortası ve gelir vergisine ilişkin tüm hesaplama formüllerini içeriyor.
  • Kanada'da küçük bir işletme işleten ve dış bir bordro hizmeti sağlayıcısı kullanmayan Colin Percival, bu formülleri doğrudan bir elektronik tabloya uyguladı.
  • Vergi sisteminin çoğu yönünde olduğu gibi karmaşıklık artıyor; bu yıl Kanada Emeklilik Planı yalnızca "temel" prim ve "ek" primi değil, aynı zamanda "ikinci ek" primi de içerdiği için elektronik tablonun baştan yazılması gerekti.

Bağımlılık şeması oluşturma

  • Belgenin yazarları yazılım açısından önemli bir ayrıntıyı gözden kaçırmış: Bir değeri kullanmadan önce onu hesaplamak gerekiyor. Bu yüzden belgeye bakarken hesaplanacak her değerin nerede olduğunu bulmak için sürekli ileri geri gitmek gerekiyor.
  • Buna yardımcı olmak için Colin Percival, GraphViz kullanarak bir bağımlılık şeması çizdi. Grafikte "yıllık azami emeklilik hakkedişi" ($73200) gibi değerlerden başlayıp "toplam maaş kesintileri"ne kadar uzanan 79 düğüm bulunuyor.
  • Şemada formüller yazılmıyor; bunun yerine her formülün bağlı olduğu diğer değerler kaydediliyor, böylece şemaya bakan kişi önce neyi hesaplaması gerektiğini kolayca anlayabiliyor.

Basitleştirilmiş varsayımlar

  • Basitleştirme amacıyla Colin Percival; komisyon alan çalışanları, Kanada Emeklilik Planı'na giren veya çıkan çalışanları ve Quebec, Nova Scotia, Yukon ile Ontario'da yaşayan kişileri (her birinin kendine özgü vergi karmaşıklığı var) ele almadığını varsayıyor.

GN⁺ görüşü

  • Bu yazı, Kanada'daki maaş kesintisi hesaplamalarının ne kadar karmaşık olduğunu iyi gösteriyor. Özellikle küçük işletme sahiplerinin karşılaştığı zorlukları ve bunları çözmek için geliştirilen yaratıcı yaklaşımı vurguluyor.
  • Bağımlılık şeması oluşturmak, karmaşık sistemleri anlamak ve yönetmek için çok faydalı bir araç; yalnızca yazılım mühendisliğinde değil, farklı alanlardaki problem çözme süreçlerinde de uygulanabilir.
  • Yazı, vergi hesaplamalarının karmaşıklığını sadeleştirmeye çalışan bir işletme sahibinin çabasını gösteriyor ve bu çaba başka işletme sahiplerine de ilham verebilir.

1 yorum

 
GN⁺ 2024-01-04
Hacker News görüşleri
  • Hükümetin kod biçiminde açık formüller sunmaması üzücü.

    Kanada Gelir Ajansı (CRA) web sitesindeki web formunu kullanmak tek güvenilir yöntem ve bunu elle hesaplamak çok zahmetli, ayrıca hataya açık.

  • Kanada'da küçük bir bordro şirketi işletmiş biri olarak, kurallar her güncellendiğinde CRA hesaplayıcısına karşı bir scraper çalıştırıp çeşitli bölgeler ve maaş aralıkları için bordroyu hesaplıyor, ardından çıktıları rspec ile karşılaştırarak mevzuata uyumu test ediyordum.

    Kurallar her değiştiğinde scraper kullanarak bordroyu hesaplayan ve sonuçları rspec ile çıktılayıp mevzuata uyumu test eden bir "brute force" yöntemi kullanıyordum.

  • Vergi hukukunun karmaşıklığı şu döngüden geçiyor:

    1. Vergi yasası çıkarılır.
    2. Becerikli muhasebeciler ve vergi avukatları, vergiden yasal olarak kaçınmanın yollarını bulur.
    3. Vergi otoriteleri, açıkları kapatmak için düzenlemeler yayımlar.
    4. Yönetim değişir; oy kazanmak ya da ekonomiyi ayarlamak için bazı vergiler düşürülür ve vergi teşvikleri eklenir.
    5. Yeni yönetim, önceki yönetimin programlarını siyasi nedenlerle seçici biçimde geri alır.
    6. Uluslararası vergi söz konusu olduğunda; çoklu yargı alanlarında vergiyi düşürmek için karmaşık stratejiler kullanan yetkin vergi avukatları, çok uluslu şirketleri çekmek için vergi yasalarına teşvik ekleyen hükümetler, bunu önlemek için vergiyle ilgili konuları standartlaştırmaya çalışan OECD ve ülkeler arasındaki vergi anlaşmaları gibi ek katmanlar da devreye girer.
  • Birkaç yıl önce IRS için buna benzer bir şey yapmıştım.

    ABD vergi kurumu IRS için birkaç yıl önce benzer bir araç geliştirmiştim.

  • Bu, bordro sağlayıcılarının neden var olduğunu gösteren bir grafik.

    Bordro sağlayıcılarının neden gerekli olduğunu anlatan ilgili Bits About Money yazısına atıfta bulunuluyor.

  • CRA'nın tüm formüllerin referans implementasyonunu yayımlaması gerektiğini söylediği için yazarı tebrik ederim.

    CRA'nın tüm formüllerin referans implementasyonunu yayımlayarak küçük işletmelere fayda sağlaması gerektiği görüşüne katılıyorum.

  • Fransa'da bu kurallar; web sitesi, API, NPM paketi ve publi.codes dilindeki ham kurallar olarak sunuluyor.

    Fransa'da vergi kurallarının web sitesi, API, NPM paketi ve publi.codes dili üzerinden sağlandığı açıklanıyor.

  • Quebec, Nova Scotia, Yukon ve Ontario sakinleri hariç, Kanada nüfusunun yaklaşık %75'ine uygulanıyor.

    Bu kurallar, Quebec, Nova Scotia, Yukon ve Ontario sakinleri dışında Kanada nüfusunun büyük çoğunluğu için geçerli.

  • ABD'de yaşıyorum ama bu karmaşıklık, LLC'mde çalışan istihdam etmeyişimin başlıca nedenlerinden biri.

    ABD'de yaşayan bir kullanıcı, vergiyle ilgili bu karmaşıklığın LLC'sinde çalışan istihdam etmemesinin temel nedenlerinden biri olduğunu söylüyor.

  • Yazılım olsun olmasın, her algoritma istenen sonucu elde etmek için karmaşıklık eklenerek kafa karıştırıcı bir hâle getirilebilir.

    Algoritmalar, istenen sonuca ulaşmak için karmaşıklık eklenerek dışarıdan bakanları şaşırtan ve bazı durumlarda olumsuz sonuçlara yol açabilen bir yapıya dönüştürülebilir.