mirror of
https://github.com/OCA/account-reconcile.git
synced 2025-01-20 12:27:39 +02:00
[IMP] account_mass_reconcile: black, isort, prettier
This commit is contained in:
@@ -17,38 +17,35 @@ Account Mass Reconcile
|
||||
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
|
||||
:alt: License: AGPL-3
|
||||
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Faccount--reconcile-lightgray.png?logo=github
|
||||
:target: https://github.com/OCA/account-reconcile/tree/16.0/account_mass_reconcile
|
||||
:target: https://github.com/OCA/account-reconcile/tree/17.0/account_mass_reconcile
|
||||
:alt: OCA/account-reconcile
|
||||
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
|
||||
:target: https://translation.odoo-community.org/projects/account-reconcile-16-0/account-reconcile-16-0-account_mass_reconcile
|
||||
:target: https://translation.odoo-community.org/projects/account-reconcile-17-0/account-reconcile-17-0-account_mass_reconcile
|
||||
:alt: Translate me on Weblate
|
||||
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
|
||||
:target: https://runboat.odoo-community.org/builds?repo=OCA/account-reconcile&target_branch=16.0
|
||||
:target: https://runboat.odoo-community.org/builds?repo=OCA/account-reconcile&target_branch=17.0
|
||||
:alt: Try me on Runboat
|
||||
|
||||
|badge1| |badge2| |badge3| |badge4| |badge5|
|
||||
|
||||
This is a shared work between Akretion and Camptocamp
|
||||
in order to provide:
|
||||
This is a shared work between Akretion and Camptocamp in order to
|
||||
provide:
|
||||
|
||||
- Reconciliation facilities for big volume of transactions.
|
||||
- Setup different profiles of reconciliation by account.
|
||||
- Each profile can use many methods of reconciliation.
|
||||
- This module is also a base to create others
|
||||
reconciliation methods which can plug in the profiles.
|
||||
- A profile a reconciliation can be run manually
|
||||
or by a cron.
|
||||
- Monitoring of reconciliation runs with an history
|
||||
which keep track of the reconciled Journal items.
|
||||
- Reconciliation facilities for big volume of transactions.
|
||||
- Setup different profiles of reconciliation by account.
|
||||
- Each profile can use many methods of reconciliation.
|
||||
- This module is also a base to create others reconciliation methods
|
||||
which can plug in the profiles.
|
||||
- A profile a reconciliation can be run manually or by a cron.
|
||||
- Monitoring of reconciliation runs with an history which keep track of
|
||||
the reconciled Journal items.
|
||||
|
||||
2 simple reconciliation methods are integrated
|
||||
in this module, the simple reconciliations works
|
||||
on 2 lines (1 debit / 1 credit) and do not allow
|
||||
partial reconciliation, they also match on 1 key,
|
||||
partner or Journal item name. There is also an
|
||||
option for 'most recent move line' or
|
||||
'oldest move line' which is used to choose the
|
||||
move to be reconciled if more than one is found.
|
||||
2 simple reconciliation methods are integrated in this module, the
|
||||
simple reconciliations works on 2 lines (1 debit / 1 credit) and do not
|
||||
allow partial reconciliation, they also match on 1 key, partner or
|
||||
Journal item name. There is also an option for 'most recent move line'
|
||||
or 'oldest move line' which is used to choose the move to be reconciled
|
||||
if more than one is found.
|
||||
|
||||
**Table of contents**
|
||||
|
||||
@@ -68,7 +65,7 @@ Bug Tracker
|
||||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/account-reconcile/issues>`_.
|
||||
In case of trouble, please check there if your issue has already been reported.
|
||||
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
||||
`feedback <https://github.com/OCA/account-reconcile/issues/new?body=module:%20account_mass_reconcile%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
||||
`feedback <https://github.com/OCA/account-reconcile/issues/new?body=module:%20account_mass_reconcile%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
||||
|
||||
Do not contact contributors directly about support or help with technical issues.
|
||||
|
||||
@@ -76,44 +73,64 @@ Credits
|
||||
=======
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
-------
|
||||
|
||||
* Akretion
|
||||
* Camptocamp
|
||||
|
||||
Contributors
|
||||
~~~~~~~~~~~~
|
||||
------------
|
||||
|
||||
* Sébastien Beau <sebastien.beau@akretion.com>
|
||||
* Guewen Baconnier <guewen.baconnier@camptocamp.com>
|
||||
* Vincent Renaville <vincent.renaville@camptocamp.com>
|
||||
* Alexandre Fayolle <alexandre.fayolle@camptocamp.com>
|
||||
* Joël Grand-Guillaume <joel.grandguillaume@camptocamp.com>
|
||||
* Nicolas Bessi <nicolas.bessi@camptocamp.com>
|
||||
* Pedro M.Baeza <pedro.baeza@gmail.com>
|
||||
* Matthieu Dietrich <matthieu.dietrich@camptocamp.com>
|
||||
* Leonardo Pistone <leonardo.pistone@camptocamp.com>
|
||||
* Ecino <ecino@compassion.ch>
|
||||
* Yannick Vaucher <yannick.vaucher@camptocamp.com>
|
||||
* Rudolf Schnapka <rs@techno-flex.de>
|
||||
* Florian Dacosta <florian.dacosta@akretion.com>
|
||||
* Laetitia Gangloff <laetitia.gangloff@acsone.eu>
|
||||
* Frédéric Clémenti <frederic.clementi@camptocamp.com>
|
||||
* Damien Crier <damien.crier@camptocamp.com>
|
||||
* Akim Juillerat <akim.juillerat@camptocamp.com>
|
||||
* Mykhailo Panarin <m.panarin@mobilunity.com>
|
||||
* Adrià Gil Sorribes <adria.gil@forgeflow.com>
|
||||
* `Trobz <https://trobz.com>`_:
|
||||
- Sébastien Beau <sebastien.beau@akretion.com>
|
||||
|
||||
* Son Ho <sonhd@trobz.com>
|
||||
- Guewen Baconnier <guewen.baconnier@camptocamp.com>
|
||||
|
||||
- Vincent Renaville <vincent.renaville@camptocamp.com>
|
||||
|
||||
- Alexandre Fayolle <alexandre.fayolle@camptocamp.com>
|
||||
|
||||
- Joël Grand-Guillaume <joel.grandguillaume@camptocamp.com>
|
||||
|
||||
- Nicolas Bessi <nicolas.bessi@camptocamp.com>
|
||||
|
||||
- Pedro M.Baeza <pedro.baeza@gmail.com>
|
||||
|
||||
- Matthieu Dietrich <matthieu.dietrich@camptocamp.com>
|
||||
|
||||
- Leonardo Pistone <leonardo.pistone@camptocamp.com>
|
||||
|
||||
- Ecino <ecino@compassion.ch>
|
||||
|
||||
- Yannick Vaucher <yannick.vaucher@camptocamp.com>
|
||||
|
||||
- Rudolf Schnapka <rs@techno-flex.de>
|
||||
|
||||
- Florian Dacosta <florian.dacosta@akretion.com>
|
||||
|
||||
- Laetitia Gangloff <laetitia.gangloff@acsone.eu>
|
||||
|
||||
- Frédéric Clémenti <frederic.clementi@camptocamp.com>
|
||||
|
||||
- Damien Crier <damien.crier@camptocamp.com>
|
||||
|
||||
- Akim Juillerat <akim.juillerat@camptocamp.com>
|
||||
|
||||
- Mykhailo Panarin <m.panarin@mobilunity.com>
|
||||
|
||||
- Adrià Gil Sorribes <adria.gil@forgeflow.com>
|
||||
|
||||
- `Trobz <https://trobz.com>`__:
|
||||
|
||||
- Son Ho <sonhd@trobz.com>
|
||||
|
||||
Other credits
|
||||
~~~~~~~~~~~~~
|
||||
-------------
|
||||
|
||||
The migration of this module from 14.0 to 16.0 was financially supported by Camptocamp
|
||||
The migration of this module from 14.0 to 16.0 was financially supported
|
||||
by Camptocamp
|
||||
|
||||
Maintainers
|
||||
~~~~~~~~~~~
|
||||
-----------
|
||||
|
||||
This module is maintained by the OCA.
|
||||
|
||||
@@ -125,6 +142,6 @@ 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.
|
||||
|
||||
This module is part of the `OCA/account-reconcile <https://github.com/OCA/account-reconcile/tree/16.0/account_mass_reconcile>`_ project on GitHub.
|
||||
This module is part of the `OCA/account-reconcile <https://github.com/OCA/account-reconcile/tree/17.0/account_mass_reconcile>`_ project on GitHub.
|
||||
|
||||
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
|
||||
|
||||
@@ -112,7 +112,6 @@ class MassReconcileAdvancedRef(models.TransientModel):
|
||||
|
||||
|
||||
class MassReconcileAdvancedName(models.TransientModel):
|
||||
|
||||
_name = "mass.reconcile.advanced.name"
|
||||
_inherit = "mass.reconcile.advanced"
|
||||
_description = "Mass Reconcile Advanced Name"
|
||||
|
||||
@@ -222,7 +222,6 @@ class MassReconcileAdvanced(models.AbstractModel):
|
||||
def _rec_group(self, reconcile_groups, lines_by_id):
|
||||
reconciled_ids = []
|
||||
for group_count, reconcile_group_ids in enumerate(reconcile_groups, start=1):
|
||||
|
||||
_logger.debug(
|
||||
"Reconciling group %d/%d with ids %s",
|
||||
group_count,
|
||||
|
||||
@@ -56,7 +56,7 @@ class MassReconcileBase(models.AbstractModel):
|
||||
"reconciled",
|
||||
"move_id",
|
||||
)
|
||||
return ["account_move_line.{}".format(col) for col in aml_cols]
|
||||
return [f"account_move_line.{col}" for col in aml_cols]
|
||||
|
||||
def _selection_columns(self):
|
||||
return self._base_columns()
|
||||
|
||||
3
account_mass_reconcile/pyproject.toml
Normal file
3
account_mass_reconcile/pyproject.toml
Normal file
@@ -0,0 +1,3 @@
|
||||
[build-system]
|
||||
requires = ["whool"]
|
||||
build-backend = "whool.buildapi"
|
||||
41
account_mass_reconcile/readme/CONTRIBUTORS.md
Normal file
41
account_mass_reconcile/readme/CONTRIBUTORS.md
Normal file
@@ -0,0 +1,41 @@
|
||||
- Sébastien Beau \<<sebastien.beau@akretion.com>\>
|
||||
|
||||
- Guewen Baconnier \<<guewen.baconnier@camptocamp.com>\>
|
||||
|
||||
- Vincent Renaville \<<vincent.renaville@camptocamp.com>\>
|
||||
|
||||
- Alexandre Fayolle \<<alexandre.fayolle@camptocamp.com>\>
|
||||
|
||||
- Joël Grand-Guillaume \<<joel.grandguillaume@camptocamp.com>\>
|
||||
|
||||
- Nicolas Bessi \<<nicolas.bessi@camptocamp.com>\>
|
||||
|
||||
- Pedro M.Baeza \<<pedro.baeza@gmail.com>\>
|
||||
|
||||
- Matthieu Dietrich \<<matthieu.dietrich@camptocamp.com>\>
|
||||
|
||||
- Leonardo Pistone \<<leonardo.pistone@camptocamp.com>\>
|
||||
|
||||
- Ecino \<<ecino@compassion.ch>\>
|
||||
|
||||
- Yannick Vaucher \<<yannick.vaucher@camptocamp.com>\>
|
||||
|
||||
- Rudolf Schnapka \<<rs@techno-flex.de>\>
|
||||
|
||||
- Florian Dacosta \<<florian.dacosta@akretion.com>\>
|
||||
|
||||
- Laetitia Gangloff \<<laetitia.gangloff@acsone.eu>\>
|
||||
|
||||
- Frédéric Clémenti \<<frederic.clementi@camptocamp.com>\>
|
||||
|
||||
- Damien Crier \<<damien.crier@camptocamp.com>\>
|
||||
|
||||
- Akim Juillerat \<<akim.juillerat@camptocamp.com>\>
|
||||
|
||||
- Mykhailo Panarin \<<m.panarin@mobilunity.com>\>
|
||||
|
||||
- Adrià Gil Sorribes \<<adria.gil@forgeflow.com>\>
|
||||
|
||||
- [Trobz](https://trobz.com):
|
||||
|
||||
> - Son Ho \<<sonhd@trobz.com>\>
|
||||
@@ -1,22 +0,0 @@
|
||||
* Sébastien Beau <sebastien.beau@akretion.com>
|
||||
* Guewen Baconnier <guewen.baconnier@camptocamp.com>
|
||||
* Vincent Renaville <vincent.renaville@camptocamp.com>
|
||||
* Alexandre Fayolle <alexandre.fayolle@camptocamp.com>
|
||||
* Joël Grand-Guillaume <joel.grandguillaume@camptocamp.com>
|
||||
* Nicolas Bessi <nicolas.bessi@camptocamp.com>
|
||||
* Pedro M.Baeza <pedro.baeza@gmail.com>
|
||||
* Matthieu Dietrich <matthieu.dietrich@camptocamp.com>
|
||||
* Leonardo Pistone <leonardo.pistone@camptocamp.com>
|
||||
* Ecino <ecino@compassion.ch>
|
||||
* Yannick Vaucher <yannick.vaucher@camptocamp.com>
|
||||
* Rudolf Schnapka <rs@techno-flex.de>
|
||||
* Florian Dacosta <florian.dacosta@akretion.com>
|
||||
* Laetitia Gangloff <laetitia.gangloff@acsone.eu>
|
||||
* Frédéric Clémenti <frederic.clementi@camptocamp.com>
|
||||
* Damien Crier <damien.crier@camptocamp.com>
|
||||
* Akim Juillerat <akim.juillerat@camptocamp.com>
|
||||
* Mykhailo Panarin <m.panarin@mobilunity.com>
|
||||
* Adrià Gil Sorribes <adria.gil@forgeflow.com>
|
||||
* `Trobz <https://trobz.com>`_:
|
||||
|
||||
* Son Ho <sonhd@trobz.com>
|
||||
@@ -1 +1,2 @@
|
||||
The migration of this module from 14.0 to 16.0 was financially supported by Camptocamp
|
||||
The migration of this module from 14.0 to 16.0 was financially supported
|
||||
by Camptocamp
|
||||
18
account_mass_reconcile/readme/DESCRIPTION.md
Normal file
18
account_mass_reconcile/readme/DESCRIPTION.md
Normal file
@@ -0,0 +1,18 @@
|
||||
This is a shared work between Akretion and Camptocamp in order to
|
||||
provide:
|
||||
|
||||
- Reconciliation facilities for big volume of transactions.
|
||||
- Setup different profiles of reconciliation by account.
|
||||
- Each profile can use many methods of reconciliation.
|
||||
- This module is also a base to create others reconciliation methods
|
||||
which can plug in the profiles.
|
||||
- A profile a reconciliation can be run manually or by a cron.
|
||||
- Monitoring of reconciliation runs with an history which keep track of
|
||||
the reconciled Journal items.
|
||||
|
||||
2 simple reconciliation methods are integrated in this module, the
|
||||
simple reconciliations works on 2 lines (1 debit / 1 credit) and do not
|
||||
allow partial reconciliation, they also match on 1 key, partner or
|
||||
Journal item name. There is also an option for 'most recent move line'
|
||||
or 'oldest move line' which is used to choose the move to be reconciled
|
||||
if more than one is found.
|
||||
@@ -1,21 +0,0 @@
|
||||
This is a shared work between Akretion and Camptocamp
|
||||
in order to provide:
|
||||
|
||||
- Reconciliation facilities for big volume of transactions.
|
||||
- Setup different profiles of reconciliation by account.
|
||||
- Each profile can use many methods of reconciliation.
|
||||
- This module is also a base to create others
|
||||
reconciliation methods which can plug in the profiles.
|
||||
- A profile a reconciliation can be run manually
|
||||
or by a cron.
|
||||
- Monitoring of reconciliation runs with an history
|
||||
which keep track of the reconciled Journal items.
|
||||
|
||||
2 simple reconciliation methods are integrated
|
||||
in this module, the simple reconciliations works
|
||||
on 2 lines (1 debit / 1 credit) and do not allow
|
||||
partial reconciliation, they also match on 1 key,
|
||||
partner or Journal item name. There is also an
|
||||
option for 'most recent move line' or
|
||||
'oldest move line' which is used to choose the
|
||||
move to be reconciled if more than one is found.
|
||||
@@ -369,28 +369,25 @@ ul.auto-toc {
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! source digest: sha256:a6e5845147d3d215fc741401e37fcbed50974179194cf5f5fa8e71a7154b2a24
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/account-reconcile/tree/16.0/account_mass_reconcile"><img alt="OCA/account-reconcile" src="https://img.shields.io/badge/github-OCA%2Faccount--reconcile-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/account-reconcile-16-0/account-reconcile-16-0-account_mass_reconcile"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/account-reconcile&target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
||||
<p>This is a shared work between Akretion and Camptocamp
|
||||
in order to provide:</p>
|
||||
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/account-reconcile/tree/17.0/account_mass_reconcile"><img alt="OCA/account-reconcile" src="https://img.shields.io/badge/github-OCA%2Faccount--reconcile-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/account-reconcile-17-0/account-reconcile-17-0-account_mass_reconcile"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/account-reconcile&target_branch=17.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
||||
<p>This is a shared work between Akretion and Camptocamp in order to
|
||||
provide:</p>
|
||||
<ul class="simple">
|
||||
<li>Reconciliation facilities for big volume of transactions.</li>
|
||||
<li>Setup different profiles of reconciliation by account.</li>
|
||||
<li>Each profile can use many methods of reconciliation.</li>
|
||||
<li>This module is also a base to create others
|
||||
reconciliation methods which can plug in the profiles.</li>
|
||||
<li>A profile a reconciliation can be run manually
|
||||
or by a cron.</li>
|
||||
<li>Monitoring of reconciliation runs with an history
|
||||
which keep track of the reconciled Journal items.</li>
|
||||
<li>This module is also a base to create others reconciliation methods
|
||||
which can plug in the profiles.</li>
|
||||
<li>A profile a reconciliation can be run manually or by a cron.</li>
|
||||
<li>Monitoring of reconciliation runs with an history which keep track of
|
||||
the reconciled Journal items.</li>
|
||||
</ul>
|
||||
<p>2 simple reconciliation methods are integrated
|
||||
in this module, the simple reconciliations works
|
||||
on 2 lines (1 debit / 1 credit) and do not allow
|
||||
partial reconciliation, they also match on 1 key,
|
||||
partner or Journal item name. There is also an
|
||||
option for ‘most recent move line’ or
|
||||
‘oldest move line’ which is used to choose the
|
||||
move to be reconciled if more than one is found.</p>
|
||||
<p>2 simple reconciliation methods are integrated in this module, the
|
||||
simple reconciliations works on 2 lines (1 debit / 1 credit) and do not
|
||||
allow partial reconciliation, they also match on 1 key, partner or
|
||||
Journal item name. There is also an option for ‘most recent move line’
|
||||
or ‘oldest move line’ which is used to choose the move to be reconciled
|
||||
if more than one is found.</p>
|
||||
<p><strong>Table of contents</strong></p>
|
||||
<div class="contents local topic" id="contents">
|
||||
<ul class="simple">
|
||||
@@ -416,7 +413,7 @@ reconcile.</p>
|
||||
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/account-reconcile/issues">GitHub Issues</a>.
|
||||
In case of trouble, please check there if your issue has already been reported.
|
||||
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
||||
<a class="reference external" href="https://github.com/OCA/account-reconcile/issues/new?body=module:%20account_mass_reconcile%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
|
||||
<a class="reference external" href="https://github.com/OCA/account-reconcile/issues/new?body=module:%20account_mass_reconcile%0Aversion:%2017.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
|
||||
<p>Do not contact contributors directly about support or help with technical issues.</p>
|
||||
</div>
|
||||
<div class="section" id="credits">
|
||||
@@ -480,7 +477,8 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
|
||||
</div>
|
||||
<div class="section" id="other-credits">
|
||||
<h2><a class="toc-backref" href="#toc-entry-6">Other credits</a></h2>
|
||||
<p>The migration of this module from 14.0 to 16.0 was financially supported by Camptocamp</p>
|
||||
<p>The migration of this module from 14.0 to 16.0 was financially supported
|
||||
by Camptocamp</p>
|
||||
</div>
|
||||
<div class="section" id="maintainers">
|
||||
<h2><a class="toc-backref" href="#toc-entry-7">Maintainers</a></h2>
|
||||
@@ -489,7 +487,7 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
|
||||
<p>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.</p>
|
||||
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/account-reconcile/tree/16.0/account_mass_reconcile">OCA/account-reconcile</a> project on GitHub.</p>
|
||||
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/account-reconcile/tree/17.0/account_mass_reconcile">OCA/account-reconcile</a> project on GitHub.</p>
|
||||
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user