Skip to content

Commit 980e8ce

Browse files
committed
[IMP] account: move views improvement
Account move view improvement and creation of amount_total_in_currency_signed to allow display of amounts in company currency and in move currency. closes odoo#66069 Task: 2403336 Related: odoo/upgrade#2331 Related: odoo/enterprise#16308 Signed-off-by: William André (wan) <wan@odoo.com>
1 parent b7b9b18 commit 980e8ce

File tree

2 files changed

+63
-6
lines changed

2 files changed

+63
-6
lines changed

addons/account/models/account_move.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,8 @@ def _get_default_invoice_incoterm(self):
228228
compute='_compute_amount', currency_field='company_currency_id')
229229
amount_total_signed = fields.Monetary(string='Total Signed', store=True, readonly=True,
230230
compute='_compute_amount', currency_field='company_currency_id')
231+
amount_total_in_currency_signed = fields.Monetary(string='Total in Currency Signed', store=True, readonly=True,
232+
compute='_compute_amount', currency_field='currency_id')
231233
amount_residual_signed = fields.Monetary(string='Amount Due Signed', store=True,
232234
compute='_compute_amount', currency_field='company_currency_id')
233235
amount_by_group = fields.Binary(string="Tax amount by group",
@@ -1309,6 +1311,7 @@ def _compute_amount(self):
13091311
move.amount_tax_signed = -total_tax
13101312
move.amount_total_signed = abs(total) if move.move_type == 'entry' else -total
13111313
move.amount_residual_signed = total_residual
1314+
move.amount_total_in_currency_signed = abs(move.amount_total) if move.move_type == 'entry' else -(sign * move.amount_total)
13121315

13131316
currency = len(currencies) == 1 and currencies.pop() or move.company_id.currency_id
13141317

addons/account/views/account_move_views.xml

Lines changed: 60 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -432,18 +432,20 @@
432432
<field name="invoice_partner_display_name" invisible="context.get('default_move_type') not in ('out_invoice', 'out_refund','out_receipt')" groups="base.group_user" string="Customer" />
433433
<field name="invoice_date" optional="show" invisible="context.get('default_move_type') not in ('in_invoice', 'in_refund','in_receipt')" string="Bill Date"/>
434434
<field name="invoice_date" optional="show" invisible="context.get('default_move_type') not in ('out_invoice', 'out_refund','out_receipt')" string="Invoice Date"/>
435+
<field name="date" optional="hide" invisible="context.get('default_move_type') in ('out_invoice', 'out_refund', 'out_receipt')" string="Accounting Date"/>
435436
<field name="invoice_date_due" widget="remaining_days" optional="show" attrs="{'invisible': [['payment_state', 'in', ('paid', 'in_payment', 'reversed')]]}"/>
436437
<field name="invoice_origin" optional="hide" string="Source Document"/>
437438
<field name="payment_reference" optional="hide" invisible="context.get('default_move_type') in ('out_invoice', 'out_refund','out_receipt')"/>
438439
<field name="ref" optional="hide"/>
439440
<field name="invoice_user_id" optional="hide" invisible="context.get('default_move_type') not in ('out_invoice', 'out_refund','out_receipt')" string="Sales Person" widget="many2one_avatar_user"/>
440441
<field name="activity_ids" widget="list_activity" optional="show"/>
441-
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}" optional="show"/>
442+
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}" optional="hide"/>
442443
<field name="amount_untaxed_signed" string="Tax Excluded" sum="Total" optional="show"/>
443444
<field name="amount_tax_signed" string="Tax" sum="Total" optional="hide"/>
444445
<field name="amount_total_signed" string="Total" sum="Total" decoration-bf="1" optional="show"/>
446+
<field name="amount_total_in_currency_signed" string="Total in Currency" groups="base.group_multi_currency" optional="show"/>
445447
<field name="amount_residual_signed" string="Amount Due" sum="Amount Due" optional="hide"/>
446-
<field name="currency_id" invisible="1"/>
448+
<field name="currency_id" groups="base.group_multi_currency" optional="hide"/>
447449
<field name="company_currency_id" invisible="1"/>
448450
<field name="state" widget="badge" decoration-success="state == 'posted'" decoration-info="state == 'draft'" optional="show"/>
449451
<field name="payment_state" widget="badge" decoration-danger="payment_state == 'not_paid'" decoration-warning="payment_state in ('partial', 'in_payment')" decoration-success="payment_state in ('paid', 'reversed')" attrs="{'invisible': [('payment_state', 'in', ('invoicing_legacy'))]}"/>
@@ -462,6 +464,21 @@
462464
<xpath expr="//tree" position="attributes">
463465
<attribute name="banner_route">/account/account_invoice_onboarding</attribute>
464466
</xpath>
467+
<field name="currency_id" position="attributes">
468+
<attribute name="string">Invoice Currency</attribute>
469+
</field>
470+
</field>
471+
</record>
472+
473+
<record id="view_out_credit_note_tree" model="ir.ui.view">
474+
<field name="name">account.out.invoice.tree</field>
475+
<field name="model">account.move</field>
476+
<field name="inherit_id" ref="account.view_invoice_tree"/>
477+
<field name="mode">primary</field>
478+
<field name="arch" type="xml">
479+
<field name="currency_id" position="attributes">
480+
<attribute name="string">Credit Note Currency</attribute>
481+
</field>
465482
</field>
466483
</record>
467484

@@ -481,6 +498,42 @@
481498
</field>
482499
</record>
483500

501+
<record id="view_in_invoice_bill_tree" model="ir.ui.view">
502+
<field name="name">account.out.invoice.tree</field>
503+
<field name="model">account.move</field>
504+
<field name="inherit_id" ref="account.view_in_invoice_tree"/>
505+
<field name="mode">primary</field>
506+
<field name="arch" type="xml">
507+
<field name="currency_id" position="attributes">
508+
<attribute name="string">Bill Currency</attribute>
509+
</field>
510+
</field>
511+
</record>
512+
513+
<record id="view_in_invoice_refund_tree" model="ir.ui.view">
514+
<field name="name">account.out.invoice.tree</field>
515+
<field name="model">account.move</field>
516+
<field name="inherit_id" ref="account.view_in_invoice_tree"/>
517+
<field name="mode">primary</field>
518+
<field name="arch" type="xml">
519+
<field name="currency_id" position="attributes">
520+
<attribute name="string">Refund Currency</attribute>
521+
</field>
522+
</field>
523+
</record>
524+
525+
<record id="view_in_invoice_receipt_tree" model="ir.ui.view">
526+
<field name="name">account.out.invoice.tree</field>
527+
<field name="model">account.move</field>
528+
<field name="inherit_id" ref="account.view_in_invoice_tree"/>
529+
<field name="mode">primary</field>
530+
<field name="arch" type="xml">
531+
<field name="currency_id" position="attributes">
532+
<attribute name="string">Receipt Currency</attribute>
533+
</field>
534+
</field>
535+
</record>
536+
484537
<record id="view_account_move_kanban" model="ir.ui.view">
485538
<field name="name">account.move.kanban</field>
486539
<field name="model">account.move</field>
@@ -1234,6 +1287,7 @@
12341287
<filter name="late" string="Overdue" domain="['&amp;', ('invoice_date_due', '&lt;', time.strftime('%%Y-%%m-%%d')), ('state', '=', 'posted'), ('payment_state', 'in', ('not_paid', 'partial'))]" help="Overdue invoices, maturity date passed"/>
12351288
<separator/>
12361289
<filter name="invoice_date" string="Invoice Date" date="invoice_date"/>
1290+
<filter name="date" invisible="context.get('default_move_type') in ('out_invoice', 'out_refund', 'out_receipt')" string="Accounting Date" date="date"/>
12371291
<filter name="due_date" string="Due Date" date="invoice_date_due"/>
12381292
<separator/>
12391293
<filter invisible="1" string="Late Activities" name="activities_overdue"
@@ -1395,7 +1449,7 @@
13951449
<field name="name">Credit Notes</field>
13961450
<field name="res_model">account.move</field>
13971451
<field name="view_mode">tree,kanban,form</field>
1398-
<field name="view_id" ref="view_invoice_tree"/>
1452+
<field name="view_id" ref="view_out_credit_note_tree"/>
13991453
<field name="search_view_id" ref="view_account_invoice_filter"/>
14001454
<field name="domain">[('move_type', '=', 'out_refund')]</field>
14011455
<field name="context">{'default_move_type': 'out_refund'}</field>
@@ -1413,7 +1467,7 @@
14131467
<field name="name">Bills</field>
14141468
<field name="res_model">account.move</field>
14151469
<field name="view_mode">tree,kanban,form</field>
1416-
<field name="view_id" ref="view_in_invoice_tree"/>
1470+
<field name="view_id" ref="view_in_invoice_bill_tree"/>
14171471
<field name="search_view_id" ref="view_account_invoice_filter"/>
14181472
<field name="domain">[('move_type', '=', 'in_invoice')]</field>
14191473
<field name="context">{'default_move_type': 'in_invoice'}</field>
@@ -1430,7 +1484,7 @@
14301484
<field name="name">Refunds</field>
14311485
<field name="res_model">account.move</field>
14321486
<field name="view_mode">tree,kanban,form</field>
1433-
<field name="view_id" ref="view_in_invoice_tree"/>
1487+
<field name="view_id" ref="view_in_invoice_refund_tree"/>
14341488
<field name="search_view_id" ref="view_account_invoice_filter"/>
14351489
<field name="domain">[('move_type', '=', 'in_refund')]</field>
14361490
<field name="context">{'default_move_type': 'in_refund'}</field>
@@ -1465,7 +1519,7 @@
14651519
<field name="name">Receipts</field>
14661520
<field name="res_model">account.move</field>
14671521
<field name="view_mode">tree,kanban,form</field>
1468-
<field name="view_id" ref="view_in_invoice_tree"/>
1522+
<field name="view_id" ref="view_in_invoice_receipt_tree"/>
14691523
<field name="search_view_id" ref="view_account_invoice_filter"/>
14701524
<field name="domain">[('move_type', '=', 'in_receipt')]</field>
14711525
<field name="context">{'default_move_type': 'in_receipt'}</field>

0 commit comments

Comments
 (0)