From 3f32ca9a06329caf73cc66abc1fb6c7a3fe0e86f Mon Sep 17 00:00:00 2001 From: mreficent Date: Tue, 27 Jun 2017 19:33:51 +0200 Subject: [PATCH 01/14] [MIG] account_mass_reconcile_by_purchase_line: Migration to 9.0 --- .../README.rst | 65 ++++++++++++++++++ .../__init__.py | 6 ++ .../__openerp__.py | 22 ++++++ .../models/__init__.py | 6 ++ .../models/base_reconciliation.py | 19 +++++ .../models/mass_reconcile.py | 18 +++++ .../static/description/icon.png | Bin 0 -> 9455 bytes .../views/mass_reconcile.xml | 18 +++++ .../wizards/__init__.py | 5 ++ .../wizards/advanced_reconciliation.py | 32 +++++++++ 10 files changed, 191 insertions(+) create mode 100644 account_mass_reconcile_by_purchase_line/README.rst create mode 100644 account_mass_reconcile_by_purchase_line/__init__.py create mode 100644 account_mass_reconcile_by_purchase_line/__openerp__.py create mode 100644 account_mass_reconcile_by_purchase_line/models/__init__.py create mode 100644 account_mass_reconcile_by_purchase_line/models/base_reconciliation.py create mode 100644 account_mass_reconcile_by_purchase_line/models/mass_reconcile.py create mode 100644 account_mass_reconcile_by_purchase_line/static/description/icon.png create mode 100644 account_mass_reconcile_by_purchase_line/views/mass_reconcile.xml create mode 100644 account_mass_reconcile_by_purchase_line/wizards/__init__.py create mode 100644 account_mass_reconcile_by_purchase_line/wizards/advanced_reconciliation.py diff --git a/account_mass_reconcile_by_purchase_line/README.rst b/account_mass_reconcile_by_purchase_line/README.rst new file mode 100644 index 00000000..65449897 --- /dev/null +++ b/account_mass_reconcile_by_purchase_line/README.rst @@ -0,0 +1,65 @@ +.. image:: https://img.shields.io/badge/license-AGPLv3-blue.svg + :target: https://www.gnu.org/licenses/agpl.html + :alt: License: AGPL-3 + +======================================= +Account Mass Reconcile by Purchase Line +======================================= + +This module extends the functionality of acccount_mass_reconcile and +allow an user to reconcile debits and credits of an Account +using the PO Line, Product and Partner as key fields. This type of +reconciliation is to be used in the context of the Perpetual Inventory +accounting system, with the accrual account '*Goods Received Not Invoiced*'. + + +Usage +===== + +To use this module, you need to: + +* Go to 'Accounting / Adviser / Mass Automatic Reconcile'. + +* Create a new reconciliation profile, and select a new configuration entry + with type 'Advanced. Partner, product, purchase order line.'. + +.. 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/9.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 +------------ + +* Jordi Ballester Alomar +* Miquel Raïch + +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. \ No newline at end of file diff --git a/account_mass_reconcile_by_purchase_line/__init__.py b/account_mass_reconcile_by_purchase_line/__init__.py new file mode 100644 index 00000000..09cfd859 --- /dev/null +++ b/account_mass_reconcile_by_purchase_line/__init__.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +# © 2015-17 Eficent Business and IT Consulting Services S.L. (www.eficent.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import models +from . import wizards diff --git a/account_mass_reconcile_by_purchase_line/__openerp__.py b/account_mass_reconcile_by_purchase_line/__openerp__.py new file mode 100644 index 00000000..9bf7a07f --- /dev/null +++ b/account_mass_reconcile_by_purchase_line/__openerp__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# © 2015-17 Eficent Business and IT Consulting Services S.L. (www.eficent.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +{ + "name": "Account Mass Reconcile by Purchase Line", + "summary": "Allows to reconcile based on the PO line", + "version": "9.0.1.0.0", + "author": "Eficent, " + "Odoo Community Association (OCA)", + "website": "https://github.com/OCA/bank-statement-reconcile", + "category": "Finance", + "depends": ["account_mass_reconcile", + "account_move_line_purchase_info" + ], + "license": "AGPL-3", + "data": [ + "views/mass_reconcile.xml", + ], + "installable": True, + "auto_install": False, +} diff --git a/account_mass_reconcile_by_purchase_line/models/__init__.py b/account_mass_reconcile_by_purchase_line/models/__init__.py new file mode 100644 index 00000000..f4d36637 --- /dev/null +++ b/account_mass_reconcile_by_purchase_line/models/__init__.py @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +# © 2015-17 Eficent Business and IT Consulting Services S.L. (www.eficent.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import mass_reconcile +from . import base_reconciliation diff --git a/account_mass_reconcile_by_purchase_line/models/base_reconciliation.py b/account_mass_reconcile_by_purchase_line/models/base_reconciliation.py new file mode 100644 index 00000000..09861e45 --- /dev/null +++ b/account_mass_reconcile_by_purchase_line/models/base_reconciliation.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# © 2015-17 Eficent Business and IT Consulting Services S.L. (www.eficent.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from openerp import api, models + + +class MassReconcileBase(models.AbstractModel): + _inherit = 'mass.reconcile.base' + + @api.model + def _base_columns(self): + """ Mandatory columns for move lines queries + An extra column aliased as ``key`` should be defined + in each query.""" + aml_cols = super(MassReconcileBase, self)._base_columns() + aml_cols.append('account_move_line.purchase_line_id') + aml_cols.append('account_move_line.product_id') + return aml_cols diff --git a/account_mass_reconcile_by_purchase_line/models/mass_reconcile.py b/account_mass_reconcile_by_purchase_line/models/mass_reconcile.py new file mode 100644 index 00000000..5ae3f691 --- /dev/null +++ b/account_mass_reconcile_by_purchase_line/models/mass_reconcile.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- +# © 2015-17 Eficent Business and IT Consulting Services S.L. (www.eficent.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from openerp import api, models + + +class AccountMassReconcileMethod(models.Model): + _inherit = 'account.mass.reconcile.method' + + @api.model + def _get_all_rec_method(self): + methods = super(AccountMassReconcileMethod, self)._get_all_rec_method() + methods += [ + ('mass.reconcile.advanced.by.purchase.line', + 'Advanced. Partner, product, purchase order line.'), + ] + return methods diff --git a/account_mass_reconcile_by_purchase_line/static/description/icon.png b/account_mass_reconcile_by_purchase_line/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_mass_reconcile_by_purchase_line/views/mass_reconcile.xml b/account_mass_reconcile_by_purchase_line/views/mass_reconcile.xml new file mode 100644 index 00000000..374a692a --- /dev/null +++ b/account_mass_reconcile_by_purchase_line/views/mass_reconcile.xml @@ -0,0 +1,18 @@ + + + + account.mass.reconcile.form + 20 + account.mass.reconcile + + + + + + + + + + diff --git a/account_mass_reconcile_by_purchase_line/wizards/__init__.py b/account_mass_reconcile_by_purchase_line/wizards/__init__.py new file mode 100644 index 00000000..141fb706 --- /dev/null +++ b/account_mass_reconcile_by_purchase_line/wizards/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# © 2015-17 Eficent Business and IT Consulting Services S.L. (www.eficent.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import advanced_reconciliation diff --git a/account_mass_reconcile_by_purchase_line/wizards/advanced_reconciliation.py b/account_mass_reconcile_by_purchase_line/wizards/advanced_reconciliation.py new file mode 100644 index 00000000..13b0e634 --- /dev/null +++ b/account_mass_reconcile_by_purchase_line/wizards/advanced_reconciliation.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +# © 2015-17 Eficent Business and IT Consulting Services S.L. (www.eficent.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from openerp import api, models + + +class MassReconcileAdvancedByPurchaseLine(models.TransientModel): + _name = 'mass.reconcile.advanced.by.purchase.line' + _inherit = 'mass.reconcile.advanced' + + @api.multi + def _skip_line(self, move_line): + """ + When True is returned on some conditions, the credit move line + will be skipped for reconciliation. Can be inherited to + skip on some conditions. ie: ref or partner_id is empty. + """ + return not (move_line.get('partner_id') and move_line.get( + 'product_id') and move_line.get('purchase_line_id')) + + @api.multi + def _matchers(self, move_line): + return (('partner_id', move_line['partner_id']), + ('product_id', move_line['product_id']), + ('purchase_line_id', move_line['purchase_line_id'])) + + @api.multi + def _opposite_matchers(self, move_line): + yield ('partner_id', move_line['partner_id']) + yield ('product_id', move_line['product_id']) + yield ('purchase_line_id', move_line['purchase_line_id']) From 2a87c7413f95e2ef65a5877cb822f2249e6ad9b1 Mon Sep 17 00:00:00 2001 From: lreficent Date: Fri, 1 Sep 2017 11:47:39 +0200 Subject: [PATCH 02/14] [9.0] account_mass_reconcile_by_purchase_line: do not consider partner. --- .../models/mass_reconcile.py | 2 +- .../wizards/advanced_reconciliation.py | 8 +++----- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/account_mass_reconcile_by_purchase_line/models/mass_reconcile.py b/account_mass_reconcile_by_purchase_line/models/mass_reconcile.py index 5ae3f691..21dbdcc0 100644 --- a/account_mass_reconcile_by_purchase_line/models/mass_reconcile.py +++ b/account_mass_reconcile_by_purchase_line/models/mass_reconcile.py @@ -13,6 +13,6 @@ class AccountMassReconcileMethod(models.Model): methods = super(AccountMassReconcileMethod, self)._get_all_rec_method() methods += [ ('mass.reconcile.advanced.by.purchase.line', - 'Advanced. Partner, product, purchase order line.'), + 'Advanced. Product, purchase order line.'), ] return methods diff --git a/account_mass_reconcile_by_purchase_line/wizards/advanced_reconciliation.py b/account_mass_reconcile_by_purchase_line/wizards/advanced_reconciliation.py index 13b0e634..1a602849 100644 --- a/account_mass_reconcile_by_purchase_line/wizards/advanced_reconciliation.py +++ b/account_mass_reconcile_by_purchase_line/wizards/advanced_reconciliation.py @@ -16,17 +16,15 @@ class MassReconcileAdvancedByPurchaseLine(models.TransientModel): will be skipped for reconciliation. Can be inherited to skip on some conditions. ie: ref or partner_id is empty. """ - return not (move_line.get('partner_id') and move_line.get( - 'product_id') and move_line.get('purchase_line_id')) + return not (move_line.get('product_id') and + move_line.get('purchase_line_id')) @api.multi def _matchers(self, move_line): - return (('partner_id', move_line['partner_id']), - ('product_id', move_line['product_id']), + return (('product_id', move_line['product_id']), ('purchase_line_id', move_line['purchase_line_id'])) @api.multi def _opposite_matchers(self, move_line): - yield ('partner_id', move_line['partner_id']) yield ('product_id', move_line['product_id']) yield ('purchase_line_id', move_line['purchase_line_id']) From 8b3fd5812481fdf63acface61cf3c7b9583dafb5 Mon Sep 17 00:00:00 2001 From: Lois Rilo Date: Fri, 1 Sep 2017 18:35:48 +0200 Subject: [PATCH 03/14] Update README --- account_mass_reconcile_by_purchase_line/README.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/account_mass_reconcile_by_purchase_line/README.rst b/account_mass_reconcile_by_purchase_line/README.rst index 65449897..ad78d7a3 100644 --- a/account_mass_reconcile_by_purchase_line/README.rst +++ b/account_mass_reconcile_by_purchase_line/README.rst @@ -8,11 +8,10 @@ Account Mass Reconcile by Purchase Line This module extends the functionality of acccount_mass_reconcile and allow an user to reconcile debits and credits of an Account -using the PO Line, Product and Partner as key fields. This type of +using the PO Line and Product as key fields. This type of reconciliation is to be used in the context of the Perpetual Inventory accounting system, with the accrual account '*Goods Received Not Invoiced*'. - Usage ===== @@ -21,7 +20,7 @@ To use this module, you need to: * Go to 'Accounting / Adviser / Mass Automatic Reconcile'. * Create a new reconciliation profile, and select a new configuration entry - with type 'Advanced. Partner, product, purchase order line.'. + with type 'Advanced. Product, purchase order line.'. .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas :alt: Try me on Runbot @@ -48,6 +47,7 @@ Contributors * Jordi Ballester Alomar * Miquel Raïch +* Lois Rilo Maintainer ---------- @@ -62,4 +62,4 @@ 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. \ No newline at end of file +To contribute to this module, please visit https://odoo-community.org. From 4d1c883910aa532648c5ba3a6e68c2ef247c8e25 Mon Sep 17 00:00:00 2001 From: mreficent Date: Fri, 15 Sep 2017 11:36:04 +0200 Subject: [PATCH 04/14] [MIG] account_mass_reconcile_by_purchase_line: Migration to 10.0 --- account_mass_reconcile_by_purchase_line/README.rst | 2 +- .../{__openerp__.py => __manifest__.py} | 2 +- .../models/base_reconciliation.py | 2 +- .../models/mass_reconcile.py | 2 +- .../views/mass_reconcile.xml | 4 ++-- .../wizards/advanced_reconciliation.py | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) rename account_mass_reconcile_by_purchase_line/{__openerp__.py => __manifest__.py} (96%) diff --git a/account_mass_reconcile_by_purchase_line/README.rst b/account_mass_reconcile_by_purchase_line/README.rst index ad78d7a3..2554bb51 100644 --- a/account_mass_reconcile_by_purchase_line/README.rst +++ b/account_mass_reconcile_by_purchase_line/README.rst @@ -24,7 +24,7 @@ To use this module, you need to: .. 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/9.0 + :target: https://runbot.odoo-community.org/runbot/98/10.0 Bug Tracker =========== diff --git a/account_mass_reconcile_by_purchase_line/__openerp__.py b/account_mass_reconcile_by_purchase_line/__manifest__.py similarity index 96% rename from account_mass_reconcile_by_purchase_line/__openerp__.py rename to account_mass_reconcile_by_purchase_line/__manifest__.py index 9bf7a07f..99350968 100644 --- a/account_mass_reconcile_by_purchase_line/__openerp__.py +++ b/account_mass_reconcile_by_purchase_line/__manifest__.py @@ -5,7 +5,7 @@ { "name": "Account Mass Reconcile by Purchase Line", "summary": "Allows to reconcile based on the PO line", - "version": "9.0.1.0.0", + "version": "10.0.1.0.0", "author": "Eficent, " "Odoo Community Association (OCA)", "website": "https://github.com/OCA/bank-statement-reconcile", diff --git a/account_mass_reconcile_by_purchase_line/models/base_reconciliation.py b/account_mass_reconcile_by_purchase_line/models/base_reconciliation.py index 09861e45..5de2ba08 100644 --- a/account_mass_reconcile_by_purchase_line/models/base_reconciliation.py +++ b/account_mass_reconcile_by_purchase_line/models/base_reconciliation.py @@ -2,7 +2,7 @@ # © 2015-17 Eficent Business and IT Consulting Services S.L. (www.eficent.com) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). -from openerp import api, models +from odoo import api, models class MassReconcileBase(models.AbstractModel): diff --git a/account_mass_reconcile_by_purchase_line/models/mass_reconcile.py b/account_mass_reconcile_by_purchase_line/models/mass_reconcile.py index 21dbdcc0..e85c9980 100644 --- a/account_mass_reconcile_by_purchase_line/models/mass_reconcile.py +++ b/account_mass_reconcile_by_purchase_line/models/mass_reconcile.py @@ -2,7 +2,7 @@ # © 2015-17 Eficent Business and IT Consulting Services S.L. (www.eficent.com) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). -from openerp import api, models +from odoo import api, models class AccountMassReconcileMethod(models.Model): diff --git a/account_mass_reconcile_by_purchase_line/views/mass_reconcile.xml b/account_mass_reconcile_by_purchase_line/views/mass_reconcile.xml index 374a692a..c1347cfe 100644 --- a/account_mass_reconcile_by_purchase_line/views/mass_reconcile.xml +++ b/account_mass_reconcile_by_purchase_line/views/mass_reconcile.xml @@ -1,5 +1,5 @@ - + account.mass.reconcile.form 20 @@ -15,4 +15,4 @@ The lines should have the same partner, product and PO lines to be reconciled." - + diff --git a/account_mass_reconcile_by_purchase_line/wizards/advanced_reconciliation.py b/account_mass_reconcile_by_purchase_line/wizards/advanced_reconciliation.py index 1a602849..1db5bc6f 100644 --- a/account_mass_reconcile_by_purchase_line/wizards/advanced_reconciliation.py +++ b/account_mass_reconcile_by_purchase_line/wizards/advanced_reconciliation.py @@ -2,7 +2,7 @@ # © 2015-17 Eficent Business and IT Consulting Services S.L. (www.eficent.com) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). -from openerp import api, models +from odoo import api, models class MassReconcileAdvancedByPurchaseLine(models.TransientModel): From f92495dfc6879162c3c057508e13854e5afcc377 Mon Sep 17 00:00:00 2001 From: mreficent Date: Mon, 6 Nov 2017 18:23:44 +0100 Subject: [PATCH 05/14] [FIX] mass_reconcile_purchase_by_purchase_line --- .../models/__init__.py | 2 +- ...reconciliation.py => base_advanced_reconciliation.py} | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) rename account_mass_reconcile_by_purchase_line/models/{base_reconciliation.py => base_advanced_reconciliation.py} (71%) diff --git a/account_mass_reconcile_by_purchase_line/models/__init__.py b/account_mass_reconcile_by_purchase_line/models/__init__.py index f4d36637..98605de2 100644 --- a/account_mass_reconcile_by_purchase_line/models/__init__.py +++ b/account_mass_reconcile_by_purchase_line/models/__init__.py @@ -3,4 +3,4 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). from . import mass_reconcile -from . import base_reconciliation +from . import base_advanced_reconciliation diff --git a/account_mass_reconcile_by_purchase_line/models/base_reconciliation.py b/account_mass_reconcile_by_purchase_line/models/base_advanced_reconciliation.py similarity index 71% rename from account_mass_reconcile_by_purchase_line/models/base_reconciliation.py rename to account_mass_reconcile_by_purchase_line/models/base_advanced_reconciliation.py index 5de2ba08..16c2b189 100644 --- a/account_mass_reconcile_by_purchase_line/models/base_reconciliation.py +++ b/account_mass_reconcile_by_purchase_line/models/base_advanced_reconciliation.py @@ -2,18 +2,17 @@ # © 2015-17 Eficent Business and IT Consulting Services S.L. (www.eficent.com) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). -from odoo import api, models +from odoo import models -class MassReconcileBase(models.AbstractModel): - _inherit = 'mass.reconcile.base' +class MassReconcileAdvanced(models.AbstractModel): + _inherit = 'mass.reconcile.advanced' - @api.model def _base_columns(self): """ Mandatory columns for move lines queries An extra column aliased as ``key`` should be defined in each query.""" - aml_cols = super(MassReconcileBase, self)._base_columns() + aml_cols = super(MassReconcileAdvanced, self)._base_columns() aml_cols.append('account_move_line.purchase_line_id') aml_cols.append('account_move_line.product_id') return aml_cols From 2c50f71e47efb72cb4309d224d3ea18719b9a22e Mon Sep 17 00:00:00 2001 From: oca-travis Date: Thu, 12 Jul 2018 17:06:20 +0000 Subject: [PATCH 06/14] [UPD] Update account_mass_reconcile_by_purchase_line.pot --- ...ccount_mass_reconcile_by_purchase_line.pot | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 account_mass_reconcile_by_purchase_line/i18n/account_mass_reconcile_by_purchase_line.pot diff --git a/account_mass_reconcile_by_purchase_line/i18n/account_mass_reconcile_by_purchase_line.pot b/account_mass_reconcile_by_purchase_line/i18n/account_mass_reconcile_by_purchase_line.pot new file mode 100644 index 00000000..b2a0c75a --- /dev/null +++ b/account_mass_reconcile_by_purchase_line/i18n/account_mass_reconcile_by_purchase_line.pot @@ -0,0 +1,75 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_mass_reconcile_by_purchase_line +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: <>\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: account_mass_reconcile_by_purchase_line +#: model:ir.ui.view,arch_db:account_mass_reconcile_by_purchase_line.account_mass_reconcile_form +msgid "Advanced. Purchase Order Line" +msgstr "" + +#. module: account_mass_reconcile_by_purchase_line +#: model:ir.model.fields,field_description:account_mass_reconcile_by_purchase_line.field_mass_reconcile_advanced_by_purchase_line_create_uid +msgid "Created by" +msgstr "" + +#. module: account_mass_reconcile_by_purchase_line +#: model:ir.model.fields,field_description:account_mass_reconcile_by_purchase_line.field_mass_reconcile_advanced_by_purchase_line_create_date +msgid "Created on" +msgstr "" + +#. module: account_mass_reconcile_by_purchase_line +#: model:ir.model.fields,field_description:account_mass_reconcile_by_purchase_line.field_mass_reconcile_advanced_by_purchase_line_display_name +msgid "Display Name" +msgstr "" + +#. module: account_mass_reconcile_by_purchase_line +#: model:ir.model.fields,field_description:account_mass_reconcile_by_purchase_line.field_mass_reconcile_advanced_by_purchase_line_id +msgid "ID" +msgstr "" + +#. module: account_mass_reconcile_by_purchase_line +#: model:ir.model.fields,field_description:account_mass_reconcile_by_purchase_line.field_mass_reconcile_advanced_by_purchase_line___last_update +msgid "Last Modified on" +msgstr "" + +#. module: account_mass_reconcile_by_purchase_line +#: model:ir.model.fields,field_description:account_mass_reconcile_by_purchase_line.field_mass_reconcile_advanced_by_purchase_line_write_uid +msgid "Last Updated by" +msgstr "" + +#. module: account_mass_reconcile_by_purchase_line +#: model:ir.model.fields,field_description:account_mass_reconcile_by_purchase_line.field_mass_reconcile_advanced_by_purchase_line_write_date +msgid "Last Updated on" +msgstr "" + +#. module: account_mass_reconcile_by_purchase_line +#: model:ir.ui.view,arch_db:account_mass_reconcile_by_purchase_line.account_mass_reconcile_form +msgid "Match multiple debit vs multiple credit entries. Allow partial reconciliation. The lines should have the same partner, product and PO lines to be reconciled." +msgstr "" + +#. module: account_mass_reconcile_by_purchase_line +#: model:ir.model,name:account_mass_reconcile_by_purchase_line.model_mass_reconcile_advanced +msgid "mass.reconcile.advanced" +msgstr "" + +#. module: account_mass_reconcile_by_purchase_line +#: model:ir.model,name:account_mass_reconcile_by_purchase_line.model_mass_reconcile_advanced_by_purchase_line +msgid "mass.reconcile.advanced.by.purchase.line" +msgstr "" + +#. module: account_mass_reconcile_by_purchase_line +#: model:ir.model,name:account_mass_reconcile_by_purchase_line.model_account_mass_reconcile_method +msgid "reconcile method for account_mass_reconcile" +msgstr "" + From b4422c4efc77f962363258a6974b0589d7d4b3d0 Mon Sep 17 00:00:00 2001 From: Jordi Ballester Alomar Date: Thu, 12 Jul 2018 20:28:05 +0200 Subject: [PATCH 07/14] [MIG] account_mass_reconcile_by_purchase_line: Migration to 11.0 --- .../README.rst | 2 +- .../__init__.py | 5 ---- .../__manifest__.py | 5 ++-- .../models/__init__.py | 5 +--- .../models/base_advanced_reconciliation.py | 29 +++++++++++------- .../models/mass_reconcile.py | 8 ++--- .../models/simple_reconciliation.py | 12 ++++++++ .../wizards/__init__.py | 5 ---- .../wizards/advanced_reconciliation.py | 30 ------------------- 9 files changed, 39 insertions(+), 62 deletions(-) create mode 100644 account_mass_reconcile_by_purchase_line/models/simple_reconciliation.py delete mode 100644 account_mass_reconcile_by_purchase_line/wizards/__init__.py delete mode 100644 account_mass_reconcile_by_purchase_line/wizards/advanced_reconciliation.py diff --git a/account_mass_reconcile_by_purchase_line/README.rst b/account_mass_reconcile_by_purchase_line/README.rst index 2554bb51..c8aad386 100644 --- a/account_mass_reconcile_by_purchase_line/README.rst +++ b/account_mass_reconcile_by_purchase_line/README.rst @@ -24,7 +24,7 @@ To use this module, you need to: .. 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 + :target: https://runbot.odoo-community.org/runbot/98/11.0 Bug Tracker =========== diff --git a/account_mass_reconcile_by_purchase_line/__init__.py b/account_mass_reconcile_by_purchase_line/__init__.py index 09cfd859..0650744f 100644 --- a/account_mass_reconcile_by_purchase_line/__init__.py +++ b/account_mass_reconcile_by_purchase_line/__init__.py @@ -1,6 +1 @@ -# -*- coding: utf-8 -*- -# © 2015-17 Eficent Business and IT Consulting Services S.L. (www.eficent.com) -# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). - from . import models -from . import wizards diff --git a/account_mass_reconcile_by_purchase_line/__manifest__.py b/account_mass_reconcile_by_purchase_line/__manifest__.py index 99350968..418ae681 100644 --- a/account_mass_reconcile_by_purchase_line/__manifest__.py +++ b/account_mass_reconcile_by_purchase_line/__manifest__.py @@ -1,11 +1,10 @@ -# -*- coding: utf-8 -*- -# © 2015-17 Eficent Business and IT Consulting Services S.L. (www.eficent.com) +# © 2015-18 Eficent Business and IT Consulting Services S.L. (www.eficent.com) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). { "name": "Account Mass Reconcile by Purchase Line", "summary": "Allows to reconcile based on the PO line", - "version": "10.0.1.0.0", + "version": "11.0.1.0.0", "author": "Eficent, " "Odoo Community Association (OCA)", "website": "https://github.com/OCA/bank-statement-reconcile", diff --git a/account_mass_reconcile_by_purchase_line/models/__init__.py b/account_mass_reconcile_by_purchase_line/models/__init__.py index 98605de2..8b08acfb 100644 --- a/account_mass_reconcile_by_purchase_line/models/__init__.py +++ b/account_mass_reconcile_by_purchase_line/models/__init__.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- -# © 2015-17 Eficent Business and IT Consulting Services S.L. (www.eficent.com) -# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). - from . import mass_reconcile from . import base_advanced_reconciliation +from . import simple_reconciliation diff --git a/account_mass_reconcile_by_purchase_line/models/base_advanced_reconciliation.py b/account_mass_reconcile_by_purchase_line/models/base_advanced_reconciliation.py index 16c2b189..053358f0 100644 --- a/account_mass_reconcile_by_purchase_line/models/base_advanced_reconciliation.py +++ b/account_mass_reconcile_by_purchase_line/models/base_advanced_reconciliation.py @@ -1,5 +1,4 @@ -# -*- coding: utf-8 -*- -# © 2015-17 Eficent Business and IT Consulting Services S.L. (www.eficent.com) +# © 2015-18 Eficent Business and IT Consulting Services S.L. (www.eficent.com) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). from odoo import models @@ -8,11 +7,21 @@ from odoo import models class MassReconcileAdvanced(models.AbstractModel): _inherit = 'mass.reconcile.advanced' - def _base_columns(self): - """ Mandatory columns for move lines queries - An extra column aliased as ``key`` should be defined - in each query.""" - aml_cols = super(MassReconcileAdvanced, self)._base_columns() - aml_cols.append('account_move_line.purchase_line_id') - aml_cols.append('account_move_line.product_id') - return aml_cols + def _skip_line(self, move_line): + """ + When True is returned on some conditions, the credit move line + will be skipped for reconciliation. Can be inherited to + skip on some conditions. ie: ref or partner_id is empty. + """ + return not (move_line.get('product_id') and + move_line.get('purchase_line_id')) + + @staticmethod + def _matchers(move_line): + return (('product_id', move_line['product_id']), + ('purchase_line_id', move_line['purchase_line_id'])) + + @staticmethod + def _opposite_matchers(move_line): + yield ('product_id', move_line['product_id']) + yield ('purchase_line_id', move_line['purchase_line_id']) diff --git a/account_mass_reconcile_by_purchase_line/models/mass_reconcile.py b/account_mass_reconcile_by_purchase_line/models/mass_reconcile.py index e85c9980..91df430f 100644 --- a/account_mass_reconcile_by_purchase_line/models/mass_reconcile.py +++ b/account_mass_reconcile_by_purchase_line/models/mass_reconcile.py @@ -1,5 +1,4 @@ -# -*- coding: utf-8 -*- -# © 2015-17 Eficent Business and IT Consulting Services S.L. (www.eficent.com) +# © 2015-18 Eficent Business and IT Consulting Services S.L. (www.eficent.com) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). from odoo import api, models @@ -9,8 +8,9 @@ class AccountMassReconcileMethod(models.Model): _inherit = 'account.mass.reconcile.method' @api.model - def _get_all_rec_method(self): - methods = super(AccountMassReconcileMethod, self)._get_all_rec_method() + def _get_reconcilation_methods(self): + methods = super(AccountMassReconcileMethod, + self)._get_reconcilation_methods() methods += [ ('mass.reconcile.advanced.by.purchase.line', 'Advanced. Product, purchase order line.'), diff --git a/account_mass_reconcile_by_purchase_line/models/simple_reconciliation.py b/account_mass_reconcile_by_purchase_line/models/simple_reconciliation.py new file mode 100644 index 00000000..2d5de51c --- /dev/null +++ b/account_mass_reconcile_by_purchase_line/models/simple_reconciliation.py @@ -0,0 +1,12 @@ +# Copyright 2012-2016 Camptocamp SA +# Copyright 2010 Sébastien Beau +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models, api + + +class MassReconcileAdvancedByPurchaseLineName(models.TransientModel): + _name = 'mass.reconcile.advanced.by.purchase.line' + _inherit = 'mass.reconcile.simple' + + _key_field = 'purchase_line_id' diff --git a/account_mass_reconcile_by_purchase_line/wizards/__init__.py b/account_mass_reconcile_by_purchase_line/wizards/__init__.py deleted file mode 100644 index 141fb706..00000000 --- a/account_mass_reconcile_by_purchase_line/wizards/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -# -*- coding: utf-8 -*- -# © 2015-17 Eficent Business and IT Consulting Services S.L. (www.eficent.com) -# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). - -from . import advanced_reconciliation diff --git a/account_mass_reconcile_by_purchase_line/wizards/advanced_reconciliation.py b/account_mass_reconcile_by_purchase_line/wizards/advanced_reconciliation.py deleted file mode 100644 index 1db5bc6f..00000000 --- a/account_mass_reconcile_by_purchase_line/wizards/advanced_reconciliation.py +++ /dev/null @@ -1,30 +0,0 @@ -# -*- coding: utf-8 -*- -# © 2015-17 Eficent Business and IT Consulting Services S.L. (www.eficent.com) -# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). - -from odoo import api, models - - -class MassReconcileAdvancedByPurchaseLine(models.TransientModel): - _name = 'mass.reconcile.advanced.by.purchase.line' - _inherit = 'mass.reconcile.advanced' - - @api.multi - def _skip_line(self, move_line): - """ - When True is returned on some conditions, the credit move line - will be skipped for reconciliation. Can be inherited to - skip on some conditions. ie: ref or partner_id is empty. - """ - return not (move_line.get('product_id') and - move_line.get('purchase_line_id')) - - @api.multi - def _matchers(self, move_line): - return (('product_id', move_line['product_id']), - ('purchase_line_id', move_line['purchase_line_id'])) - - @api.multi - def _opposite_matchers(self, move_line): - yield ('product_id', move_line['product_id']) - yield ('purchase_line_id', move_line['purchase_line_id']) From 38013a545b025a13ac45c6f9f281be70c0685c38 Mon Sep 17 00:00:00 2001 From: mreficent Date: Fri, 13 Jul 2018 12:37:18 +0200 Subject: [PATCH 08/14] [FIX] Finish the migration to v11 --- .../README.rst | 10 +++---- .../models/__init__.py | 2 +- .../models/advanced_reconciliation.py | 29 +++++++++++++++++++ .../models/base_advanced_reconciliation.py | 26 ++++++----------- .../models/mass_reconcile.py | 11 +++---- .../models/simple_reconciliation.py | 12 -------- 6 files changed, 50 insertions(+), 40 deletions(-) create mode 100644 account_mass_reconcile_by_purchase_line/models/advanced_reconciliation.py delete mode 100644 account_mass_reconcile_by_purchase_line/models/simple_reconciliation.py diff --git a/account_mass_reconcile_by_purchase_line/README.rst b/account_mass_reconcile_by_purchase_line/README.rst index c8aad386..7205c756 100644 --- a/account_mass_reconcile_by_purchase_line/README.rst +++ b/account_mass_reconcile_by_purchase_line/README.rst @@ -1,12 +1,12 @@ -.. image:: https://img.shields.io/badge/license-AGPLv3-blue.svg - :target: https://www.gnu.org/licenses/agpl.html +.. image:: https://img.shields.io/badge/license-AGPL--3-blue.png + :target: https://www.gnu.org/licenses/agpl :alt: License: AGPL-3 ======================================= Account Mass Reconcile by Purchase Line ======================================= -This module extends the functionality of acccount_mass_reconcile and +This module extends the functionality of account_mass_reconcile and allow an user to reconcile debits and credits of an Account using the PO Line and Product as key fields. This type of reconciliation is to be used in the context of the Perpetual Inventory @@ -20,7 +20,7 @@ To use this module, you need to: * Go to 'Accounting / Adviser / Mass Automatic Reconcile'. * Create a new reconciliation profile, and select a new configuration entry - with type 'Advanced. Product, purchase order line.'. + with type 'Advanced. Product, purchase order line'. .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas :alt: Try me on Runbot @@ -40,7 +40,7 @@ Credits Images ------ -* Odoo Community Association: `Icon `_. +* Odoo Community Association: `Icon `_. Contributors ------------ diff --git a/account_mass_reconcile_by_purchase_line/models/__init__.py b/account_mass_reconcile_by_purchase_line/models/__init__.py index 8b08acfb..fbcdbc24 100644 --- a/account_mass_reconcile_by_purchase_line/models/__init__.py +++ b/account_mass_reconcile_by_purchase_line/models/__init__.py @@ -1,3 +1,3 @@ from . import mass_reconcile from . import base_advanced_reconciliation -from . import simple_reconciliation +from . import advanced_reconciliation diff --git a/account_mass_reconcile_by_purchase_line/models/advanced_reconciliation.py b/account_mass_reconcile_by_purchase_line/models/advanced_reconciliation.py new file mode 100644 index 00000000..769f05ea --- /dev/null +++ b/account_mass_reconcile_by_purchase_line/models/advanced_reconciliation.py @@ -0,0 +1,29 @@ +# © 2015-18 Eficent Business and IT Consulting Services S.L. (www.eficent.com) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import models + + +class MassReconcileAdvancedByPurchaseLine(models.TransientModel): + _name = 'mass.reconcile.advanced.by.purchase.line' + _inherit = 'mass.reconcile.advanced' + + @staticmethod + def _skip_line(move_line): + """ + When True is returned on some conditions, the credit move line + will be skipped for reconciliation. Can be inherited to + skip on some conditions. ie: ref or partner_id is empty. + """ + return not (move_line.get('product_id') and + move_line.get('purchase_line_id')) + + @staticmethod + def _matchers(move_line): + return (('product_id', move_line['product_id']), + ('purchase_line_id', move_line['purchase_line_id'])) + + @staticmethod + def _opposite_matchers(move_line): + yield ('product_id', move_line['product_id']) + yield ('purchase_line_id', move_line['purchase_line_id']) diff --git a/account_mass_reconcile_by_purchase_line/models/base_advanced_reconciliation.py b/account_mass_reconcile_by_purchase_line/models/base_advanced_reconciliation.py index 053358f0..13acfded 100644 --- a/account_mass_reconcile_by_purchase_line/models/base_advanced_reconciliation.py +++ b/account_mass_reconcile_by_purchase_line/models/base_advanced_reconciliation.py @@ -7,21 +7,13 @@ from odoo import models class MassReconcileAdvanced(models.AbstractModel): _inherit = 'mass.reconcile.advanced' - def _skip_line(self, move_line): - """ - When True is returned on some conditions, the credit move line - will be skipped for reconciliation. Can be inherited to - skip on some conditions. ie: ref or partner_id is empty. - """ - return not (move_line.get('product_id') and - move_line.get('purchase_line_id')) - @staticmethod - def _matchers(move_line): - return (('product_id', move_line['product_id']), - ('purchase_line_id', move_line['purchase_line_id'])) - - @staticmethod - def _opposite_matchers(move_line): - yield ('product_id', move_line['product_id']) - yield ('purchase_line_id', move_line['purchase_line_id']) + def _base_columns(): + """ Mandatory columns for move lines queries + An extra column aliased as ``key`` should be defined + in each query.""" + aml_cols = super(MassReconcileAdvanced, MassReconcileAdvanced).\ + _base_columns() + aml_cols.append('account_move_line.purchase_line_id') + aml_cols.append('account_move_line.product_id') + return aml_cols diff --git a/account_mass_reconcile_by_purchase_line/models/mass_reconcile.py b/account_mass_reconcile_by_purchase_line/models/mass_reconcile.py index 91df430f..e11eb7a5 100644 --- a/account_mass_reconcile_by_purchase_line/models/mass_reconcile.py +++ b/account_mass_reconcile_by_purchase_line/models/mass_reconcile.py @@ -1,16 +1,17 @@ # © 2015-18 Eficent Business and IT Consulting Services S.L. (www.eficent.com) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). -from odoo import api, models +from odoo import models class AccountMassReconcileMethod(models.Model): _inherit = 'account.mass.reconcile.method' - @api.model - def _get_reconcilation_methods(self): - methods = super(AccountMassReconcileMethod, - self)._get_reconcilation_methods() + @staticmethod + def _get_reconcilation_methods(): + methods = super( + AccountMassReconcileMethod, AccountMassReconcileMethod).\ + _get_reconcilation_methods() methods += [ ('mass.reconcile.advanced.by.purchase.line', 'Advanced. Product, purchase order line.'), diff --git a/account_mass_reconcile_by_purchase_line/models/simple_reconciliation.py b/account_mass_reconcile_by_purchase_line/models/simple_reconciliation.py deleted file mode 100644 index 2d5de51c..00000000 --- a/account_mass_reconcile_by_purchase_line/models/simple_reconciliation.py +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright 2012-2016 Camptocamp SA -# Copyright 2010 Sébastien Beau -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). - -from odoo import models, api - - -class MassReconcileAdvancedByPurchaseLineName(models.TransientModel): - _name = 'mass.reconcile.advanced.by.purchase.line' - _inherit = 'mass.reconcile.simple' - - _key_field = 'purchase_line_id' From 5c98c505927b536d7467d3a285d5d42be0faae56 Mon Sep 17 00:00:00 2001 From: mreficent Date: Wed, 25 Jul 2018 12:58:12 +0200 Subject: [PATCH 09/14] [FIX] Super call on static methods --- .../models/base_advanced_reconciliation.py | 9 ++------- .../models/mass_reconcile.py | 7 ++----- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/account_mass_reconcile_by_purchase_line/models/base_advanced_reconciliation.py b/account_mass_reconcile_by_purchase_line/models/base_advanced_reconciliation.py index 13acfded..9c9d46e4 100644 --- a/account_mass_reconcile_by_purchase_line/models/base_advanced_reconciliation.py +++ b/account_mass_reconcile_by_purchase_line/models/base_advanced_reconciliation.py @@ -7,13 +7,8 @@ from odoo import models class MassReconcileAdvanced(models.AbstractModel): _inherit = 'mass.reconcile.advanced' - @staticmethod - def _base_columns(): - """ Mandatory columns for move lines queries - An extra column aliased as ``key`` should be defined - in each query.""" - aml_cols = super(MassReconcileAdvanced, MassReconcileAdvanced).\ - _base_columns() + def _selection_columns(self): + aml_cols = super(MassReconcileAdvanced, self)._selection_columns() aml_cols.append('account_move_line.purchase_line_id') aml_cols.append('account_move_line.product_id') return aml_cols diff --git a/account_mass_reconcile_by_purchase_line/models/mass_reconcile.py b/account_mass_reconcile_by_purchase_line/models/mass_reconcile.py index e11eb7a5..145ce52b 100644 --- a/account_mass_reconcile_by_purchase_line/models/mass_reconcile.py +++ b/account_mass_reconcile_by_purchase_line/models/mass_reconcile.py @@ -7,11 +7,8 @@ from odoo import models class AccountMassReconcileMethod(models.Model): _inherit = 'account.mass.reconcile.method' - @staticmethod - def _get_reconcilation_methods(): - methods = super( - AccountMassReconcileMethod, AccountMassReconcileMethod).\ - _get_reconcilation_methods() + def _selection_name(self): + methods = super(AccountMassReconcileMethod, self)._selection_name() methods += [ ('mass.reconcile.advanced.by.purchase.line', 'Advanced. Product, purchase order line.'), From cb0e5ac0b391f8cc0fa6e4bfa8957ba7d09d9462 Mon Sep 17 00:00:00 2001 From: oca-travis Date: Wed, 25 Jul 2018 17:34:59 +0000 Subject: [PATCH 10/14] [UPD] Update account_mass_reconcile_by_purchase_line.pot --- .../i18n/account_mass_reconcile_by_purchase_line.pot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/account_mass_reconcile_by_purchase_line/i18n/account_mass_reconcile_by_purchase_line.pot b/account_mass_reconcile_by_purchase_line/i18n/account_mass_reconcile_by_purchase_line.pot index b2a0c75a..9ef22f27 100644 --- a/account_mass_reconcile_by_purchase_line/i18n/account_mass_reconcile_by_purchase_line.pot +++ b/account_mass_reconcile_by_purchase_line/i18n/account_mass_reconcile_by_purchase_line.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 10.0\n" +"Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: <>\n" "Language-Team: \n" From 49d60c992a2edb772d5c40fd2a8788883845e295 Mon Sep 17 00:00:00 2001 From: Osoul Date: Fri, 10 Aug 2018 23:26:52 +0000 Subject: [PATCH 11/14] Added translation using Weblate (Arabic) --- .../i18n/ar.po | 76 +++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 account_mass_reconcile_by_purchase_line/i18n/ar.po diff --git a/account_mass_reconcile_by_purchase_line/i18n/ar.po b/account_mass_reconcile_by_purchase_line/i18n/ar.po new file mode 100644 index 00000000..ae90be22 --- /dev/null +++ b/account_mass_reconcile_by_purchase_line/i18n/ar.po @@ -0,0 +1,76 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * account_mass_reconcile_by_purchase_line +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" + +#. module: account_mass_reconcile_by_purchase_line +#: model:ir.ui.view,arch_db:account_mass_reconcile_by_purchase_line.account_mass_reconcile_form +msgid "Advanced. Purchase Order Line" +msgstr "" + +#. module: account_mass_reconcile_by_purchase_line +#: model:ir.model.fields,field_description:account_mass_reconcile_by_purchase_line.field_mass_reconcile_advanced_by_purchase_line_create_uid +msgid "Created by" +msgstr "" + +#. module: account_mass_reconcile_by_purchase_line +#: model:ir.model.fields,field_description:account_mass_reconcile_by_purchase_line.field_mass_reconcile_advanced_by_purchase_line_create_date +msgid "Created on" +msgstr "" + +#. module: account_mass_reconcile_by_purchase_line +#: model:ir.model.fields,field_description:account_mass_reconcile_by_purchase_line.field_mass_reconcile_advanced_by_purchase_line_display_name +msgid "Display Name" +msgstr "" + +#. module: account_mass_reconcile_by_purchase_line +#: model:ir.model.fields,field_description:account_mass_reconcile_by_purchase_line.field_mass_reconcile_advanced_by_purchase_line_id +msgid "ID" +msgstr "" + +#. module: account_mass_reconcile_by_purchase_line +#: model:ir.model.fields,field_description:account_mass_reconcile_by_purchase_line.field_mass_reconcile_advanced_by_purchase_line___last_update +msgid "Last Modified on" +msgstr "" + +#. module: account_mass_reconcile_by_purchase_line +#: model:ir.model.fields,field_description:account_mass_reconcile_by_purchase_line.field_mass_reconcile_advanced_by_purchase_line_write_uid +msgid "Last Updated by" +msgstr "" + +#. module: account_mass_reconcile_by_purchase_line +#: model:ir.model.fields,field_description:account_mass_reconcile_by_purchase_line.field_mass_reconcile_advanced_by_purchase_line_write_date +msgid "Last Updated on" +msgstr "" + +#. module: account_mass_reconcile_by_purchase_line +#: model:ir.ui.view,arch_db:account_mass_reconcile_by_purchase_line.account_mass_reconcile_form +msgid "Match multiple debit vs multiple credit entries. Allow partial reconciliation. The lines should have the same partner, product and PO lines to be reconciled." +msgstr "" + +#. module: account_mass_reconcile_by_purchase_line +#: model:ir.model,name:account_mass_reconcile_by_purchase_line.model_mass_reconcile_advanced +msgid "mass.reconcile.advanced" +msgstr "" + +#. module: account_mass_reconcile_by_purchase_line +#: model:ir.model,name:account_mass_reconcile_by_purchase_line.model_mass_reconcile_advanced_by_purchase_line +msgid "mass.reconcile.advanced.by.purchase.line" +msgstr "" + +#. module: account_mass_reconcile_by_purchase_line +#: model:ir.model,name:account_mass_reconcile_by_purchase_line.model_account_mass_reconcile_method +msgid "reconcile method for account_mass_reconcile" +msgstr "" From 484965537c882aa46a2809cd88262126656fc53a Mon Sep 17 00:00:00 2001 From: Osoul Date: Fri, 10 Aug 2018 23:27:24 +0000 Subject: [PATCH 12/14] Translated using Weblate (Arabic) Currently translated at 16.7% (2 of 12 strings) Translation: account-reconcile-11.0/account-reconcile-11.0-account_mass_reconcile_by_purchase_line Translate-URL: https://translation.odoo-community.org/projects/account-reconcile-11-0/account-reconcile-11-0-account_mass_reconcile_by_purchase_line/ar/ --- account_mass_reconcile_by_purchase_line/i18n/ar.po | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/account_mass_reconcile_by_purchase_line/i18n/ar.po b/account_mass_reconcile_by_purchase_line/i18n/ar.po index ae90be22..16c8257e 100644 --- a/account_mass_reconcile_by_purchase_line/i18n/ar.po +++ b/account_mass_reconcile_by_purchase_line/i18n/ar.po @@ -6,7 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 11.0\n" "Report-Msgid-Bugs-To: \n" -"Last-Translator: Automatically generated\n" +"PO-Revision-Date: 2018-08-12 00:01+0000\n" +"Last-Translator: Osoul \n" "Language-Team: none\n" "Language: ar\n" "MIME-Version: 1.0\n" @@ -14,11 +15,12 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" +"X-Generator: Weblate 3.1.1\n" #. module: account_mass_reconcile_by_purchase_line #: model:ir.ui.view,arch_db:account_mass_reconcile_by_purchase_line.account_mass_reconcile_form msgid "Advanced. Purchase Order Line" -msgstr "" +msgstr "متطور. أوامر الشراء" #. module: account_mass_reconcile_by_purchase_line #: model:ir.model.fields,field_description:account_mass_reconcile_by_purchase_line.field_mass_reconcile_advanced_by_purchase_line_create_uid @@ -59,6 +61,8 @@ msgstr "" #: model:ir.ui.view,arch_db:account_mass_reconcile_by_purchase_line.account_mass_reconcile_form msgid "Match multiple debit vs multiple credit entries. Allow partial reconciliation. The lines should have the same partner, product and PO lines to be reconciled." msgstr "" +"تسوية مجموعة قيود مدينة ودائنة. السماح بالتسوية الجزئية. القيود يجب ان تحتوي " +"على نفس الشريك، والمنتج وبند أمر الشراء." #. module: account_mass_reconcile_by_purchase_line #: model:ir.model,name:account_mass_reconcile_by_purchase_line.model_mass_reconcile_advanced From bb8f37c85adfe4ab943a7e4d80b25338a0987470 Mon Sep 17 00:00:00 2001 From: mreficent Date: Thu, 6 Jun 2019 14:18:53 +0200 Subject: [PATCH 13/14] [MIG] account_mass_reconcile_by_purchase_line: Migration to 12.0 --- .../tests/test_scenario_reconcile.py | 23 +++++++++++++------ .../README.rst | 6 ++--- .../__manifest__.py | 6 ++--- ...ccount_mass_reconcile_by_purchase_line.pot | 2 +- .../readme/CONTRIBUTORS.rst | 3 +++ .../readme/DESCRIPTION.rst | 5 ++++ .../readme/USAGE.rst | 6 +++++ .../views/mass_reconcile.xml | 2 +- 8 files changed, 38 insertions(+), 15 deletions(-) create mode 100644 account_mass_reconcile_by_purchase_line/readme/CONTRIBUTORS.rst create mode 100644 account_mass_reconcile_by_purchase_line/readme/DESCRIPTION.rst create mode 100644 account_mass_reconcile_by_purchase_line/readme/USAGE.rst diff --git a/account_mass_reconcile/tests/test_scenario_reconcile.py b/account_mass_reconcile/tests/test_scenario_reconcile.py index ff74a473..51f8f1f3 100644 --- a/account_mass_reconcile/tests/test_scenario_reconcile.py +++ b/account_mass_reconcile/tests/test_scenario_reconcile.py @@ -124,7 +124,7 @@ class TestScenarioReconcile(common.SavepointCase): ] } ) - # call the automatic reconcilation method + # call the automatic reconciliation method mass_rec.run_reconcile() self.assertEqual( 'paid', @@ -132,12 +132,21 @@ class TestScenarioReconcile(common.SavepointCase): ) def test_scenario_reconcile_currency(self): - # create currency rate - self.env['res.currency.rate'].create({ - 'name': fields.Date.today().strftime('%Y-%m-%d') + ' 00:00:00', - 'currency_id': self.ref('base.USD'), - 'rate': 1.5, - }) + currency_rate = self.env['res.currency.rate'].sudo().search( + [('currency_id', '=', self.ref('base.USD')), + ('company_id', '=', self.ref('base.main_company'))]).filtered( + lambda r: r.name == fields.Date.today() + ) + if not currency_rate: + # create currency rate + self.env['res.currency.rate'].create({ + 'name': fields.Date.today(), + 'currency_id': self.ref('base.USD'), + 'rate': 1.5, + }) + else: + currency_rate = fields.first(currency_rate) + currency_rate.rate = 1.5 # create invoice invoice = self.invoice_obj.create( { diff --git a/account_mass_reconcile_by_purchase_line/README.rst b/account_mass_reconcile_by_purchase_line/README.rst index 7205c756..419efb8f 100644 --- a/account_mass_reconcile_by_purchase_line/README.rst +++ b/account_mass_reconcile_by_purchase_line/README.rst @@ -17,14 +17,14 @@ Usage To use this module, you need to: -* Go to 'Accounting / Adviser / Mass Automatic Reconcile'. +* Go to 'Invoicing / Accounting / Actions / Mass Automatic Reconcile'. * Create a new reconciliation profile, and select a new configuration entry with type 'Advanced. Product, purchase order line'. .. 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/11.0 + :target: https://runbot.odoo-community.org/runbot/98/12.0 Bug Tracker =========== @@ -32,7 +32,7 @@ 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. +help us smash it by providing detailed and welcomed feedback. Credits ======= diff --git a/account_mass_reconcile_by_purchase_line/__manifest__.py b/account_mass_reconcile_by_purchase_line/__manifest__.py index 418ae681..921c6ead 100644 --- a/account_mass_reconcile_by_purchase_line/__manifest__.py +++ b/account_mass_reconcile_by_purchase_line/__manifest__.py @@ -4,13 +4,13 @@ { "name": "Account Mass Reconcile by Purchase Line", "summary": "Allows to reconcile based on the PO line", - "version": "11.0.1.0.0", + "version": "12.0.1.0.0", "author": "Eficent, " "Odoo Community Association (OCA)", - "website": "https://github.com/OCA/bank-statement-reconcile", + "website": "https://github.com/OCA/account-reconcile", "category": "Finance", "depends": ["account_mass_reconcile", - "account_move_line_purchase_info" + "account_move_line_purchase_info", ], "license": "AGPL-3", "data": [ diff --git a/account_mass_reconcile_by_purchase_line/i18n/account_mass_reconcile_by_purchase_line.pot b/account_mass_reconcile_by_purchase_line/i18n/account_mass_reconcile_by_purchase_line.pot index 9ef22f27..262d3376 100644 --- a/account_mass_reconcile_by_purchase_line/i18n/account_mass_reconcile_by_purchase_line.pot +++ b/account_mass_reconcile_by_purchase_line/i18n/account_mass_reconcile_by_purchase_line.pot @@ -4,7 +4,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Odoo Server 11.0\n" +"Project-Id-Version: Odoo Server 12.0\n" "Report-Msgid-Bugs-To: \n" "Last-Translator: <>\n" "Language-Team: \n" diff --git a/account_mass_reconcile_by_purchase_line/readme/CONTRIBUTORS.rst b/account_mass_reconcile_by_purchase_line/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000..435bad2d --- /dev/null +++ b/account_mass_reconcile_by_purchase_line/readme/CONTRIBUTORS.rst @@ -0,0 +1,3 @@ +* Jordi Ballester Alomar +* Miquel Raïch +* Lois Rilo diff --git a/account_mass_reconcile_by_purchase_line/readme/DESCRIPTION.rst b/account_mass_reconcile_by_purchase_line/readme/DESCRIPTION.rst new file mode 100644 index 00000000..cfceadd4 --- /dev/null +++ b/account_mass_reconcile_by_purchase_line/readme/DESCRIPTION.rst @@ -0,0 +1,5 @@ +This module extends the functionality of account_mass_reconcile and +allow an user to reconcile debits and credits of an Account +using the PO Line and Product as key fields. This type of +reconciliation is to be used in the context of the Perpetual Inventory +accounting system, with the accrual account '*Goods Received Not Invoiced*'. diff --git a/account_mass_reconcile_by_purchase_line/readme/USAGE.rst b/account_mass_reconcile_by_purchase_line/readme/USAGE.rst new file mode 100644 index 00000000..cf838212 --- /dev/null +++ b/account_mass_reconcile_by_purchase_line/readme/USAGE.rst @@ -0,0 +1,6 @@ +To use this module, you need to: + +* Go to 'Invoicing / Accounting / Actions / Mass Automatic Reconcile'. + +* Create a new reconciliation profile, and select a new configuration entry + with type 'Advanced. Product, purchase order line'. diff --git a/account_mass_reconcile_by_purchase_line/views/mass_reconcile.xml b/account_mass_reconcile_by_purchase_line/views/mass_reconcile.xml index c1347cfe..ca749444 100644 --- a/account_mass_reconcile_by_purchase_line/views/mass_reconcile.xml +++ b/account_mass_reconcile_by_purchase_line/views/mass_reconcile.xml @@ -9,7 +9,7 @@ - From 71c3e202e123f1e8cc842cae5c5189f1875e57f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miquel=20Ra=C3=AFch?= Date: Wed, 8 Jun 2022 11:21:07 +0200 Subject: [PATCH 14/14] [FIX] account_banking_reconciliation: correct development_status key --- account_banking_reconciliation/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/account_banking_reconciliation/__manifest__.py b/account_banking_reconciliation/__manifest__.py index 2bdc6771..a17d928b 100644 --- a/account_banking_reconciliation/__manifest__.py +++ b/account_banking_reconciliation/__manifest__.py @@ -25,6 +25,6 @@ "report/report_bank_statement_summary.xml", "report/report_bank_statement_detail.xml"], "installable": True, - "development_status": "Stable", + "development_status": "Production/Stable", "maintainers": ["max3903"], }