Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
2 Răspunsuri
1833 Vizualizări

Hi, i want to show tax information in each order line of the POS Receipt in Odoo 17. Unfortunately, it seems like tax information is not available by default in Odoo. It seems like I need to patch order line js, but so far I cannot get the tax to show in the front end.

Here is my js code

/** @odoo-module */

import { patch } from "@web/core/utils/patch";
import { Orderline } from "@point_of_sale/app/store/models";

patch(Orderline.prototype, {
getDisplayData() {
const result = super.getDisplayData();
if (this.tax_ids) {
result.tax_ids = this.get_taxes();
}

return result;
},

});

Here is my orderline code:

<?xml version="1.0" encoding="utf-8"?>
<templates id="template" xml:space="preserve">
<t t-inherit="point_of_sale.Orderline" t-inherit-mode="extension">
<xpath expr="//div[hasclass('product-name')]" position="after">
<t t-log="line"/>

<t t-if="line.tax_ids">
<t t-if="line.tax_ids[0]">
<div> Tax:
​<span t-if="line.tax_ids[0].amount" t-esc="line.tax_ids[0].amount"/><span>%</span>
​</div>
</t>
</t>
</xpath>
</t>
</templates>

Is there any other steps needed to extract the tax information of Orderline?

Imagine profil
Abandonează
Cel mai bun răspuns

Hi Ariefa, you can try like this.

for the xml template, if the product always has only one tax, the code call be simplyfied.

<li t-if="line.taxes" class="tax-info">

​<t t-foreach="line.taxes" t-as="tax" t-key="tax.name">

​<t t-if="tax_index !== 0"> | </t>

​<span><t t-esc="tax.name"/> (<t t-esc="tax.amount"/>%)</span>

​</t>

</li>

dont forget in the model.js getDisplayData() add following,

taxes: this.get_applicable_taxes().map(tax => ({

​name: tax.name,

​amount: tax.amount

}))

additionally, if you set different fiscal postions in POS, you can use this function

this._getProductTaxesAfterFiscalPosition()

hope it can help you.

Imagine profil
Abandonează
Cel mai bun răspuns

tax details by default is in odoo in pos order line
in this class : 

export class Order extends PosModel 
you can use this method : get_tax_details()
Imagine profil
Abandonează
Related Posts Răspunsuri Vizualizări Activitate
1
aug. 25
553
2
aug. 22
1987
0
ian. 19
3982
0
iul. 23
1704
1
sept. 21
3919