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

Hello, I am trying to add a discount on the invoice total by adding a new field and subtracting one percent out of the total, so that I can have an "Amount Due" of the : total-discount. Here is my code:

from odoo import fields, models, api

class AccountInvoiceInherit(models.Model):
_inherit = 'account.move'

one_percent_amount = fields.Float('1% Discount',compute='_compute_one_percent')
amount_residual = fields.Monetary(compute='_compute_amount_due', store=True)

@api.depends('amount_total')
def _compute_one_percent(self):
for record in self:
record.one_percent_amount = (record.amount_untaxed * 0.1)

@api.depends('amount_untaxed', 'one_percent_amount')
def _compute_amount_due(self):
for record in self:
record.amount_residual = record.amount_untaxed - record.one_percent_amount

View File:

xml version="1.0" encoding="utf-8"?>


id="account_invoice_form" model="ir.ui.view">
name="name">account.invoice.form
name="model">account.move
name="inherit_id" ref="account.view_move_form"/>
name="arch" type="xml">
expr="//field[@name='amount_total']" position="after">
name="one_percent_amount"/>





How to solve it? The code is not giving any error, but the deduction is not occuring

Awatar
Odrzuć
Najlepsza odpowiedź

Hi,

Can you please try like this,

from odoo import fields, models, api

class AccountInvoiceInherit(models.Model):
_inherit = 'account.move'

one_percent_amount = fields.Float('1% Discount',compute='_compute_one_percent')
amount_residual = fields.Monetary(compute='_compute_amount_due', store=True)

@api.depends('amount_total')
def _compute_one_percent(self):
for record in self:
record.one_percent_amount = (record.amount_total * 0.01)

@api.depends('amount_total', 'one_percent_amount')
def _compute_amount_due(self):
for record in self:
record.amount_residual = record.amount_total - record.one_percent_amount

Thanks

Awatar
Odrzuć
Autor

Thanks, Actually I tried this option before and it didn't give any update. Do you have another solution?

Powiązane posty Odpowiedzi Widoki Czynność
2
maj 24
5141
2
wrz 22
2413
1
wrz 22
3354
3
sty 16
4818
2
wrz 25
579