- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在南非,我们实行增值税 (VAT),它与销售税几乎相同,目前固定为 14%,但可能随时发生变化。
我需要在由多个发票行组成的发票(不可变)中包含增值税。发票行。每行引用一个带有 bool 属性 IsTaxable
的 Product
,并且几乎所有产品都是应税的。
我不想将税前价格存储在数据库中,因为这使得很难读取客户将要支付的实际价格,并且在我显示这些价格的任何地方,我都必须记住添加税。当增值税税率确实发生变化时,对于该特定业务来说,所有价格都自动变化是不可取的。
因此,我认为反向税收计算是可行的方法,而且可能并不罕见。发票总额是所有发票行总额的总和,其中包括任何行折扣并且应含税。因此发票总额本身是含税的:
TaxTotal = InvoiceTotal / (1 + TaxRate),
其中 InvoiceTotal
含税且 TaxRate == 0.14
由于发票一旦开具就无法更改(它们是不可变的),我应该:
Invoices
表中存储一个不会更改的Tax
金额?或者...从 DBA 的角度来看,选项 2 似乎更安全,因为如果发票被手动更改,那么税费将被正确计算,但是如果发票已经开具,这仍然存在不一致的问题。如果我坚持使用选项 1,那么我无法显示单个行项目的税金,但它使管理税金总额和进行汇总计算变得更容易,尽管如果发生更改,它也会出现不一致。
我不能同时执行这两项操作,因为这会重复数据。
最佳答案
将税前值存储在数据库中,您还可以存储含税值并将其用于大多数用例。
我预见到的大问题是发票上增值税的舍入规则。这些规则(至少在英国)非常严格,您的反向计算无法做到这一点。
此外,您还需要逐项存储税款,因为如果退回某件商品,增值税龙将希望您准确退还所支付的税款。在开始之前,您确实需要了解本地的销售税规则。
我的经验是,如果你的计算误差只有一分钱,你可能会被拖垮,而且,如果你接受审计,你需要能够展示你是如何得出增值税数字的,所以不要存储任何东西在你的计算中使用会让你陷入困境。
关于sql-server - 实现发票销售税策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4374495/
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
我是一名优秀的程序员,十分优秀!