【问题标题】:MySQL storing VAT rates and amounts for each invoiceMySQL存储每张发票的增值税率和金额
【发布时间】:2015-05-07 04:27:13
【问题描述】:

我有来自基于 MySQL 数据库的计费软件的表 invoice_header、invoice_rows 和 vat_codes。我需要添加我自己的表 invoice_vat。 对于每张新发票(或更新的发票),我需要将增值税率、净额和增值税额存储(或更新)到按增值税代码分组的表 invoice_vat 中。 我有几个 vate 代码和费率。例如我有:

ABC tax rate 5%
DEF tax rate 10%
GHI tax rate 22% etc.

对于每张发票,我可以一起销售一些带有 ABC 增值税的产品、一些带有 DEF 增值税的产品和一些其他带有 GHI 增值税的产品。通常我们不会在一张发票中使用超过 5 种不同的增值税率。 例如,我的一张发票如下所示:

product1, quantity 2pcs, unit_net_price 100.00, row_net_amount 200.00, vat ABC.
product2, quantity 3pcs, unit_net_price 50.00, row_net_amount 150.00, vat ABC.
product3, quantity 1pcs, unit_net_price 90.00, row_net_amount 90.00, vat DEF.
product4, quantity 4pcs, unit_net_price 25.00, row_net_amount 100.00, vat GHI.

对于这张发票,我需要将值存储到 invoice_vat 表中:

vat1_code ABC, vat1_rate 5, vat1_net_total_amount 350.00
vat2_code DEF, vat2_rate 10, vat2_net_total_amount 90.00
vat3_code GHI, vat3_rate 22, vat3_net_total_amount 100.00
vat4_code NIL, vat4_rate 0, vat4_net_total_amount 0.00
vat5_code NIL, vat5_rate 0, vat5_net_total_amount 0.00

我可以做以下查询:

SELECT invoice_rows.vat, sum(invoice_rows.row_net_amount) AS mysum 
WHERE invoice_rows.id=655 
group by invoice_rows.vat;

现在我需要存储从查询中获得的值,每次开新发票或修改/更新旧发票时。 我应该使用触发器吗?触发器应该怎么看? 朱塞佩

【问题讨论】:

    标签: mysql triggers sum storage store


    【解决方案1】:

    有一张或多张表格,逐项列出发票的组成部分。有另一个表格显示发票金额发送给客户。出于会计和业务以及可能的法律原因,此表应“写入一次”。也就是说,一旦完成,就永远不要更改它。此时,您正在记录您发送给客户的内容;它不是可以添加/更改/删除内容的便签本。

    请特别注意,如果商品的价格发生变化或增值税金额发生变化,那么新的计算会导致发票与您发送给客户的发票不一致。不好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多