Consolidation reports

Rational

In multi-company environment, there are often the need of having a consolidated reports. Those reports are the same as the standard ones but grouped for a set of companies. The inter-company transactions should be excluded.

Proposal

We could re-use the same concept as the Account Type group Account. It will be a Meta-Account Type that groups a list of Account Type of different companies.
The reports are like “Balance Sheet” and “Income Statement” using a context which also contains a selection of companies. This selection will be used to select the types to be summed and to filter out the inter-company transactions (by overriding Line.query_get).

To identify the inter-company Moves, a new field will be added on the Move that references another company. This field will always be editable to correct the consolidate reports (just like the analytic).
The field could be filled automatically when posting an invoice if the party is another company.

Implementation

I’m wondering if we should not use a checkbox on the invoice to give some flexibility. This checkbox could be automatically filled when a party is selected. But it could still be changed after.
But maybe it is too much as far as we can edit the inter-company field on the move at any time.

In case of using diferent currencies on each company, it will be possible to sum out the values also?

I guess the report will need to have a currency context and make the proper conversion when needed using the current rate.

I don’t understand why there is a need for a an extra field in moves. Isn’t it enough that the party of the move line is another company?

No because it will not always be filled and also the party does not define univocally a company.

What do you understand by a inter-company move? Is it a move that affects two companies?

No it is a move in a company accounting that is related to an operation with another company managed by the system.
So such move should not be taken into account when doing a consolidate report otherwise numbers are artificially increased.

But this is not a single move, but two moves (one for each company).
In case we are showing individual reports such move should be shown on both company reports.

Right?

Does it make sense to allow the user to include them? I will prefer to have an option so the user may decide to include or exclude them.

We can not know about that.

Yes.

Not for me, otherwise there is no point to make consolidate reports.

Of course, I forgot about that.

Now I wonder if we need some kind of rule system.

For example, say in company A we create a customer invoice to company B. We may want that both Expense and Receivable move lines have the “consolidation” field filled in but not the tax move line.

Do you any idea on how that would be managed?

I’m not sure anyone will want to have a consolidated report on tax.
And in the case of operation between two companies, the taxes are null.

We would like to start working on this.

Do you think it should be added to the account module or create a new account_consolidation one?

Such feature is no useful for most companies (especially single company setup) so for me it should be in a new module to not bloat current one.

I’m wondering if this new module should have a also a template like we have for the standard chart of accounts (but allowing more than a single values)

This will be usefull for example in case the group wants to consolidate the values of several companies in the same country.

In case of mixin several countries, the user will have a base type (for the most common chart) and then just add the values of the missing companies.

I do not understand why you would like to have templates. Consolidate report is different for each company (like the analytic accounting).

Because (at least of Spain) there are some models of the consolidated reports which companies use:

Those are very similar to the type accounts and the mapping can be added easly.

I think it’s usefull to include this as part of the templates and add a wizard to setup the consolidated reports for all companies types having a know type structure (only for same country), instead of creating everything manually.

As there will still be need to manually select the companies and the account types, I do not see any real benefit in having pre-created template. I see that just as an extra maintenance burden for a very small benefit.

Indeed the account types can be automatically selected based on the template that created them.
For the companies is just a mather of having a many2many to pick them.

It simplifies the tasks when there are several companies from the same country.

But we can add it for latter if you prefer.

Here’s the issue implementing it: Issue 10346: Create account_consolidation - Tryton issue tracker