Merge pull request #139 from mdietrichc2c/9.0-account-mass-reconcile-extension

9.0 account mass reconcile extension
This commit is contained in:
Joël Grand-Guillaume
2016-06-29 08:38:11 +02:00
committed by GitHub
34 changed files with 680 additions and 948 deletions

View File

@@ -1,23 +0,0 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Author: Matthieu Dietrich
# Copyright 2014 Camptocamp SA
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from . import easy_reconcile
from . import advanced_reconciliation

View File

@@ -1,45 +0,0 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Author: Matthieu Dietrich
# Copyright 2014 Camptocamp SA
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
{'name': 'Advanced Reconcile Bank Statement',
'description': """
Advanced reconciliation method for the module account_advanced_reconcile
========================================================================
Reconcile rules with bank statement name.
This will reconcile multiple credit move lines (bank statements) with
all the lines from a specific bank statement, debit or credit (to also
reconcile the commission with credit card imports).
""",
'version': '1.0.0',
'author': "Camptocamp,Odoo Community Association (OCA)",
'category': 'Finance',
'website': 'http://www.camptocamp.com',
'license': 'AGPL-3',
'depends': ['account_advanced_reconcile'],
'data': ['easy_reconcile_view.xml'],
'demo': [],
'test': [],
'auto_install': False,
'installable': False,
'images': []
}

View File

@@ -1,81 +0,0 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Author: Matthieu Dietrich. Copyright Camptocamp SA
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp.osv import orm
class easy_reconcile_advanced_bank_statement(orm.TransientModel):
_name = 'easy.reconcile.advanced.bank_statement'
_inherit = 'easy.reconcile.advanced'
def _base_columns(self, rec):
""" Mandatory columns for move lines queries
An extra column aliased as ``key`` should be defined
in each query."""
aml_cols = super(easy_reconcile_advanced_bank_statement, self).\
_base_columns(rec)
aml_cols += ['account_move_line.statement_id',
'account_bank_statement.name as statement_name',
]
return aml_cols
def _from(self, rec, *args, **kwargs):
result = super(easy_reconcile_advanced_bank_statement, self).\
_from(rec, *args, **kwargs)
result = result + (
" INNER JOIN account_bank_statement "
"ON account_bank_statement.id = account_move_line.statement_id "
)
return result
def _skip_line(self, cr, uid, rec, move_line, context=None):
"""
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.
"""
result = super(easy_reconcile_advanced_bank_statement, self).\
_skip_line(cr, uid, rec, move_line, context=context)
if result:
return result
return not (move_line.get('ref') and
move_line.get('partner_id'))
def _matchers(self, cr, uid, rec, move_line, context=None):
return (('partner_id', move_line['partner_id']),
('ref', move_line['ref'].lower().strip()))
def _opposite_matchers(self, cr, uid, rec, move_line, context=None):
yield ('partner_id', move_line['partner_id'])
yield ('ref',
(move_line['statement_name'] or '').lower().strip())
# Re-defined for this particular rule; since the commission line is a
# credit line inside of the target statement, it should also be considered
# as an opposite to be reconciled.
# And also, given some are refunds, debit lines can be "credit".
def _action_rec(self, cr, uid, rec, context=None):
credit_lines = self._query_credit(cr, uid, rec, context=context)
debit_lines = self._query_debit(cr, uid, rec, context=context)
return self._rec_auto_lines_advanced(cr, uid, rec,
credit_lines + debit_lines,
credit_lines + debit_lines,
context=context)

View File

@@ -1,36 +0,0 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Author: Matthieu Dietrich
# Copyright 2014 Camptocamp SA
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp.osv import orm
class account_easy_reconcile_method(orm.Model):
_inherit = 'account.easy.reconcile.method'
def _get_all_rec_method(self, cr, uid, context=None):
methods = super(account_easy_reconcile_method, self).\
_get_all_rec_method(cr, uid, context=context)
methods += [
('easy.reconcile.advanced.bank_statement',
'Advanced. Partner and Bank Statement'),
]
return methods

View File

@@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="0">
<record id="view_easy_reconcile_form" model="ir.ui.view">
<field name="name">account.easy.reconcile.form</field>
<field name="model">account.easy.reconcile</field>
<field name="inherit_id" ref="account_easy_reconcile.account_easy_reconcile_form"/>
<field name="arch" type="xml">
<page name="information" position="inside">
<group colspan="2" col="2">
<separator colspan="4" string="Advanced. Partner and Bank Statement"/>
<label string="Match multiple debit vs multiple credit entries. Allow partial reconciliation.
The lines should have the partner, the credit entry reference is matched vs the debit entry bank statement name." colspan="4"/>
</group>
</page>
</field>
</record>
</data>
</openerp>

View File

@@ -1,107 +0,0 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * account_advanced_reconcile_bank_statement
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-27 08:36+0000\n"
"PO-Revision-Date: 2014-05-27 08:36+0000\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_advanced_reconcile_bank_statement
#: field:easy.reconcile.advanced.bank_statement,filter:0
#: model:ir.model.fields,field_description:account_advanced_reconcile_bank_statement.field_easy_reconcile_advanced_bank_statement_filter
msgid "Filter"
msgstr ""
#. module: account_advanced_reconcile_bank_statement
#: field:easy.reconcile.advanced.bank_statement,account_id:0
#: model:ir.model.fields,field_description:account_advanced_reconcile_bank_statement.field_easy_reconcile_advanced_bank_statement_account_id
msgid "Account"
msgstr ""
#. module: account_advanced_reconcile_bank_statement
#: field:easy.reconcile.advanced.bank_statement,partner_ids:0
#: model:ir.model.fields,field_description:account_advanced_reconcile_bank_statement.field_easy_reconcile_advanced_bank_statement_partner_ids
msgid "Restrict on partners"
msgstr ""
#. module: account_advanced_reconcile_bank_statement
#: code:_description:0
#: model:ir.model,name:account_advanced_reconcile_bank_statement.model_easy_reconcile_advanced_bank_statement
#, python-format
msgid "easy.reconcile.advanced.bank_statement"
msgstr ""
#. module: account_advanced_reconcile_bank_statement
#: view:account.easy.reconcile:0
msgid "Match multiple debit vs multiple credit entries. Allow partial reconciliation. The lines should have the partner, the credit entry reference is matched vs the debit entry bank statement name."
msgstr ""
#. module: account_advanced_reconcile_bank_statement
#: field:easy.reconcile.advanced.bank_statement,journal_id:0
#: model:ir.model.fields,field_description:account_advanced_reconcile_bank_statement.field_easy_reconcile_advanced_bank_statement_journal_id
msgid "Journal"
msgstr ""
#. module: account_advanced_reconcile_bank_statement
#: field:easy.reconcile.advanced.bank_statement,account_profit_id:0
#: model:ir.model.fields,field_description:account_advanced_reconcile_bank_statement.field_easy_reconcile_advanced_bank_statement_account_profit_id
msgid "Account Profit"
msgstr ""
#. module: account_advanced_reconcile_bank_statement
#: field:easy.reconcile.advanced.bank_statement,analytic_account_id:0
#: model:ir.model.fields,field_description:account_advanced_reconcile_bank_statement.field_easy_reconcile_advanced_bank_statement_analytic_account_id
msgid "Analytic Account"
msgstr ""
#. module: account_advanced_reconcile_bank_statement
#: code:_description:0
#: model:ir.model,name:account_advanced_reconcile_bank_statement.model_account_easy_reconcile_method
#, python-format
msgid "reconcile method for account_easy_reconcile"
msgstr ""
#. module: account_advanced_reconcile_bank_statement
#: field:easy.reconcile.advanced.bank_statement,date_base_on:0
#: model:ir.model.fields,field_description:account_advanced_reconcile_bank_statement.field_easy_reconcile_advanced_bank_statement_date_base_on
msgid "Date of reconciliation"
msgstr ""
#. module: account_advanced_reconcile_bank_statement
#: help:easy.reconcile.advanced.bank_statement,analytic_account_id:0
msgid "Analytic account for the write-off"
msgstr ""
#. module: account_advanced_reconcile_bank_statement
#: view:account.easy.reconcile:0
msgid "Advanced. Partner and Bank Statement"
msgstr ""
#. module: account_advanced_reconcile_bank_statement
#: code:_description:0
#: model:ir.model,name:account_advanced_reconcile_bank_statement.model_easy_reconcile_advanced
#, python-format
msgid "easy.reconcile.advanced"
msgstr ""
#. module: account_advanced_reconcile_bank_statement
#: field:easy.reconcile.advanced.bank_statement,account_lost_id:0
#: model:ir.model.fields,field_description:account_advanced_reconcile_bank_statement.field_easy_reconcile_advanced_bank_statement_account_lost_id
msgid "Account Lost"
msgstr ""
#. module: account_advanced_reconcile_bank_statement
#: field:easy.reconcile.advanced.bank_statement,write_off:0
#: model:ir.model.fields,field_description:account_advanced_reconcile_bank_statement.field_easy_reconcile_advanced_bank_statement_write_off
msgid "Write off allowed"
msgstr ""

View File

@@ -1,103 +0,0 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * account_advanced_reconcile_bank_statement
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-27 08:36+0000\n"
"PO-Revision-Date: 2014-05-27 08:36+0000\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_advanced_reconcile_bank_statement
#: field:easy.reconcile.advanced.bank_statement,filter:0
#: model:ir.model.fields,field_description:account_advanced_reconcile_bank_statement.field_easy_reconcile_advanced_bank_statement_filter
msgid "Filter"
msgstr "Filtre"
#. module: account_advanced_reconcile_bank_statement
#: field:easy.reconcile.advanced.bank_statement,account_id:0
#: model:ir.model.fields,field_description:account_advanced_reconcile_bank_statement.field_easy_reconcile_advanced_bank_statement_account_id
msgid "Account"
msgstr "Compte"
#. module: account_advanced_reconcile_bank_statement
#: field:easy.reconcile.advanced.bank_statement,partner_ids:0
#: model:ir.model.fields,field_description:account_advanced_reconcile_bank_statement.field_easy_reconcile_advanced_bank_statement_partner_ids
msgid "Restrict on partners"
msgstr "Restriction sur les partenaires"
#. module: account_advanced_reconcile_bank_statement
#: code:_description:0
#: model:ir.model,name:account_advanced_reconcile_bank_statement.model_easy_reconcile_advanced_bank_statement
#, python-format
msgid "easy.reconcile.advanced.bank_statement"
msgstr "easy.reconcile.advanced.bank_statement"
#. module: account_advanced_reconcile_bank_statement
#: view:account.easy.reconcile:0
msgid ""
"Match multiple debit vs multiple credit entries. Allow partial "
"reconciliation. The lines should have the partner, the credit entry "
"reference is matched vs the debit entry bank statement name."
msgstr ""
"Le lettrage peut s'effectuer sur plusieurs écritures de débit et crédit. Le "
"lettrage partiel est autorisé. Les écritures doivent avoir le même "
"partenaire et la référence sur les écritures de crédit doit se retrouver
"dans le nom du relevé bancaire des écritures de débit."
#. module: account_advanced_reconcile_bank_statement
#: field:easy.reconcile.advanced.bank_statement,journal_id:0
#: model:ir.model.fields,field_description:account_advanced_reconcile_bank_statement.field_easy_reconcile_advanced_bank_statement_journal_id
msgid "Journal"
msgstr "Journal"
#. module: account_advanced_reconcile_bank_statement
#: field:easy.reconcile.advanced.bank_statement,account_profit_id:0
#: model:ir.model.fields,field_description:account_advanced_reconcile_bank_statement.field_easy_reconcile_advanced_bank_statement_account_profit_id
msgid "Account Profit"
msgstr "Compte de produit"
#. module: account_advanced_reconcile_bank_statement
#: code:_description:0
#: model:ir.model,name:account_advanced_reconcile_bank_statement.model_account_easy_reconcile_method
#, python-format
msgid "reconcile method for account_easy_reconcile"
msgstr "Méthode de lettrage pour le module account_easy_reconcile"
#. module: account_advanced_reconcile_bank_statement
#: field:easy.reconcile.advanced.bank_statement,date_base_on:0
#: model:ir.model.fields,field_description:account_advanced_reconcile_bank_statement.field_easy_reconcile_advanced_bank_statement_date_base_on
msgid "Date of reconciliation"
msgstr "Date de lettrage"
#. module: account_advanced_reconcile_bank_statement
#: view:account.easy.reconcile:0
msgid "Advanced. Partner and Bank Statement"
msgstr "Avancé. Partenaire et Relevé Bancaire"
#. module: account_advanced_reconcile_bank_statement
#: code:_description:0
#: model:ir.model,name:account_advanced_reconcile_bank_statement.model_easy_reconcile_advanced
#, python-format
msgid "easy.reconcile.advanced"
msgstr "easy.reconcile.advanced"
#. module: account_advanced_reconcile_bank_statement
#: field:easy.reconcile.advanced.bank_statement,account_lost_id:0
#: model:ir.model.fields,field_description:account_advanced_reconcile_bank_statement.field_easy_reconcile_advanced_bank_statement_account_lost_id
msgid "Account Lost"
msgstr "Compte de charge"
#. module: account_advanced_reconcile_bank_statement
#: field:easy.reconcile.advanced.bank_statement,write_off:0
#: model:ir.model.fields,field_description:account_advanced_reconcile_bank_statement.field_easy_reconcile_advanced_bank_statement_write_off
msgid "Write off allowed"
msgstr "Ecart autorisé"

View File

@@ -1,23 +0,0 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Author: Romain Deheele. Copyright Camptocamp SA
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from . import easy_reconcile
from . import base_advanced_reconciliation
from . import advanced_reconciliation

View File

@@ -1,40 +0,0 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Author: Romain Deheele. Copyright Camptocamp SA
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
{'name': 'Advanced Reconcile Transaction Ref',
'description': """
Advanced reconciliation method for the module account_advanced_reconcile
========================================================================
Reconcile rules with transaction_ref
""",
'version': '1.0.1',
'author': "Camptocamp,Odoo Community Association (OCA)",
'category': 'Finance',
'website': 'http://www.camptocamp.com',
'license': 'AGPL-3',
'depends': ['account_advanced_reconcile'],
'data': ['easy_reconcile_view.xml'],
'demo': [],
'test': [], # To be ported or migrate to unit tests or scenarios
'auto_install': False,
'installable': False,
'images': []
}

View File

@@ -1,66 +0,0 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Author: Romain Deheele. Copyright Camptocamp SA
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp.osv import orm
class easy_reconcile_advanced_transaction_ref(orm.TransientModel):
_name = 'easy.reconcile.advanced.transaction_ref'
_inherit = 'easy.reconcile.advanced'
def _skip_line(self, cr, uid, rec, move_line, context=None):
"""
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('transaction_ref') and
move_line.get('partner_id'))
def _matchers(self, cr, uid, rec, move_line, context=None):
return (('partner_id', move_line['partner_id']),
('ref', move_line['transaction_ref'].lower().strip()))
def _opposite_matchers(self, cr, uid, rec, move_line, context=None):
yield ('partner_id', move_line['partner_id'])
yield ('ref', (move_line['transaction_ref'] or '').lower().strip())
class easy_reconcile_advanced_transaction_ref_vs_ref(orm.TransientModel):
_name = 'easy.reconcile.advanced.trans_ref_vs_ref'
_inherit = 'easy.reconcile.advanced'
def _skip_line(self, cr, uid, rec, move_line, context=None):
"""
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('ref') and move_line.get('partner_id'))
def _matchers(self, cr, uid, rec, move_line, context=None):
return (('partner_id', move_line['partner_id']),
('ref', move_line['ref'].lower().strip()))
def _opposite_matchers(self, cr, uid, rec, move_line, context=None):
yield ('partner_id', move_line['partner_id'])
yield ('ref', (move_line['transaction_ref'] or '').lower().strip())

View File

@@ -1,35 +0,0 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Author: Romain Deheele
# Copyright 2013 Camptocamp SA
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp.osv import orm
class EasyReconcileAdvanced(orm.AbstractModel):
_inherit = 'easy.reconcile.advanced'
def _base_columns(self, rec):
""" Mandatory columns for move lines queries
An extra column aliased as ``key`` should be defined
in each query."""
aml_cols = super(EasyReconcileAdvanced, self)._base_columns(rec)
aml_cols.append('account_move_line.transaction_ref')
return aml_cols

View File

@@ -1,38 +0,0 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Author: Romain Deheele
# Copyright 2013 Camptocamp SA
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp.osv import orm
class account_easy_reconcile_method(orm.Model):
_inherit = 'account.easy.reconcile.method'
def _get_all_rec_method(self, cr, uid, context=None):
methods = super(account_easy_reconcile_method, self).\
_get_all_rec_method(cr, uid, context=context)
methods += [
('easy.reconcile.advanced.transaction_ref',
'Advanced. Partner and Transaction Ref.'),
('easy.reconcile.advanced.trans_ref_vs_ref',
'Advanced. Partner and Transaction Ref. vs Ref.'),
]
return methods

View File

@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="0">
<record id="view_easy_reconcile_form" model="ir.ui.view">
<field name="name">account.easy.reconcile.form</field>
<field name="model">account.easy.reconcile</field>
<field name="inherit_id" ref="account_easy_reconcile.account_easy_reconcile_form"/>
<field name="arch" type="xml">
<page name="information" position="inside">
<group colspan="2" col="2">
<separator colspan="4" string="Advanced. Partner and Transaction Ref"/>
<label string="Match multiple debit vs multiple credit entries. Allow partial reconciliation.
The lines should have the partner, the credit entry transaction ref. is matched vs the debit entry transaction ref." colspan="4"/>
</group>
<group colspan="2" col="2">
<separator colspan="4" string="Advanced. Partner and Transaction Ref. vs Ref."/>
<label string="Match multiple debit vs multiple credit entries. Allow partial reconciliation.
The lines should have the partner, the credit entry reference is matched vs the debit entry transaction reference." colspan="4"/>
</group>
</page>
</field>
</record>
</data>
</openerp>

View File

@@ -1,97 +0,0 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * account_advanced_reconcile_transaction_ref
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-01-21 11:55+0000\n"
"PO-Revision-Date: 2014-01-21 11:55+0000\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_advanced_reconcile_transaction_ref
#: field:easy.reconcile.advanced.transaction_ref,partner_ids:0
msgid "Restrict on partners"
msgstr ""
#. module: account_advanced_reconcile_transaction_ref
#: field:easy.reconcile.advanced.transaction_ref,account_id:0
msgid "Account"
msgstr ""
#. module: account_advanced_reconcile_transaction_ref
#: view:account.easy.reconcile:0
msgid "Advanced. Partner and Transaction Ref"
msgstr ""
#. module: account_advanced_reconcile_transaction_ref
#: view:account.easy.reconcile:0
msgid "Match multiple debit vs multiple credit entries. Allow partial reconciliation. The lines should have the partner, the credit entry transaction ref. is matched vs the debit entry transaction ref. or name."
msgstr ""
#. module: account_advanced_reconcile_transaction_ref
#: model:ir.model,name:account_advanced_reconcile_transaction_ref.model_easy_reconcile_advanced_transaction_ref
msgid "easy.reconcile.advanced.transaction_ref"
msgstr ""
#. module: account_advanced_reconcile_transaction_ref
#: field:account.move.line,transaction_ref:0
msgid "Transaction Ref."
msgstr ""
#. module: account_advanced_reconcile_transaction_ref
#: field:easy.reconcile.advanced.transaction_ref,journal_id:0
msgid "Journal"
msgstr ""
#. module: account_advanced_reconcile_transaction_ref
#: field:easy.reconcile.advanced.transaction_ref,account_profit_id:0
msgid "Account Profit"
msgstr ""
#. module: account_advanced_reconcile_transaction_ref
#: model:ir.model,name:account_advanced_reconcile_transaction_ref.model_account_bank_statement
msgid "Bank Statement"
msgstr ""
#. module: account_advanced_reconcile_transaction_ref
#: field:easy.reconcile.advanced.transaction_ref,filter:0
msgid "Filter"
msgstr ""
#. module: account_advanced_reconcile_transaction_ref
#: model:ir.model,name:account_advanced_reconcile_transaction_ref.model_account_easy_reconcile_method
msgid "reconcile method for account_easy_reconcile"
msgstr ""
#. module: account_advanced_reconcile_transaction_ref
#: field:easy.reconcile.advanced.transaction_ref,date_base_on:0
msgid "Date of reconciliation"
msgstr ""
#. module: account_advanced_reconcile_transaction_ref
#: model:ir.model,name:account_advanced_reconcile_transaction_ref.model_account_move_line
msgid "Journal Items"
msgstr ""
#. module: account_advanced_reconcile_transaction_ref
#: model:ir.model,name:account_advanced_reconcile_transaction_ref.model_easy_reconcile_advanced
msgid "easy.reconcile.advanced"
msgstr ""
#. module: account_advanced_reconcile_transaction_ref
#: field:easy.reconcile.advanced.transaction_ref,account_lost_id:0
msgid "Account Lost"
msgstr ""
#. module: account_advanced_reconcile_transaction_ref
#: field:easy.reconcile.advanced.transaction_ref,write_off:0
msgid "Write off allowed"
msgstr ""

View File

@@ -1,105 +0,0 @@
# Spanish translation for banking-addons
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
# This file is distributed under the same license as the banking-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
#
msgid ""
msgstr ""
"Project-Id-Version: banking-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2014-01-21 11:55+0000\n"
"PO-Revision-Date: 2014-06-05 22:39+0000\n"
"Last-Translator: Pedro Manuel Baeza <pedro.baeza@gmail.com>\n"
"Language-Team: Spanish <es@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-06-06 06:36+0000\n"
"X-Generator: Launchpad (build 17031)\n"
#. module: account_advanced_reconcile_transaction_ref
#: field:easy.reconcile.advanced.transaction_ref,partner_ids:0
msgid "Restrict on partners"
msgstr "Restringir a las empresas"
#. module: account_advanced_reconcile_transaction_ref
#: field:easy.reconcile.advanced.transaction_ref,account_id:0
msgid "Account"
msgstr "Cuenta"
#. module: account_advanced_reconcile_transaction_ref
#: view:account.easy.reconcile:0
msgid "Advanced. Partner and Transaction Ref"
msgstr "Avanzada. Empresa y referencia de transacción"
#. module: account_advanced_reconcile_transaction_ref
#: view:account.easy.reconcile:0
msgid ""
"Match multiple debit vs multiple credit entries. Allow partial "
"reconciliation. The lines should have the partner, the credit entry "
"transaction ref. is matched vs the debit entry transaction ref. or name."
msgstr ""
"Casa múltiples líneas del debe con múltiples líneas del haber. Permite "
"conciliación parcial. Las líneas deben tener la empresa, la referencia de la "
"transacción de la línea del haber se casa contra la referencia de la "
"transacción de la línea del debe o el nombre."
#. module: account_advanced_reconcile_transaction_ref
#: model:ir.model,name:account_advanced_reconcile_transaction_ref.model_easy_reconcile_advanced_transaction_ref
msgid "easy.reconcile.advanced.transaction_ref"
msgstr "easy.reconcile.advanced.transaction_ref"
#. module: account_advanced_reconcile_transaction_ref
#: field:account.move.line,transaction_ref:0
msgid "Transaction Ref."
msgstr "Referencia de transacción"
#. module: account_advanced_reconcile_transaction_ref
#: field:easy.reconcile.advanced.transaction_ref,journal_id:0
msgid "Journal"
msgstr "Diario"
#. module: account_advanced_reconcile_transaction_ref
#: field:easy.reconcile.advanced.transaction_ref,account_profit_id:0
msgid "Account Profit"
msgstr "Cuenta de ganancias"
#. module: account_advanced_reconcile_transaction_ref
#: model:ir.model,name:account_advanced_reconcile_transaction_ref.model_account_bank_statement
msgid "Bank Statement"
msgstr "Extracto bancario"
#. module: account_advanced_reconcile_transaction_ref
#: field:easy.reconcile.advanced.transaction_ref,filter:0
msgid "Filter"
msgstr "Filtro"
#. module: account_advanced_reconcile_transaction_ref
#: model:ir.model,name:account_advanced_reconcile_transaction_ref.model_account_easy_reconcile_method
msgid "reconcile method for account_easy_reconcile"
msgstr "método de conciliación para account_easy_reconcile"
#. module: account_advanced_reconcile_transaction_ref
#: field:easy.reconcile.advanced.transaction_ref,date_base_on:0
msgid "Date of reconciliation"
msgstr "Fecha de conciliación"
#. module: account_advanced_reconcile_transaction_ref
#: model:ir.model,name:account_advanced_reconcile_transaction_ref.model_account_move_line
msgid "Journal Items"
msgstr "Apuntes contables"
#. module: account_advanced_reconcile_transaction_ref
#: model:ir.model,name:account_advanced_reconcile_transaction_ref.model_easy_reconcile_advanced
msgid "easy.reconcile.advanced"
msgstr "easy.reconcile.advanced"
#. module: account_advanced_reconcile_transaction_ref
#: field:easy.reconcile.advanced.transaction_ref,account_lost_id:0
msgid "Account Lost"
msgstr "Cuenta de pérdidas"
#. module: account_advanced_reconcile_transaction_ref
#: field:easy.reconcile.advanced.transaction_ref,write_off:0
msgid "Write off allowed"
msgstr "Desajuste permitido"

View File

@@ -1,106 +0,0 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * account_advanced_reconcile_transaction_ref
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-01-21 11:55+0000\n"
"PO-Revision-Date: 2014-03-21 15:25+0000\n"
"Last-Translator: Vincent Renaville@camptocamp "
"<vincent.renaville@camptocamp.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-05-22 06:49+0000\n"
"X-Generator: Launchpad (build 17017)\n"
#. module: account_advanced_reconcile_transaction_ref
#: field:easy.reconcile.advanced.transaction_ref,partner_ids:0
msgid "Restrict on partners"
msgstr "Restriction sur les partenaires"
#. module: account_advanced_reconcile_transaction_ref
#: field:easy.reconcile.advanced.transaction_ref,account_id:0
msgid "Account"
msgstr "Compte"
#. module: account_advanced_reconcile_transaction_ref
#: view:account.easy.reconcile:0
msgid "Advanced. Partner and Transaction Ref"
msgstr "Avancé. Partenaire et Référence de transaction"
#. module: account_advanced_reconcile_transaction_ref
#: view:account.easy.reconcile:0
msgid ""
"Match multiple debit vs multiple credit entries. Allow partial "
"reconciliation. The lines should have the partner, the credit entry "
"transaction ref. is matched vs the debit entry transaction ref. or name."
msgstr ""
"Le lettrage peut s'effectuer sur plusieurs écritures de débit et crédit. Le "
"Lettrage partiel est autorisé. Les écritures doivent avoir le même "
"partenaire et la même référence de transaction sur les écritures de crédit "
"doit se retrouver dans la référence de transaction ou la description sur les "
"écritures de débit."
#. module: account_advanced_reconcile_transaction_ref
#: model:ir.model,name:account_advanced_reconcile_transaction_ref.model_easy_reconcile_advanced_transaction_ref
msgid "easy.reconcile.advanced.transaction_ref"
msgstr "easy.reconcile.advanced.transaction_ref"
#. module: account_advanced_reconcile_transaction_ref
#: field:account.move.line,transaction_ref:0
msgid "Transaction Ref."
msgstr "Réf. de transaction"
#. module: account_advanced_reconcile_transaction_ref
#: field:easy.reconcile.advanced.transaction_ref,journal_id:0
msgid "Journal"
msgstr "Journal"
#. module: account_advanced_reconcile_transaction_ref
#: field:easy.reconcile.advanced.transaction_ref,account_profit_id:0
msgid "Account Profit"
msgstr "Compte de produit"
#. module: account_advanced_reconcile_transaction_ref
#: model:ir.model,name:account_advanced_reconcile_transaction_ref.model_account_bank_statement
msgid "Bank Statement"
msgstr "Relevé bancaire"
#. module: account_advanced_reconcile_transaction_ref
#: field:easy.reconcile.advanced.transaction_ref,filter:0
msgid "Filter"
msgstr "Filtre"
#. module: account_advanced_reconcile_transaction_ref
#: model:ir.model,name:account_advanced_reconcile_transaction_ref.model_account_easy_reconcile_method
msgid "reconcile method for account_easy_reconcile"
msgstr "Méthode de lettrage pour le module account_easy_reconcile"
#. module: account_advanced_reconcile_transaction_ref
#: field:easy.reconcile.advanced.transaction_ref,date_base_on:0
msgid "Date of reconciliation"
msgstr "Date de lettrage"
#. module: account_advanced_reconcile_transaction_ref
#: model:ir.model,name:account_advanced_reconcile_transaction_ref.model_account_move_line
msgid "Journal Items"
msgstr "Écritures comptables"
#. module: account_advanced_reconcile_transaction_ref
#: model:ir.model,name:account_advanced_reconcile_transaction_ref.model_easy_reconcile_advanced
msgid "easy.reconcile.advanced"
msgstr "easy.reconcile.advanced"
#. module: account_advanced_reconcile_transaction_ref
#: field:easy.reconcile.advanced.transaction_ref,account_lost_id:0
msgid "Account Lost"
msgstr "Compte de charge"
#. module: account_advanced_reconcile_transaction_ref
#: field:easy.reconcile.advanced.transaction_ref,write_off:0
msgid "Write off allowed"
msgstr "Ecart autorisé"

View File

@@ -0,0 +1,51 @@
.. 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
==============================
Mass Reconcile Ref Deep Search
==============================
This module extends the functionality of account_mass_reconcile
and allows to search the credit entry ref inside the debit entry ref,
instead of an exact match.
.. 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
<https://github.com/OCA/bank-statement-reconcile/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 <https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg>`_.
Contributors
------------
* Matthieu Dietrich <matthieu.dietrich@camptocamp.com>
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.

View File

@@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
# © 2015-2016 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
from . import models

View File

@@ -0,0 +1,19 @@
# -*- coding: utf-8 -*-
# © 2015-2016 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
{
'name': 'Mass Reconcile Ref Deep Search',
'version': '9.0.1.0.0',
'author': "Camptocamp,Odoo Community Association (OCA)",
'category': 'Finance',
'website': 'http://www.camptocamp.com',
'depends': ['account_mass_reconcile'],
'data': [
'views/mass_reconcile_view.xml'
],
'demo': [],
'test': [],
'auto_install': False,
'installable': True,
'images': []
}

View File

@@ -0,0 +1,5 @@
# -*- coding: utf-8 -*-
# © 2015-2016 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
from . import mass_reconcile
from . import advanced_reconciliation

View File

@@ -0,0 +1,58 @@
# -*- coding: utf-8 -*-
# © 2015-2016 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
from openerp import _, models
from itertools import product
class MassReconciledAdvancedRefDeepSearch(models.TransientModel):
_name = 'mass.reconcile.advanced.ref.deep.search'
_inherit = 'mass.reconcile.advanced.ref'
@staticmethod
def _compare_values(key, value, opposite_value):
"""Can be inherited to modify the equality condition
specifically according to the matcher key (maybe using
a like operator instead of equality on 'ref' as instance)
"""
# consider that empty vals are not valid matchers
# it can still be inherited for some special cases
# where it would be allowed
if not (value and opposite_value):
return False
if value == opposite_value or \
(key == 'ref' and value in opposite_value):
return True
return False
@staticmethod
def _compare_matcher_values(key, values, opposite_values):
""" Compare every values from a matcher vs an opposite matcher
and return True if it matches
"""
for value, ovalue in product(values, opposite_values):
# we do not need to compare all values, if one matches
# we are done
if MassReconciledAdvancedRefDeepSearch._compare_values(
key, value, ovalue):
return True
return False
@staticmethod
def _compare_matchers(matcher, opposite_matcher):
"""
Prepare and check the matchers to compare
"""
mkey, mvalue = matcher
omkey, omvalue = opposite_matcher
assert mkey == omkey, \
(_("A matcher %s is compared with a matcher %s, the _matchers and "
"_opposite_matchers are probably wrong") % (mkey, omkey))
if not isinstance(mvalue, (list, tuple)):
mvalue = mvalue,
if not isinstance(omvalue, (list, tuple)):
omvalue = omvalue,
return MassReconciledAdvancedRefDeepSearch.\
_compare_matcher_values(mkey, mvalue, omvalue)

View File

@@ -0,0 +1,19 @@
# -*- coding: utf-8 -*-
# © 2015-2016 Camptocamp SA
# License AGPL-3.0 or later (http://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):
_super = super(AccountMassReconcileMethod, self)
methods = _super.get_all_rec_method()
methods += [
('mass.reconcile.advanced.ref.deep.search',
'Advanced. Partner and Ref. Deep Search'),
]
return methods

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_mass_reconcile_form" model="ir.ui.view">
<field name="name">account.mass.reconcile.form</field>
<field name="model">account.mass.reconcile</field>
<field name="inherit_id" ref="account_mass_reconcile.account_mass_reconcile_form"/>
<field name="arch" type="xml">
<page name="information" position="inside">
<group colspan="2" col="2">
<separator colspan="4" string="Advanced. Partner and Ref Deep Search"/>
<label string="Match multiple debit vs multiple credit entries. Allow partial reconciliation.
The lines should have the partner, the credit entry ref is searched inside the debit entry ref." colspan="4"/>
</group>
</page>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,51 @@
.. 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
==============================
Mass Reconcile Transaction Ref
==============================
This module extends the functionality of account_mass_reconcile
to use the 'transaction_ref' field defined in base_transaction_id.
.. 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
<https://github.com/OCA/bank-statement-reconcile/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 <https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg>`_.
Contributors
------------
* Romain Deheele <romain.deheele@camptocamp.com>
* Matthieu Dietrich <matthieu.dietrich@camptocamp.com>
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.

View File

@@ -0,0 +1,4 @@
# -*- coding: utf-8 -*-
# © 2013-2016 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
from . import models

View File

@@ -0,0 +1,23 @@
# -*- coding: utf-8 -*-
# © 2013-2016 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
{
'name': 'Mass Reconcile Transaction Ref',
'version': '9.0.1.0.0',
'author': "Camptocamp,Odoo Community Association (OCA)",
'category': 'Finance',
'website': 'http://www.camptocamp.com',
'license': 'AGPL-3',
'depends': [
'account_mass_reconcile',
'base_transaction_id'
],
'data': [
'views/mass_reconcile_view.xml'
],
'demo': [],
'test': [],
'auto_install': False,
'installable': True,
'images': []
}

View File

@@ -0,0 +1,97 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * account_mass_reconcile_transaction_ref
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-01-21 11:55+0000\n"
"PO-Revision-Date: 2014-01-21 11:55+0000\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_transaction_ref
#: field:mass.reconcile.advanced.transaction_ref,partner_ids:0
msgid "Restrict on partners"
msgstr ""
#. module: account_mass_reconcile_transaction_ref
#: field:mass.reconcile.advanced.transaction_ref,account_id:0
msgid "Account"
msgstr ""
#. module: account_mass_reconcile_transaction_ref
#: view:account.mass.reconcile:0
msgid "Advanced. Partner and Transaction Ref"
msgstr ""
#. module: account_mass_reconcile_transaction_ref
#: view:account.mass.reconcile:0
msgid "Match multiple debit vs multiple credit entries. Allow partial reconciliation. The lines should have the partner, the credit entry transaction ref. is matched vs the debit entry transaction ref. or name."
msgstr ""
#. module: account_mass_reconcile_transaction_ref
#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_easy_reconcile_advanced_transaction_ref
msgid "mass.reconcile.advanced.transaction_ref"
msgstr ""
#. module: account_mass_reconcile_transaction_ref
#: field:account.move.line,transaction_ref:0
msgid "Transaction Ref."
msgstr ""
#. module: account_mass_reconcile_transaction_ref
#: field:mass.reconcile.advanced.transaction_ref,journal_id:0
msgid "Journal"
msgstr ""
#. module: account_mass_reconcile_transaction_ref
#: field:mass.reconcile.advanced.transaction_ref,account_profit_id:0
msgid "Account Profit"
msgstr ""
#. module: account_mass_reconcile_transaction_ref
#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_account_move
msgid "Account Move"
msgstr ""
#. module: account_mass_reconcile_transaction_ref
#: field:mass.reconcile.advanced.transaction_ref,filter:0
msgid "Filter"
msgstr ""
#. module: account_mass_reconcile_transaction_ref
#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_account_mass_reconcile_method
msgid "reconcile method for account_mass_reconcile"
msgstr ""
#. module: account_mass_reconcile_transaction_ref
#: field:mass.reconcile.advanced.transaction_ref,date_base_on:0
msgid "Date of reconciliation"
msgstr ""
#. module: account_mass_reconcile_transaction_ref
#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_account_move_line
msgid "Journal Items"
msgstr ""
#. module: account_mass_reconcile_transaction_ref
#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_easy_reconcile_advanced
msgid "mass.reconcile.advanced"
msgstr ""
#. module: account_mass_reconcile_transaction_ref
#: field:mass.reconcile.advanced.transaction_ref,account_lost_id:0
msgid "Account Lost"
msgstr ""
#. module: account_mass_reconcile_transaction_ref
#: field:mass.reconcile.advanced.transaction_ref,write_off:0
msgid "Write off allowed"
msgstr ""

View File

@@ -0,0 +1,105 @@
# Spanish translation for banking-addons
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
# This file is distributed under the same license as the banking-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
#
msgid ""
msgstr ""
"Project-Id-Version: banking-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2014-01-21 11:55+0000\n"
"PO-Revision-Date: 2014-06-05 22:39+0000\n"
"Last-Translator: Pedro Manuel Baeza <pedro.baeza@gmail.com>\n"
"Language-Team: Spanish <es@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-06-06 06:36+0000\n"
"X-Generator: Launchpad (build 17031)\n"
#. module: account_mass_reconcile_transaction_ref
#: field:mass.reconcile.advanced.transaction_ref,partner_ids:0
msgid "Restrict on partners"
msgstr "Restringir a las empresas"
#. module: account_mass_reconcile_transaction_ref
#: field:mass.reconcile.advanced.transaction_ref,account_id:0
msgid "Account"
msgstr "Cuenta"
#. module: account_mass_reconcile_transaction_ref
#: view:account.mass.reconcile:0
msgid "Advanced. Partner and Transaction Ref"
msgstr "Avanzada. Empresa y referencia de transacción"
#. module: account_mass_reconcile_transaction_ref
#: view:account.mass.reconcile:0
msgid ""
"Match multiple debit vs multiple credit entries. Allow partial "
"reconciliation. The lines should have the partner, the credit entry "
"transaction ref. is matched vs the debit entry transaction ref. or name."
msgstr ""
"Casa múltiples líneas del debe con múltiples líneas del haber. Permite "
"conciliación parcial. Las líneas deben tener la empresa, la referencia de la "
"transacción de la línea del haber se casa contra la referencia de la "
"transacción de la línea del debe o el nombre."
#. module: account_mass_reconcile_transaction_ref
#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_mass_reconcile_advanced_transaction_ref
msgid "mass.reconcile.advanced.transaction_ref"
msgstr "mass.reconcile.advanced.transaction_ref"
#. module: account_mass_reconcile_transaction_ref
#: field:account.move.line,transaction_ref:0
msgid "Transaction Ref."
msgstr "Referencia de transacción"
#. module: account_mass_reconcile_transaction_ref
#: field:mass.reconcile.advanced.transaction_ref,journal_id:0
msgid "Journal"
msgstr "Diario"
#. module: account_mass_reconcile_transaction_ref
#: field:mass.reconcile.advanced.transaction_ref,account_profit_id:0
msgid "Account Profit"
msgstr "Cuenta de ganancias"
#. module: account_mass_reconcile_transaction_ref
#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_account_bank_statement
msgid "Bank Statement"
msgstr "Extracto bancario"
#. module: account_mass_reconcile_transaction_ref
#: field:mass.reconcile.advanced.transaction_ref,filter:0
msgid "Filter"
msgstr "Filtro"
#. module: account_mass_reconcile_transaction_ref
#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_account_mass_reconcile_method
msgid "reconcile method for account_mass_reconcile"
msgstr "método de conciliación para account_mass_reconcile"
#. module: account_mass_reconcile_transaction_ref
#: field:mass.reconcile.advanced.transaction_ref,date_base_on:0
msgid "Date of reconciliation"
msgstr "Fecha de conciliación"
#. module: account_mass_reconcile_transaction_ref
#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_account_move_line
msgid "Journal Items"
msgstr "Apuntes contables"
#. module: account_mass_reconcile_transaction_ref
#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_mass_reconcile_advanced
msgid "mass.reconcile.advanced"
msgstr "mass.reconcile.advanced"
#. module: account_mass_reconcile_transaction_ref
#: field:mass.reconcile.advanced.transaction_ref,account_lost_id:0
msgid "Account Lost"
msgstr "Cuenta de pérdidas"
#. module: account_mass_reconcile_transaction_ref
#: field:mass.reconcile.advanced.transaction_ref,write_off:0
msgid "Write off allowed"
msgstr "Desajuste permitido"

View File

@@ -0,0 +1,106 @@
# Translation of OpenERP Server.
# This file contains the translation of the following modules:
# * account_mass_reconcile_transaction_ref
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-01-21 11:55+0000\n"
"PO-Revision-Date: 2014-03-21 15:25+0000\n"
"Last-Translator: Vincent Renaville@camptocamp "
"<vincent.renaville@camptocamp.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-05-22 06:49+0000\n"
"X-Generator: Launchpad (build 17017)\n"
#. module: account_mass_reconcile_transaction_ref
#: field:mass.reconcile.advanced.transaction_ref,partner_ids:0
msgid "Restrict on partners"
msgstr "Restriction sur les partenaires"
#. module: account_mass_reconcile_transaction_ref
#: field:mass.reconcile.advanced.transaction_ref,account_id:0
msgid "Account"
msgstr "Compte"
#. module: account_mass_reconcile_transaction_ref
#: view:account.mass.reconcile:0
msgid "Advanced. Partner and Transaction Ref"
msgstr "Avancé. Partenaire et Référence de transaction"
#. module: account_mass_reconcile_transaction_ref
#: view:account.mass.reconcile:0
msgid ""
"Match multiple debit vs multiple credit entries. Allow partial "
"reconciliation. The lines should have the partner, the credit entry "
"transaction ref. is matched vs the debit entry transaction ref. or name."
msgstr ""
"Le lettrage peut s'effectuer sur plusieurs écritures de débit et crédit. Le "
"Lettrage partiel est autorisé. Les écritures doivent avoir le même "
"partenaire et la même référence de transaction sur les écritures de crédit "
"doit se retrouver dans la référence de transaction ou la description sur les "
"écritures de débit."
#. module: account_mass_reconcile_transaction_ref
#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_mass_reconcile_advanced_transaction_ref
msgid "mass.reconcile.advanced.transaction_ref"
msgstr "mass.reconcile.advanced.transaction_ref"
#. module: account_mass_reconcile_transaction_ref
#: field:account.move.line,transaction_ref:0
msgid "Transaction Ref."
msgstr "Réf. de transaction"
#. module: account_mass_reconcile_transaction_ref
#: field:mass.reconcile.advanced.transaction_ref,journal_id:0
msgid "Journal"
msgstr "Journal"
#. module: account_mass_reconcile_transaction_ref
#: field:mass.reconcile.advanced.transaction_ref,account_profit_id:0
msgid "Account Profit"
msgstr "Compte de produit"
#. module: account_mass_reconcile_transaction_ref
#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_account_bank_statement
msgid "Bank Statement"
msgstr "Relevé bancaire"
#. module: account_mass_reconcile_transaction_ref
#: field:mass.reconcile.advanced.transaction_ref,filter:0
msgid "Filter"
msgstr "Filtre"
#. module: account_mass_reconcile_transaction_ref
#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_account_mass_reconcile_method
msgid "reconcile method for account_mass_reconcile"
msgstr "Méthode de lettrage pour le module account_mass_reconcile"
#. module: account_mass_reconcile_transaction_ref
#: field:mass.reconcile.advanced.transaction_ref,date_base_on:0
msgid "Date of reconciliation"
msgstr "Date de lettrage"
#. module: account_mass_reconcile_transaction_ref
#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_account_move_line
msgid "Journal Items"
msgstr "Écritures comptables"
#. module: account_mass_reconcile_transaction_ref
#: model:ir.model,name:account_mass_reconcile_transaction_ref.model_mass_reconcile_advanced
msgid "mass.reconcile.advanced"
msgstr "mass.reconcile.advanced"
#. module: account_mass_reconcile_transaction_ref
#: field:mass.reconcile.advanced.transaction_ref,account_lost_id:0
msgid "Account Lost"
msgstr "Compte de charge"
#. module: account_mass_reconcile_transaction_ref
#: field:mass.reconcile.advanced.transaction_ref,write_off:0
msgid "Write off allowed"
msgstr "Ecart autorisé"

View File

@@ -0,0 +1,6 @@
# -*- coding: utf-8 -*-
# © 2013-2016 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
from . import mass_reconcile
from . import base_advanced_reconciliation
from . import advanced_reconciliation

View File

@@ -0,0 +1,55 @@
# -*- coding: utf-8 -*-
# © 2013-2016 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
from openerp import api, models
class MassReconcileAdvancedTransactionRef(models.TransientModel):
_name = 'mass.reconcile.advanced.transaction.ref'
_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('transaction_ref') and
move_line.get('partner_id'))
@api.multi
def _matchers(self, move_line):
return (('partner_id', move_line['partner_id']),
('ref', move_line['transaction_ref'].lower().strip()))
@api.multi
def _opposite_matchers(self, move_line):
yield ('partner_id', move_line['partner_id'])
yield ('ref', (move_line['transaction_ref'] or '').lower().strip())
class MassReconcileAdvancedTransactionRefVsRef(models.TransientModel):
_name = 'mass.reconcile.advanced.transaction.ref.vs.ref'
_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('ref') and move_line.get('partner_id'))
@api.multi
def _matchers(self, move_line):
return (('partner_id', move_line['partner_id']),
('ref', move_line['ref'].lower().strip()))
@api.multi
def _opposite_matchers(self, move_line):
yield ('partner_id', move_line['partner_id'])
yield ('ref', (move_line['transaction_ref'] or '').lower().strip())

View File

@@ -0,0 +1,17 @@
# -*- coding: utf-8 -*-
# © 2013-2016 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
from openerp 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.transaction_ref')
return aml_cols

View File

@@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
# © 2013-2016 Camptocamp SA
# License AGPL-3.0 or later (http://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):
_super = super(AccountMassReconcileMethod, self)
methods = _super._get_all_rec_method()
methods += [
('mass.reconcile.advanced.transaction_ref',
'Advanced. Partner and Transaction Ref.'),
('mass.reconcile.advanced.trans_ref_vs_ref',
'Advanced. Partner and Transaction Ref. vs Ref.'),
]
return methods

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_mass_reconcile_form" model="ir.ui.view">
<field name="name">account.mass.reconcile.form</field>
<field name="model">account.mass.reconcile</field>
<field name="inherit_id" ref="account_mass_reconcile.account_mass_reconcile_form"/>
<field name="arch" type="xml">
<page name="information" position="inside">
<group colspan="2" col="2">
<separator colspan="4" string="Advanced. Partner and Transaction Ref"/>
<label string="Match multiple debit vs multiple credit entries. Allow partial reconciliation.
The lines should have the partner, the credit entry transaction ref. is matched vs the debit entry transaction ref." colspan="4"/>
</group>
<group colspan="2" col="2">
<separator colspan="4" string="Advanced. Partner and Transaction Ref. vs Ref."/>
<label string="Match multiple debit vs multiple credit entries. Allow partial reconciliation.
The lines should have the partner, the credit entry reference is matched vs the debit entry transaction reference." colspan="4"/>
</group>
</page>
</field>
</record>
</odoo>