diff --git a/account_banking/banking_import_transaction.py b/account_banking/banking_import_transaction.py index 7fb21e9f6..c4de4a302 100644 --- a/account_banking/banking_import_transaction.py +++ b/account_banking/banking_import_transaction.py @@ -1500,7 +1500,7 @@ class banking_import_transaction(osv.osv): not(transaction.move_currency_amount is False)): res[transaction.id] = ( transaction.move_currency_amount - - transaction.transferred_amount + transaction.statement_line_id.amount ) return res diff --git a/account_banking/wizard/banking_transaction_wizard.py b/account_banking/wizard/banking_transaction_wizard.py index 0bc7befae..824e1c54a 100644 --- a/account_banking/wizard/banking_transaction_wizard.py +++ b/account_banking/wizard/banking_transaction_wizard.py @@ -221,7 +221,7 @@ class banking_transaction_wizard(osv.osv_memory): if len(todo) > 0: statement_line_id = wiz.statement_line_id.split_off( - move_line.credit or move_line.debit)[0] + move_line.debit or -move_line.credit)[0] transaction_id = statement_line_obj.browse( cr, uid, @@ -285,7 +285,12 @@ class banking_transaction_wizard(osv.osv_memory): account_id = setting.default_debit_account_id and setting.default_debit_account_id.id statement_pool.write(cr, uid, wiz.statement_line_id.id, {'account_id':account_id}) - wiz.write({'partner_id': False}) + # Restore partner id from the bank account or else reset + partner_id = False + if (wiz.statement_line_id.partner_bank_id and + wiz.statement_line_id.partner_bank_id.partner_id): + partner_id = wiz.statement_line_id.partner_bank_id.partner_id.id + wiz.write({'partner_id': partner_id}) if wiz.statement_line_id: #delete splits causing an unsplit if this is a split