account_usability: add invoice currency signed fields
Show these fields as optional in tree view without sum=1
This commit is contained in:
@@ -52,6 +52,37 @@ class AccountMove(models.Model):
|
|||||||
string="Dispute",
|
string="Dispute",
|
||||||
tracking=True,
|
tracking=True,
|
||||||
)
|
)
|
||||||
|
# Having amounts in invoice currency can be useful in tree view of invoices
|
||||||
|
# We add those fields with optional="hide"
|
||||||
|
amount_untaxed_invoice_currency_signed = fields.Monetary(
|
||||||
|
compute="_compute_amount_invoice_currency_signed", store=True,
|
||||||
|
string="Untaxed Amount Invoice Currency Signed")
|
||||||
|
amount_tax_invoice_currency_signed = fields.Monetary(
|
||||||
|
compute="_compute_amount_invoice_currency_signed", store=True,
|
||||||
|
string="Tax Invoice Currency Signed")
|
||||||
|
amount_total_invoice_currency_signed = fields.Monetary(
|
||||||
|
compute="_compute_amount_invoice_currency_signed", store=True,
|
||||||
|
string="Total Invoice Currency Signed")
|
||||||
|
amount_residual_invoice_currency_signed = fields.Monetary(
|
||||||
|
compute="_compute_amount_invoice_currency_signed", store=True,
|
||||||
|
string="Amount Due Invoice Currency Signed")
|
||||||
|
|
||||||
|
@api.depends('amount_untaxed', 'amount_tax', 'amount_total', 'amount_residual', 'move_type')
|
||||||
|
def _compute_amount_invoice_currency_signed(self):
|
||||||
|
for move in self:
|
||||||
|
amount_untaxed_invoice_currency_signed = move.amount_untaxed
|
||||||
|
amount_tax_invoice_currency_signed = move.amount_tax
|
||||||
|
amount_total_invoice_currency_signed = move.amount_total
|
||||||
|
amount_residual_invoice_currency_signed = move.amount_residual
|
||||||
|
if move.move_type in ('out_refund', 'in_refund'):
|
||||||
|
amount_untaxed_invoice_currency_signed *= -1
|
||||||
|
amount_tax_invoice_currency_signed *= -1
|
||||||
|
amount_total_invoice_currency_signed *= -1
|
||||||
|
amount_residual_invoice_currency_signed *= -1
|
||||||
|
move.amount_untaxed_invoice_currency_signed = amount_untaxed_invoice_currency_signed
|
||||||
|
move.amount_tax_invoice_currency_signed = amount_tax_invoice_currency_signed
|
||||||
|
move.amount_total_invoice_currency_signed = amount_total_invoice_currency_signed
|
||||||
|
move.amount_residual_invoice_currency_signed = amount_residual_invoice_currency_signed
|
||||||
|
|
||||||
@api.depends("line_ids", "line_ids.blocked")
|
@api.depends("line_ids", "line_ids.blocked")
|
||||||
def _compute_blocked(self):
|
def _compute_blocked(self):
|
||||||
|
|||||||
@@ -67,6 +67,14 @@
|
|||||||
<field name="amount_residual_signed" position="attributes">
|
<field name="amount_residual_signed" position="attributes">
|
||||||
<attribute name="optional">show</attribute>
|
<attribute name="optional">show</attribute>
|
||||||
</field>
|
</field>
|
||||||
|
<field name="amount_untaxed_signed" position="before">
|
||||||
|
<!-- No sum="1" on the invoice currency fields, because it doesn't make sense
|
||||||
|
to add amounts in different currencies -->
|
||||||
|
<field name="amount_untaxed_invoice_currency_signed" string="Tax Excluded Inv. Cur." optional="hide"/>
|
||||||
|
<field name="amount_tax_invoice_currency_signed" string="Tax Inv. Cur." optional="hide"/>
|
||||||
|
<field name="amount_total_invoice_currency_signed" string="Total Inv. Cur." optional="hide"/>
|
||||||
|
<field name="amount_residual_invoice_currency_signed" string="Amount Due Inv. Cur." optional="hide"/>
|
||||||
|
</field>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user