Odoo Aide


4 Answers

Akhil P Sivan

--Akhil P Sivan--

| 6 4 9
Kochi, Inde
--Akhil P Sivan--

Odoo Developer

email-id : akhilpsivan01@gmail.com

Akhil P Sivan
16/10/2015 13:40


I hope you need like this: 

Form view 


For that you can create two compute fields in purchase.order model, that calculates the sum of each tax groups in the product lines. Then you need to call these fields in the form view and reports. Try like this:

in .py file

class purchase_order(models.Model):
_inherit = 'purchase.order'

tax_t1 = fields.Float(compute='_compute_tax', string="VAT5%")
tax_t2 = fields.Float(compute='_compute_tax', string="VAT20%")

def _compute_tax(self):

sum_v5 = 0
sum_v20 = 0
for rec in self.order_line:
if rec.taxes_id:
for tax in rec.taxes_id:
if tax.name == "VAT5":
sum_v5 = sum_v5 + (rec.price_subtotal * tax.amount)
elif tax.name == "VAT20":
sum_v20 = sum_v20 + (rec.price_subtotal * tax.amount)
self.tax_t1 = sum_v5
self.tax_t2 = sum_v20

in xml view file:

<record id="purchase_order_form_inherited" model="ir.ui.view">
<field name="name">purchase.order.form.inherited</field>
<field name="model">purchase.order</field>
<field name="inherit_id" ref="purchase.purchase_order_form"/>
<field name="arch" type="xml">
<field name="amount_tax" position="replace">
<field name="tax_t1" widget="monetary" options="{'currency_field': 'currency_id'}"/>
<field name="tax_t2" widget="monetary" options="{'currency_field': 'currency_id'}"/>

create an xml file to override the purchase order report (for eg: views/custom_purchase_order.xml) and put the following code:

<template id="report_purchaseorder_document_inherited" inherit_id="purchase.report_purchaseorder_document">
<xpath expr="//t/div/div[4]/div/table[@class='table table-condensed']/tr[2]" position="replace">
<td>VAT 5%</td>
<td class="text-right">
<span t-field="o.tax_t1"
t-field-options='{"widget": "monetary", "display_currency": "o.pricelist_id.currency_id"}'/>
<td>VAT 20%</td>
<td class="text-right">
<span t-field="o.tax_t2"
t-field-options='{"widget": "monetary", "display_currency": "o.pricelist_id.currency_id"}'/>


Don't forget to include this file in __openerp__.py. This will override the purchase order report with new tax fields.

You can also override quotations report similarly.

Hope this helps!

1 Commentaires
MSD Systems, Michael Schweikart
17/10/2015 07:37

thank you this helps a lot

11/02/2016 06:49

For Odoo 9 in SALE.ORDER ?

Poser une question
Keep Informed
3 Abonné(e)s
About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now