Skip to Content
Меню
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
Це запитання позначене
2 Відповіді
1853 Переглядів

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?

Аватар
Відмінити
Найкраща відповідь

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.

Аватар
Відмінити
Найкраща відповідь

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()
Аватар
Відмінити
Related Posts Відповіді Переглядів Дія
1
серп. 25
562
2
серп. 22
2006
0
січ. 19
4031
0
лип. 23
1717
1
вер. 21
3944