From 24aa987668b251b3012b1bace7ddcaec88369d1c Mon Sep 17 00:00:00 2001 From: Benjamin Willig Date: Fri, 13 Oct 2017 15:40:47 +0200 Subject: [PATCH] [ADD] account_move_reconcile_helper --- account_move_reconcile_helper/README.rst | 64 +++++++++++ account_move_reconcile_helper/__init__.py | 1 + account_move_reconcile_helper/__manifest__.py | 20 ++++ .../models/__init__.py | 1 + .../models/account_move_line.py | 72 +++++++++++++ .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/docs/journal_entries_1.png | Bin 0 -> 70848 bytes .../static/docs/journal_entries_2.png | Bin 0 -> 22615 bytes .../tests/__init__.py | 1 + .../test_account_move_reconcile_helper.py | 100 ++++++++++++++++++ .../views/account_move_line.xml | 23 ++++ 11 files changed, 282 insertions(+) create mode 100644 account_move_reconcile_helper/README.rst create mode 100644 account_move_reconcile_helper/__init__.py create mode 100644 account_move_reconcile_helper/__manifest__.py create mode 100644 account_move_reconcile_helper/models/__init__.py create mode 100644 account_move_reconcile_helper/models/account_move_line.py create mode 100644 account_move_reconcile_helper/static/description/icon.png create mode 100644 account_move_reconcile_helper/static/docs/journal_entries_1.png create mode 100644 account_move_reconcile_helper/static/docs/journal_entries_2.png create mode 100644 account_move_reconcile_helper/tests/__init__.py create mode 100644 account_move_reconcile_helper/tests/test_account_move_reconcile_helper.py create mode 100644 account_move_reconcile_helper/views/account_move_line.xml diff --git a/account_move_reconcile_helper/README.rst b/account_move_reconcile_helper/README.rst new file mode 100644 index 00000000..71cf6611 --- /dev/null +++ b/account_move_reconcile_helper/README.rst @@ -0,0 +1,64 @@ +.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 + +============================= +Account Move Reconcile Helper +============================= + +Provides tools to facilitate reconciliation. + +* Display a button on Journal entries list to show reconciled lines. +* Added Balance field in Journal entries list (this feature + is provided by account_balance_line). + +.. image:: ./static/docs/journal_entries_1.png + :alt: Journal entries + :scale: 50 % + +.. image:: ./static/docs/journal_entries_2.png + :alt: Reconciled lines view + :scale: 50 % + +Usage +===== + +.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas + :alt: Try me on Runbot + :target: https://runbot.odoo-community.org/runbot/98/10.0 + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smashing it by providing a detailed and welcomed feedback. + +Credits +======= + +Images +------ + +* Odoo Community Association: `Icon `_. + +Contributors +------------ + +* Benjamin Willig + +Maintainer +---------- + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +This module is maintained by the OCA. + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +To contribute to this module, please visit https://odoo-community.org. diff --git a/account_move_reconcile_helper/__init__.py b/account_move_reconcile_helper/__init__.py new file mode 100644 index 00000000..0650744f --- /dev/null +++ b/account_move_reconcile_helper/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/account_move_reconcile_helper/__manifest__.py b/account_move_reconcile_helper/__manifest__.py new file mode 100644 index 00000000..48b6ca2f --- /dev/null +++ b/account_move_reconcile_helper/__manifest__.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Copyright 2017 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + 'name': 'Account Move Reconcile Helper', + 'summary': "Provides tools to facilitate reconciliation", + 'version': '10.0.1.0.0', + 'license': 'AGPL-3', + 'author': 'ACSONE SA/NV, Odoo Community Association (OCA)', + 'website': 'https://github.com/OCA/account-reconcile', + 'depends': [ + 'account_balance_line', + ], + 'data': [ + 'views/account_move_line.xml', + ], + 'demo': [ + ], +} diff --git a/account_move_reconcile_helper/models/__init__.py b/account_move_reconcile_helper/models/__init__.py new file mode 100644 index 00000000..8795b3be --- /dev/null +++ b/account_move_reconcile_helper/models/__init__.py @@ -0,0 +1 @@ +from . import account_move_line diff --git a/account_move_reconcile_helper/models/account_move_line.py b/account_move_reconcile_helper/models/account_move_line.py new file mode 100644 index 00000000..3846c2da --- /dev/null +++ b/account_move_reconcile_helper/models/account_move_line.py @@ -0,0 +1,72 @@ +# -*- coding: utf-8 -*- +# Copyright 2017 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class AccountMoveLine(models.Model): + + _inherit = 'account.move.line' + + partial_reconciliation_in_progress = fields.Boolean( + compute='_compute_partial_reconciliation_in_progress') + reconcile_line_ids = fields.One2many( + compute='_compute_reconciled_lines', + comodel_name='account.move.line', + string="Reconciled lines") + + @api.multi + @api.depends('matched_debit_ids', 'matched_credit_ids') + def _compute_partial_reconciliation_in_progress(self): + for rec in self: + rec.partial_reconciliation_in_progress = ( + bool(rec.matched_debit_ids) or bool(rec.matched_credit_ids)) + + @api.multi + def _compute_reconciled_lines(self): + for rec in self: + rec.reconcile_line_ids = rec._get_reconciled_lines() + + @api.multi + def _get_reconciled_lines(self, move_lines=None): + """ + Returns lines which were reconciled directly or indirectly with + current lines given in self. + + If A has been reconciled (or partially) with B, and B with C. This + method will returns A, B, and C. + + :param move_lines: found moves lines to avoid recursivity + :return: recordset('account.move.line') + """ + move_lines = move_lines or self.env[self._name] + + for line in self: + if line.full_reconcile_id: + matched_lines = line.full_reconcile_id.reconciled_line_ids + elif line.credit > 0: + matched_lines = line.matched_debit_ids.mapped('debit_move_id') + else: + matched_lines = line.matched_credit_ids.mapped( + 'credit_move_id') + + if not matched_lines: + continue + + move_lines |= line + + for matched_line in matched_lines: + if matched_line not in move_lines: + move_lines |= matched_line + move_lines |= matched_line._get_reconciled_lines( + move_lines) + + return move_lines + + @api.multi + def open_full_reconcile_view(self): + action = self.env.ref('account.action_account_moves_all_a').read()[0] + action['domain'] = [ + ('id', 'in', self.mapped('reconcile_line_ids').ids)] + return action diff --git a/account_move_reconcile_helper/static/description/icon.png b/account_move_reconcile_helper/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/account_move_reconcile_helper/static/docs/journal_entries_1.png b/account_move_reconcile_helper/static/docs/journal_entries_1.png new file mode 100644 index 0000000000000000000000000000000000000000..abad0b04b5d5eb1c55b7adf80a688ba24a1b78ff GIT binary patch literal 70848 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 t%0O5O9?#z{J(~;vq&(jw literal 0 HcmV?d00001 diff --git a/account_move_reconcile_helper/static/docs/journal_entries_2.png b/account_move_reconcile_helper/static/docs/journal_entries_2.png new file mode 100644 index 0000000000000000000000000000000000000000..0d4e995fd4bb6d667e929b8e0316a36785e19d20 GIT binary patch literal 22615 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 literal 0 HcmV?d00001 diff --git a/account_move_reconcile_helper/tests/__init__.py b/account_move_reconcile_helper/tests/__init__.py new file mode 100644 index 00000000..135a0ef4 --- /dev/null +++ b/account_move_reconcile_helper/tests/__init__.py @@ -0,0 +1 @@ +from . import test_account_move_reconcile_helper diff --git a/account_move_reconcile_helper/tests/test_account_move_reconcile_helper.py b/account_move_reconcile_helper/tests/test_account_move_reconcile_helper.py new file mode 100644 index 00000000..5c692b22 --- /dev/null +++ b/account_move_reconcile_helper/tests/test_account_move_reconcile_helper.py @@ -0,0 +1,100 @@ +# -*- coding: utf-8 -*- +# Copyright 2017 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo.tests.common import TransactionCase + + +class TestAccountMoveReconcileHelper(TransactionCase): + + def setUp(self): + super(TestAccountMoveReconcileHelper, self).setUp() + self.AccountObj = self.env['account.account'] + self.AccountJournalObj = self.env['account.journal'] + self.AccountMoveObj = self.env['account.move'] + self.AccountMoveLineObj = self.env['account.move.line'] + + self.account_type_recv = self.env.ref( + 'account.data_account_type_receivable') + self.account_type_rev = self.env.ref( + 'account.data_account_type_revenue') + + self.account_recv = self.AccountObj.create({ + 'code': 'MRH-RECVT', + 'name': "Receivable (test)", + 'reconcile': True, + 'user_type_id': self.account_type_recv.id, + }) + self.account_sale = self.AccountObj.create({ + 'code': 'MRH-SALET', + 'name': "Receivable (sale)", + 'reconcile': True, + 'user_type_id': self.account_type_rev.id, + }) + + self.sales_journal = self.AccountJournalObj.create({ + 'name': "Sales journal", + 'code': 'MRH-SAJT', + 'type': 'sale', + 'default_credit_account_id': self.account_sale.id, + 'default_debit_account_id': self.account_sale.id, + }) + + def create_account_move(self, amount, debit_account, credit_account): + return self.AccountMoveObj.create({ + 'journal_id': self.sales_journal.id, + 'line_ids': [ + (0, 0, { + 'name': "Receivable line", + 'account_id': debit_account.id, + 'debit': amount, + }), + (0, 0, { + 'name': "Sales line", + 'account_id': credit_account.id, + 'credit': amount, + }), + ] + }) + + def test_01_partial_reconcile(self): + base_move = self.create_account_move( + 5000, self.account_recv, self.account_sale) + + move1 = self.create_account_move( + 1000, self.account_sale, self.account_recv) + + move2 = self.create_account_move( + 1000, self.account_sale, self.account_recv) + + lines = self.AccountMoveLineObj.search([ + ('move_id', 'in', [base_move.id, move1.id, move2.id]), + ('account_id', '=', self.account_recv.id) + ]) + + lines.reconcile() + + for line in lines: + self.assertEquals(line.reconcile_line_ids, lines) + + def test_02_full_reconcile(self): + base_move = self.create_account_move( + 5000, self.account_recv, self.account_sale) + + move2 = self.create_account_move( + 2500, self.account_sale, self.account_recv) + move3 = self.create_account_move( + 2500, self.account_sale, self.account_recv) + + lines = self.AccountMoveLineObj.search([ + ('move_id', 'in', [base_move.id, move2.id, move3.id]), + ('account_id', '=', self.account_recv.id) + ]) + + lines.reconcile() + + for line in lines: + self.assertEquals(line.reconcile_line_ids, lines) + self.assertEquals( + line.full_reconcile_id.reconciled_line_ids, + line.reconcile_line_ids) diff --git a/account_move_reconcile_helper/views/account_move_line.xml b/account_move_reconcile_helper/views/account_move_line.xml new file mode 100644 index 00000000..bd274d46 --- /dev/null +++ b/account_move_reconcile_helper/views/account_move_line.xml @@ -0,0 +1,23 @@ + + + + + + + account.move.line.tree (in account_move_reconcile_helper) + account.move.line + + + + + +