Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odpovědět
2589 Zobrazení

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

Avatar
Zrušit
Nejlepší odpověď

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

Avatar
Zrušit
Autor

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

Related Posts Odpovědi Zobrazení Aktivita
2
kvě 24
4316
2
zář 22
2148
1
zář 22
2900
3
led 16
4571
2
srp 25
2723