Rule Execution During Consolidation

During the consolidation process, rules are executed in a pre-defined sequence. For each base child of a specific parent, the calculation sequence for the various elements in the Value dimension takes place in this order:

  1. Accounts defined as IsCalculated in the metadata are cleared in EntityCurrency.

  2. Accounts defined as IsCalculated in the metadata are cleared in EntityCurrAdjs.

  3. The Sub Calculate() routine is executed on EntityCurrency.

  4. The Sub Calculate() routine is executed on EntityCurrAdjs.

  5. The ParentCurrency data is cleared.

  6. Default translation is applied to all accounts defined as Revenue, Expense, Asset, Liability for the total amount of EntityCurrency and EntityCurrAdjs. For accounts with the Flow or Balance attribute, translation is not applied by default, the total amount of EntityCurrency and EntityCurrAdjs is rolled up into Parent Currency.

  7. The Sub Translate() routine is executed.

  8. The Sub Calculate() routine is executed on ParentCurrency.

  9. Accounts defined as "IsCalculated" in the metadata are cleared in ParentCurrAdjs.

  10. The Sub Calculate() routine is executed on ParentCurrAdjs.

  11. Accounts defined as "IsCalculated" in the metadata are cleared in ParentAdjs

  12. The Sub Calculate() routine is executed on ParentAdjs.

  13. Proportion and Elimination data are cleared.

  14. Default consolidation and eliminations are performed for the total amount of Parent and ParentAdjs.

  15. The Sub Calculate() routine is executed on Proportion and Elimination.

  16. Accounts defined as "IsCalculated" in the metadata are cleared in ContributionAdjs.

  17. The Sub Calculate() routine is executed on ContributionAdjs.

After the previous steps have been repeated for each base child, this sequence takes place for the parent entity:

  1. The EntityCurrency data is cleared.

  2. The sum of the total of Proportion, Elimination, and ContributionAdjs for every child is written into EntityCurrency of the parent entity.

  3. The Sub Calculate() routine is executed on EntityCurrency.

  4. Accounts defined as "IsCalculated" in the metadata are cleared in EntityCurrAdjs.

  5. The Sub Calculate() routine is executed on EntityCurrAdjs.

    Note:

    If a parent is further consolidated into another parent, this sequence continues with step 5 from the child consolidation sequence.