使用GraphViz构建加拿大工资单依赖关系图

本文介绍了作者如何使用GraphViz工具创建加拿大工资扣除计算的依赖关系图,包含79个节点,从年度最高养老金收入到总扣除额,帮助理清复杂税务公式的计算顺序。

加拿大工资单依赖关系图

加拿大税务局定期发布(目前已是第119版)名为"工资扣除公式"的文件。该文件包含了计算CRA征收的工资扣除所需的所有公式:加拿大养老金计划、就业保险和所得税。作为在加拿大经营小企业且不想使用外部工资服务提供商的人,我在电子表格中自行实现了这些公式。

不幸的是,与税务系统的大多数方面一样,这变得越来越复杂。今年加拿大养老金计划不仅包括"基本"保费和"额外"保费,还包括"第二额外保费",我需要从头重写电子表格;更不幸的是,文件作者未能掌握软件的一个基本细节:在使用值之前必须先计算它们。这导致需要不断来回跳转以查找每个值是在使用之前还是之后计算的。

为了帮助自己理清所有内容,我决定使用GraphViz绘制依赖关系图。图中有79个节点,从"年度最高养老金收入"(2024纳税年度为73200加元)等值开始,到"总工资扣除"结束。请注意,我没有在图表上写下公式——我只是记录了它们依赖的其他值,这样查看图表的人(也就是我自己)可以弄清楚先计算什么而不会绕圈子。

哦,为了简单起见,我假设我不处理佣金制员工、进入或退出加拿大养老金计划的员工,或居住在魁北克省、新斯科舍省、育空地区或安大略省的任何人(每个地区都有自己特殊的税务复杂性)。

这是它的样子;点击查看完整尺寸版本(警告,5627x2033图像):

[图像链接]

发布于 2023-12-31 00:00 | 永久链接 | 评论

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计