您好我正在使用odoo开源pos。它使用postgrs SQl的后端,这里解释我的问题。
我的数据库中每个产品都有两个强制税制。
表格 pos_order 是主表格,我使用 res_partner 表来获取名称等客户信息。
表 pos_order_line 包含产品ID,数量等订单详情。
表 product_template 包含产品名称,价格。
表 product_taxes_rel 包含具有相关税的产品(每个产品最少有2个税务结构)。
表 account_tax 包含税名和税率。
在我的样本显示中,第一张发票有3件商品,第二张有两件商品。每个产品都有两种税收结构,所以它重复两次,我要求税额总和参考
在我的示例图片中,所选行具有相同的产品,因为税收而重复两次(SGST 6,CGST 6)需要添加两种税并产生单行
select p_o.id
, p_o.name AS inv_name
, p_o.state
, p_o.invoice_id
, p_o.date_order
, cus.name AS customer_name
, pol.product_id
, pt.name AS product_name
, pt.list_price
, pol.qty
, ptr.tax_id
, act.name as tax_name
, act.amount
, pt.list_price/(1+ 2*act.amount/100) AS without_tax
,(pt.list_price/(1+ 2*act.amount/100)) * act.amount/100 AS tax
from pos_order p_o
left
join res_partner cus
on cus.id = p_o.partner_id
join pos_order_line pol
on pol.order_id = p_o.id
join product_template pt
on pt.id = pol.product_id
join product_taxes_rel ptr
on pt.id = ptr.prod_id
join account_tax act
on ptr.tax_id = act.id