I was interested in experimenting with intercompany eliminations in a BSO cube but the only information I could find was Martin Neuliep’s rules in Developing Essbase Applications: Hybrid Techniques and Practices. The book did not contain much detail so I decided to build a very simple application to see how they could work. The application I built is described below.

Creating the application

Create an Oracle Cloud Planning application and add an Intercompany dimension.

Creating Accounts

Create the following accounts:

Add this member formula to the IntercoPlug account:

IF(NOT @ISUDA(Entity,"Elimination"))
  + IntercoInput;

Add this member formula to the IntercoInput account:

IF(@ISUDA (Entity,"Elimination"))
    IntercoInput = -IntercoPlug;

Creating Entities

Create the following entities:

The eliminations happen in the _E entities. Give them a UDA of Elimination. This UDA is used in the member formula.

Creating Intercompany Partners

Create the following members in the Intercompany dimension:

Creating a Rule

Create the following rule called Main:

    /* These are calculated so we can clear existing data */
    CLEARDATA Intercompany;
    CLEARDATA IntercoPlug;
    /* Consolidates */ 
    CALC DIM(Account,Entity,Intercompany);

For simplicity, the point of view has been hard coded into the rule.

Creating a Form

Create a form to test the rules and formula:

Attach the Main business rule to the form so it runs when the form is saved.


Enter test data, save the form, and check the eliminations.

This show eliminations for balances within Division A in DivA_E.

This show eliminations for balances between Division A and Division B in Total_E.


This simple example shows how intercompany balances can be recorded and eliminated in a BSO cube. Many improvements are possible.

If you do not have time to implement this yourself, or need any other help with Oracle EPM Cloud message me here or on LinkedIn.

How to Perform Intercompany Eliminations in a Essbase BSO Cube