MySQL - 根据需要添加增值税

时间:2012-10-04 20:14:59

标签: php mysql

我有一系列含有或不含增值税的产品。我总是希望向客户显示包含增值税的价格,因此我有一个标志,说明价格是否包含增值税。目前我在PHP中添加了增值税,这意味着当基于MySQL对基本价格进行排序时,排序会有所不同,有时增值税会导致结果无序。

我希望在MySQL查询中自动将增值税添加到需要的价格中。我怎样才能做到这一点?

我的产品表格如下:

product_id, product_dayprice, product_weekprice, product_includevat

product_includevat只是一个bool,即1或0 ... VAT存储为PHP变量

我的排序代码看起来像这样,旨在将产品的最终价格设为0

CASE product_daypriceWHEN 0 then 40000 ELSE product_dayprice END

2 个答案:

答案 0 :(得分:3)

如果product_include_vat是bool字段,则它就像

一样简单
SELECT product_weekprice + (product_weekprice * vat_rate * product_includevat)

如果includevat字段为false,它将计算为整数0,并且您的增值在乘法中变为零。

答案 1 :(得分:0)

您不应在每一步动态计算增值税。计算一次,并保存您拥有的所有数据,例如netto和VAT作为单独的值,或brutto和netto,或brutto和VAT。

为什么要冗余?一:添加价格时的舍入错误。二:即使增值税税率发生变化,一些数据在卖出物品后必须是永久性的。这对您当前价格的数据库无效,但对于您的客户历史记录,您必须知道在销售时包含多少增值税。如果您每次都重新计算,并且增值税税率会增加,您将向税务局支付过多的费用。