gpt4 book ai didi

sql-server - 实现发票销售税策略

转载 作者:行者123 更新时间:2023-12-03 00:07:24 26 4
gpt4 key购买 nike

在南非,我们实行增值税 (VAT),它与销售税几乎相同,目前固定为 14%,但可能随时发生变化。

我需要在由多个发票行组成的发票(不可变)中包含增值税。发票行。每行引用一个带有 bool 属性 IsTaxableProduct,并且几乎所有产品都是应税的。

我不想将税前价格存储在数据库中,因为这使得很难读取客户将要支付的实际价格,并且在我显示这些价格的任何地方,我都必须记住添加税。当增值税税率确实发生变化时,对于该特定业务来说,所有价格都自动变化是不可取的。

因此,我认为反向税收计算是可行的方法,而且可能并不罕见。发票总额是所有发票行总额的总和,其中包括任何行折扣并且应含税。因此发票总额本身是含税的:

TaxTotal = InvoiceTotal / (1 + TaxRate),

其中 InvoiceTotal 含税且 TaxRate == 0.14

由于发票一旦开具就无法更改(它们是不可变的),我应该:

  1. 在我的Invoices 表中存储一个不会更改的Tax 金额?或者...
  2. 存储每个发票行的税额并在每次显示发票时计算发票税总额?

从 DBA 的角度来看,选项 2 似乎更安全,因为如果发票被手动更改,那么税费将被正确计算,但是如果发票已经开具,这仍然存在不一致的问题。如果我坚持使用选项 1,那么我无法显示单个行项目的税金,但它使管理税金总额和进行汇总计算变得更容易,尽管如果发生更改,它也会出现不一致。

我不能同时执行这两项操作,因为这会重复数据。

  • 哪条路是正确的?或者反向税收计算真的是一个坏主意吗?

最佳答案

将税前值存储在数据库中,您还可以存储含税值并将其用于大多数用例。

我预见到的大问题是发票上增值税的舍入规则。这些规则(至少在英国)非常严格,您的反向计算无法做到这一点。

此外,您还需要逐项存储税款,因为如果退回某件商品,增值税龙将希望您准确退还所支付的税款。在开始之前,您确实需要了解本地的销售税规则。

我的经验是,如果你的计算误差只有一分钱,你可能会被拖垮,而且,如果你接受审计,你需要能够展示你是如何得出增值税数字的,所以不要存储任何东西在你的计算中使用会让你陷入困境。

关于sql-server - 实现发票销售税策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4374495/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com