繁体   English   中英

更改计划逻辑以适应新的零售税法

[英]Changing Program Logic to Accommodate New Retail Tax Law

背景
我有一个程序已对加拿大安大略省实施两种“经典”税:5%的商品及服务税和8%的商品及服务税。 从2010年7月初开始,该省大多数情况下改用一种合并的HST税,税率为13%。 效果和变化在这里,但这不是这个问题的重点...


有什么最佳实践和好的解决方案可以轻松应对零售税的未来变化? 税收变化经常发生。 我敢肯定有很多具有良好经验的SO用户。

因为我的编程是.NET,所以我将为该解决方案提供环境。

我将建议这两种解决方案:

  • 将税收计算定义为系统的插件,以便将来的更改将在插件库中本地化。 将来的更改可能涉及更新插件库或更改配置文件。 这对于您的应用程序适应不同省份税收计算的变化也很有用。 您可以构建一个简单的插件代码或在CodePlex中查看MEF
  • 介绍一个税收表,您可以在其中定义有关税收和计算字段/公式的元数据信息。 您可以更进一步,定义一种简单的特定于领域的语言(例如脚本),然后将其映射到您的代码字段/逻辑/诠释,以得出计算出的数量。 您的主系统将加载税表并使用它来驱动所有税计算。 希望将来的更新将涉及更新税表文件。

当它是简单税率(例如营业税)时,您可以将税率放入一个常数(即readonly decimal OntarioGST = 0.05M )中,并根据税率的变化使用新的常数向程序发送更新。

对于更复杂的税收,您可以应用策略模式并替换算法以作为响应。

无论哪种方式,您都需要推出软件更新。 您不能现实地期望您的客户能够处理诸如“如果费率发生变化,则必须在配置文件中输入新费率”之类的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM