Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
5 Odpowiedzi
18564 Widoki

The standard quotation view shows eg:

Product | Description | Quantity | Unit Price | Taxes | Subtotal


                                                               untaxed Amount:

                                                                                Taxes:

                                                                                 Total:


We have 2 different kind of tax groups and they must be separeted in the total tax calculation. This is an order of the local
tax authority. So there is the tax group with VAT 20% and another taxgroup with lets call it WA 5%.

Right now, the taxes in the quotations will be right calculated, but they will displayed as sum in the field 'Taxes' (before Total).
We have to display the sum of VAT 20% and the sum of WA 5%. It would look like this:

Product | Description | Quantity | Unit Price | Taxes | Subtotal


                                                                 untaxed Amount:

                                                                            VAT   5%:

                                                                            VAT 20%:

                                                                                   Total:


How can I achieve that in the Quotations View as well as in the Quotations report?

Awatar
Odrzuć

Hi, did you solved your requirements? best regards

Najlepsza odpowiedź

I know the question was asked long time ago but may be someone will search for the same question and I think there is a more efficient solution by replacing the tax line in the invoice by:

    <t t-foreach="request.env['account.tax'].search([])" t-as="obj">
        <t t-foreach="o.tax_line_ids" t-as="tl">
            <t t-if="obj.name == tl.name">
                <tr style="border-bottom:1px solid #dddddd;">
                        <td><span t-esc="tl.name"/></td>
                        <td class="text-right">
                            <span t-esc="tl.amount" t-options="{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: o.currency_id}"/>
                        </td>

                </tr>
            </t>
        </t>
    </t>

Awatar
Odrzuć
Najlepsza odpowiedź

Hi,

I hope you need like this: 

Form view 

Report 

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%")

@api.one
@api.depends('order_line')
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'}"/>
</field>
</field>
</record>

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

<openerp>
<data>
<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">
<tr>
<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>
</tr>
<tr>
<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"}'/>
</td>
</tr>

</xpath>
</template>
</data>
</openerp>

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!

Awatar
Odrzuć

thank you this helps a lot

Najlepsza odpowiedź

For Odoo 9 in SALE.ORDER ?

Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
TAX 15% Rozwiązane
1
kwi 24
2674
2
lut 24
2428
1
maj 23
2617
2
cze 21
3275
1
mar 21
3026