A Canadian payroll dependency chart

A visual “dependency chart” for Canadian payroll deductions highlights how tangled tax and benefits rules have become, especially once federal, provincial, CPP/QPP, and employment insurance logic all interact. Commenters debate whether governments should publish official, machine-readable formulas or reference implementations, pointing to examples from France and Germany, and note that this complexity sustains payroll SaaS vendors while deterring small firms from hiring directly. The thread broadens into comparisons with other countries’ tax and mortgage practices, the limits of open banking, and whether tax systems can ever be both fair and simple enough for ordinary people to understand without professional help.

Canadian payroll and interprovincial complexity

  • Commenters note that excluding Quebec, Nova Scotia, Yukon, and Ontario from the chart still covers most of Canada in practice; Quebec is considered a special case with its own extensive HR and payroll rules.
  • Equalization payments and provincial incentives are debated: some argue Quebec benefits excessively and has perverse incentives not to exploit natural resources; others counter that the formula is based on tax capacity and that transfer payments support a unified economic zone.
  • Lack of true interprovincial free trade and profession-specific barriers (e.g., engineers, nurses) are cited as further structural complexity.

Desire for open formulas and law-as-code

  • Many want government-published, machine-readable formulas or reference implementations for payroll and taxes, ideally in open source form.
  • Counterarguments:
    • Governments and SaaS vendors may avoid this due to liability and bug exposure.
    • If laws need “reference implementations,” they may already be too complex.
  • Examples from abroad: Germany publishes standardized payroll flowcharts; France has tax/social DSLs and NPM packages; Canada has partial calculators but not full open code.
  • Broader “law as code” debate:
    • Proponents see code as a way to expose contradictions and complexity.
    • Skeptics point to inevitable ambiguity in inputs, human intent, and even logical limits (e.g., invoking incompleteness); also warn of arbitrary enforcement.

Banking, mortgages, and open banking

  • Several users struggle to reconcile Canadian mortgage balances with their own calculations; sources of discrepancy discussed include Canadian interest compounding rules, day-count conventions, and bank systems that can’t easily explain principal/interest splits.
  • Lack of standardized banking APIs in Canada is criticized; ongoing “open banking” efforts are noted but expectations are low, citing EU experiences where “open” APIs remain gated, expensive, or practically unusable, leading many to continue web scraping.

Role of payroll/tax software and SaaS

  • Complexity is seen as a major reason payroll providers exist; some argue governments could publish standards so multiple vendors can implement correctly.
  • Others note even professional systems and public-sector payroll implementations have failed badly in various countries, and that complexity plus changing rules make correctness and remediation costly.

Tax system design and broader reflections

  • Complexity is variously attributed to:
    • Targeted credits and politically branded “tax reductions” instead of simple brackets.
    • Loophole closing and international tax games.
    • Lobbying by industries that benefit from opaque rules.
  • Proposed remedies range from radical simplification (e.g., flat taxes, regular rewriting of laws with complexity caps) to better automation and reference code, with strong skepticism that entrenched interests would allow either.