Skip to content

Commit

Permalink
Merge PR #41 into 14.0
Browse files Browse the repository at this point in the history
Signed-off-by dreispt
  • Loading branch information
OCA-git-bot committed Dec 28, 2023
2 parents f66bb8c + 9e6ff32 commit a1f383c
Show file tree
Hide file tree
Showing 45 changed files with 6,458 additions and 0 deletions.
125 changes: 125 additions & 0 deletions account_consolidation_oca/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
=====================
Account Consolidation
=====================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:9592ed01107dce615cd051b331076b9721662f7e1caf9006985d81fb19bea9f9
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
: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--consolidation-lightgray.png?logo=github
:target: https://github.com/OCA/account-consolidation/tree/14.0/account_consolidation_oca
:alt: OCA/account-consolidation
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/account-consolidation-14-0/account-consolidation-14-0-account_consolidation_oca
: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-consolidation&target_branch=14.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module extends the functionality of accounting to allow you to consolidate journal items in a consolidation company.

**Table of contents**

.. contents::
:local:

Configuration
=============

To install this module, you need the modules `currency_monthly_rate` to be
available in your system.

To configure this module, you need to flag a company as Consolidation in the
Accounting settings.

Then, you should define a consolidation difference account and a consolidation
journal on the consolidation company, and create consolidation profiles for
each subsidiary you want to consolidate.

For each subsidiary to consolidate, make sure the related partner of the
company has no company_id defined.

Afterwards, you should define a consolidation account from your consolidation
company, on every active account of the subsidiaries.

You can then use the 'Consolidation : Checks' wizard in Accounting > Adviser to
ensure every active account of your subsidiaries are set, and company partners
have no company defined.

Make sure you also defined currency rates and monthly currency rates on the
consolidation company for the currencies of your subsidiaries, as P&L accounts
are consolidated using monthly rates and B.S accounts using standard 'spot'
rates.


Known issues
============

* Consolidation manager has access to all the settings, or he wouldn't be able
to configure the module.
* Functional mapping of accounts is not tested. If no consolidation entries
are generated, it's probably because the balance of mapped accounts is 0
* Correctness of companies hierarchy in profile rest on user

Usage
=====

To consolidate subsidiaries in your consolidation company, you should use 'Consolidation : consolidate' wizard in Accounting > Adviser.

You have to select the month until which every account move will be processed, and select if you want to consolidate all the moves or only posted ones.

This will generate a journal entry in YTD (Year-To-Date) mode on your consolidation company for each subsidiary. Those entries are flagged as 'auto_post', so they will actually be posted when you run the consolidation the next time.

The generated journal entries are unposted, allowing you to modify or delete it to run the consolidation again.

Known issues / Roadmap
======================

* Implement a distinction on analytic accounts

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/account-consolidation/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-consolidation/issues/new?body=module:%20account_consolidation_oca%0Aversion:%2014.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.

Credits
=======

Authors
~~~~~~~

* Camptocamp

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

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-consolidation <https://github.com/OCA/account-consolidation/tree/14.0/account_consolidation_oca>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
3 changes: 3 additions & 0 deletions account_consolidation_oca/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from . import models
from . import wizard
from .hooks import post_init
36 changes: 36 additions & 0 deletions account_consolidation_oca/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Copyright 2011-2019 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

{
"name": "Account Consolidation",
"version": "14.0.1.0.0",
"author": "Camptocamp, Odoo Community Association (OCA)",
"license": "AGPL-3",
"category": "Generic Modules/Accounting",
"website": "https://github.com/OCA/account-consolidation",
"depends": [
"account",
"currency_monthly_rate",
],
"data": [
"security/res_groups.xml",
"security/account_consolidation_security.xml",
"security/ir.model.access.csv",
"views/account_move_line_view.xml",
"views/account_view.xml",
"views/company_consolidation_profile.xml",
"wizard/consolidation_check_view.xml",
"wizard/consolidation_consolidate_view.xml",
"views/consolidation_menu.xml",
"views/res_config_settings.xml",
],
"demo": [
"demo/company_demo.xml",
"demo/currency_demo.xml",
"demo/consolidation_demo.xml",
"demo/company_a_demo.xml",
"demo/company_b_demo.xml",
],
"post_init_hook": "post_init",
"installable": True,
}
97 changes: 97 additions & 0 deletions account_consolidation_oca/demo/company_a_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="subA_exp1" model="account.account">
<field name="code">EXP1</field>
<field name="name">Expenses 1</field>
<field name="user_type_id" ref="account.data_account_type_expenses" />
<field name="company_id" ref="subsidiary_a" />
<field name="consolidation_account_id" ref="conso_exp1" />
</record>
<record id="subA_exp2" model="account.account">
<field name="code">EXP2</field>
<field name="name">Expenses 2</field>
<field name="user_type_id" ref="account.data_account_type_expenses" />
<field name="company_id" ref="subsidiary_a" />
<field name="consolidation_account_id" ref="conso_exp2" />
</record>
<record id="subA_exp3" model="account.account">
<field name="code">EXP3</field>
<field name="name">Expenses 3</field>
<field name="user_type_id" ref="account.data_account_type_expenses" />
<field name="company_id" ref="subsidiary_a" />
<field name="consolidation_account_id" ref="conso_exp3" />
</record>
<record id="subA_rev1" model="account.account">
<field name="code">REV1</field>
<field name="name">Revenue 1</field>
<field name="user_type_id" ref="account.data_account_type_revenue" />
<field name="company_id" ref="subsidiary_a" />
<field name="consolidation_account_id" ref="conso_rev1" />
</record>
<record id="subA_rev2" model="account.account">
<field name="code">REV2</field>
<field name="name">Revenue 2</field>
<field name="user_type_id" ref="account.data_account_type_revenue" />
<field name="company_id" ref="subsidiary_a" />
<field name="consolidation_account_id" ref="conso_rev2" />
</record>
<record id="subA_ass1" model="account.account">
<field name="code">ASS1</field>
<field name="name">Assets 1</field>
<field name="user_type_id" ref="account.data_account_type_current_assets" />
<field name="company_id" ref="subsidiary_a" />
<field name="consolidation_account_id" ref="conso_ass1" />
</record>
<record id="subA_lia1" model="account.account">
<field name="code">LIA1</field>
<field name="name">Liabilities 1</field>
<field
name="user_type_id"
ref="account.data_account_type_current_liabilities"
/>
<field name="company_id" ref="subsidiary_a" />
<field name="consolidation_account_id" ref="conso_lia1" />
</record>
<record id="subA_lia2" model="account.account">
<field name="code">LIA2</field>
<field name="name">Liabilities 2</field>
<field
name="user_type_id"
ref="account.data_account_type_current_liabilities"
/>
<field name="company_id" ref="subsidiary_a" />
<field name="consolidation_account_id" ref="conso_lia2" />
</record>
<record id="subA_lia3" model="account.account">
<field name="code">LIA3</field>
<field name="name">Liabilities 3</field>
<field
name="user_type_id"
ref="account.data_account_type_current_liabilities"
/>
<field name="company_id" ref="subsidiary_a" />
<field name="consolidation_account_id" ref="conso_lia3" />
</record>
<record id="subA_rec1" model="account.account">
<field name="code">REC1</field>
<field name="name">Receivable 1</field>
<field name="user_type_id" ref="account.data_account_type_receivable" />
<field name="company_id" ref="subsidiary_a" />
<field name="consolidation_account_id" ref="conso_rec1" />
<field name="reconcile" eval="True" />
</record>
<record id="subA_pay1" model="account.account">
<field name="code">PAY1</field>
<field name="name">Payable 1</field>
<field name="user_type_id" ref="account.data_account_type_payable" />
<field name="company_id" ref="subsidiary_a" />
<field name="consolidation_account_id" ref="conso_pay1" />
<field name="reconcile" eval="True" />
</record>
<record id="subA_op_journal" model="account.journal">
<field name="name">Operations journal</field>
<field name="code">OP</field>
<field name="type">general</field>
<field name="company_id" ref="subsidiary_a" />
</record>
</odoo>
97 changes: 97 additions & 0 deletions account_consolidation_oca/demo/company_b_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="subB_exp1" model="account.account">
<field name="code">EXP1</field>
<field name="name">Expenses 1</field>
<field name="user_type_id" ref="account.data_account_type_expenses" />
<field name="company_id" ref="subsidiary_b" />
<field name="consolidation_account_id" ref="conso_exp1" />
</record>
<record id="subB_exp2" model="account.account">
<field name="code">EXP2</field>
<field name="name">Expenses 2</field>
<field name="user_type_id" ref="account.data_account_type_expenses" />
<field name="company_id" ref="subsidiary_b" />
<field name="consolidation_account_id" ref="conso_exp2" />
</record>
<record id="subB_exp3" model="account.account">
<field name="code">EXP3</field>
<field name="name">Expenses 3</field>
<field name="user_type_id" ref="account.data_account_type_expenses" />
<field name="company_id" ref="subsidiary_b" />
<field name="consolidation_account_id" ref="conso_exp3" />
</record>
<record id="subB_rev1" model="account.account">
<field name="code">REV1</field>
<field name="name">Revenue 1</field>
<field name="user_type_id" ref="account.data_account_type_revenue" />
<field name="company_id" ref="subsidiary_b" />
<field name="consolidation_account_id" ref="conso_rev1" />
</record>
<record id="subB_rev2" model="account.account">
<field name="code">REV2</field>
<field name="name">Revenue 2</field>
<field name="user_type_id" ref="account.data_account_type_revenue" />
<field name="company_id" ref="subsidiary_b" />
<field name="consolidation_account_id" ref="conso_rev2" />
</record>
<record id="subB_ass1" model="account.account">
<field name="code">ASS1</field>
<field name="name">Assets 1</field>
<field name="user_type_id" ref="account.data_account_type_current_assets" />
<field name="company_id" ref="subsidiary_b" />
<field name="consolidation_account_id" ref="conso_ass1" />
</record>
<record id="subB_lia1" model="account.account">
<field name="code">LIA1</field>
<field name="name">Liabilities 1</field>
<field
name="user_type_id"
ref="account.data_account_type_current_liabilities"
/>
<field name="company_id" ref="subsidiary_b" />
<field name="consolidation_account_id" ref="conso_lia1" />
</record>
<record id="subB_lia2" model="account.account">
<field name="code">LIA2</field>
<field name="name">Liabilities 2</field>
<field
name="user_type_id"
ref="account.data_account_type_current_liabilities"
/>
<field name="company_id" ref="subsidiary_b" />
<field name="consolidation_account_id" ref="conso_lia2" />
</record>
<record id="subB_lia3" model="account.account">
<field name="code">LIA3</field>
<field name="name">Liabilities 3</field>
<field
name="user_type_id"
ref="account.data_account_type_current_liabilities"
/>
<field name="company_id" ref="subsidiary_b" />
<field name="consolidation_account_id" ref="conso_lia3" />
</record>
<record id="subB_rec1" model="account.account">
<field name="code">REC1</field>
<field name="name">Receivable 1</field>
<field name="user_type_id" ref="account.data_account_type_receivable" />
<field name="company_id" ref="subsidiary_b" />
<field name="consolidation_account_id" ref="conso_rec1" />
<field name="reconcile" eval="True" />
</record>
<record id="subB_pay1" model="account.account">
<field name="code">PAY1</field>
<field name="name">Payable 1</field>
<field name="user_type_id" ref="account.data_account_type_payable" />
<field name="company_id" ref="subsidiary_b" />
<field name="consolidation_account_id" ref="conso_pay1" />
<field name="reconcile" eval="True" />
</record>
<record id="subB_op_journal" model="account.journal">
<field name="name">Operations journal</field>
<field name="code">OP</field>
<field name="type">general</field>
<field name="company_id" ref="subsidiary_b" />
</record>
</odoo>
29 changes: 29 additions & 0 deletions account_consolidation_oca/demo/company_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="consolidation_company" model="res.company">
<field name="name">Consolidation company</field>
<field name="currency_id" ref="base.EUR" />
<field name="country_id" ref="base.fr" />
<field name="is_consolidation">True</field>
</record>
<record id="subsidiary_a" model="res.company">
<field name="name">Subsidiary A</field>
<field name="currency_id" ref="base.EUR" />
<field name="country_id" ref="base.fr" />
</record>
<record id="subsidiary_b" model="res.company">
<field name="name">Subsidiary B</field>
<field name="currency_id" ref="base.USD" />
<field name="country_id" ref="base.us" />
</record>
<record id="conso_sub_a" model="company.consolidation.profile">
<field name="company_id" ref="consolidation_company" />
<field name="sub_company_id" ref="subsidiary_a" />
<field name="consolidation_percentage">100.0</field>
</record>
<record id="conso_sub_b" model="company.consolidation.profile">
<field name="company_id" ref="consolidation_company" />
<field name="sub_company_id" ref="subsidiary_b" />
<field name="consolidation_percentage">100.0</field>
</record>
</odoo>
Loading

0 comments on commit a1f383c

Please sign in to comment.