diff --git a/addons/account/models/account_invoice.py b/addons/account/models/account_invoice.py index afd0fe1019b..1b385897262 100644 --- a/addons/account/models/account_invoice.py +++ b/addons/account/models/account_invoice.py @@ -1471,6 +1471,7 @@ class AccountInvoiceLine(models.Model): help="Gives the sequence of this line when displaying the invoice.") invoice_id = fields.Many2one('account.invoice', string='Invoice Reference', ondelete='cascade', index=True) + invoice_type = fields.Selection(related='invoice_id.type', readonly=True) uom_id = fields.Many2one('uom.uom', string='Unit of Measure', ondelete='set null', index=True, oldname='uos_id') product_id = fields.Many2one('product.product', string='Product', diff --git a/addons/account/models/reconciliation_widget.py b/addons/account/models/reconciliation_widget.py index af59be29d4f..c30c4232a02 100644 --- a/addons/account/models/reconciliation_widget.py +++ b/addons/account/models/reconciliation_widget.py @@ -339,7 +339,11 @@ class AccountReconciliation(models.AbstractModel): rec_prop = self._get_move_line_reconciliation_proposition(account.id, partner_id) row['reconciliation_proposition'] = self._prepare_move_lines(rec_prop, target_currency=currency) row['company_id'] = account.company_id.id - return rows + + # Return the partners with a reconciliation proposition first, since they are most likely to + # be reconciled. + return [r for r in rows if r['reconciliation_proposition']] + [r for r in rows if not r['reconciliation_proposition']] + @api.model def process_move_lines(self, data): diff --git a/addons/account/views/account_invoice_view.xml b/addons/account/views/account_invoice_view.xml index e744f2214ac..11fdffcebcc 100644 --- a/addons/account/views/account_invoice_view.xml +++ b/addons/account/views/account_invoice_view.xml @@ -60,8 +60,11 @@
+ + + + context="{'partner_id': partner_id}"/>