Forum Discussion

BCG's avatar
BCG
New Contributor II
2 years ago

Equity method of Consolidation

Dears,

We have a requirement, where we need to write only into C#Elimination of  [Share of Profit from] A#NetIncome and Same to be written to A#Investment in Equity Account as a other side of entry for the Equity Account type of consolidation in OneStream [We do not need line by line consolidation for all other items/accounts]

To achieve this, I setup a entity as follows:

PCON = 0

POWN = 50%

Ownership Type = Equity

when i put PCON as zero[0] and execute the consolidation, the results are not writing up to Elimination member. What  can be the reason for same?

 

 

  • If the Consolidation Algorithm is Standard then the PCON=0 will ensure nothing gets as far as the C#Elimination stage, because the internal DataBuffer for C#Share (dynamic calc) will be empty.

    If you change the Cube's Algorithm Type to [Custom] then you can override how the C#Share and C#Elimination gets processed, but this has a big performance impact because it writes the C#Share to the database, which creates about +25%-30% database size, and approx 25-30% longer consolidation times. (maybe more, depending on how big you data units are).  So that's not a good option either.

    What you could do, by keeping your Consolidation Algorithm Type to [Standard], and thus benefitting from the performance of Dynamic Calc C#Share, is to have a calculate pass which reads directly from the child entity's C#Translated data unit (parent currency before the C#Share allocation) and not try to read from C#Share (which would be empty if PCON=0).  You would also need to set the cube setting to [Calculate Elimination Member if NoData] = True.

    I don't know what's inside your EqutiyAccountCalculation() function, so we can't really provide any more details.

     

    Another way to do this, by totally removing the need for a custom calculation pass, and removing the need for any custom consolidation, is to simply have a member formula, or Allocation Journal, on the Holding Company's base entity which has an interest in the non-consolidated joint-venture.  Then you just 'pick-up' the P&L result from the JV and post it into the Holding Company's base entity. You would probably Debit the A#[Investment] (Asset), and Credit the A#[Income From JV] (Income Statement).

    An Allocation Journal will automatically apply the %interest. Alternatively a member formula that runs on the base entity, and you put the reference to the JV on the Text property of the holding company's base entity.

  • Did you check to make sure that Cube property - 'Calculate Elimination Cons Member If No Data is set to True'. Rerun consolidation with the setting and share results.

  • ChrisLoran's avatar
    ChrisLoran
    Valued Contributor

    If the Consolidation Algorithm is Standard then the PCON=0 will ensure nothing gets as far as the C#Elimination stage, because the internal DataBuffer for C#Share (dynamic calc) will be empty.

    If you change the Cube's Algorithm Type to [Custom] then you can override how the C#Share and C#Elimination gets processed, but this has a big performance impact because it writes the C#Share to the database, which creates about +25%-30% database size, and approx 25-30% longer consolidation times. (maybe more, depending on how big you data units are).  So that's not a good option either.

    What you could do, by keeping your Consolidation Algorithm Type to [Standard], and thus benefitting from the performance of Dynamic Calc C#Share, is to have a calculate pass which reads directly from the child entity's C#Translated data unit (parent currency before the C#Share allocation) and not try to read from C#Share (which would be empty if PCON=0).  You would also need to set the cube setting to [Calculate Elimination Member if NoData] = True.

    I don't know what's inside your EqutiyAccountCalculation() function, so we can't really provide any more details.

     

    Another way to do this, by totally removing the need for a custom calculation pass, and removing the need for any custom consolidation, is to simply have a member formula, or Allocation Journal, on the Holding Company's base entity which has an interest in the non-consolidated joint-venture.  Then you just 'pick-up' the P&L result from the JV and post it into the Holding Company's base entity. You would probably Debit the A#[Investment] (Asset), and Credit the A#[Income From JV] (Income Statement).

    An Allocation Journal will automatically apply the %interest. Alternatively a member formula that runs on the base entity, and you put the reference to the JV on the Text property of the holding company's base entity.

    • Krishna's avatar
      Krishna
      Valued Contributor

      ChrisLoran  - I have a quick question. The below Condition is working on a Single cube but not on Multi Cube. Is there a reason?

       

       

      If api.Entity.OwnershipType().ToString.Equals("Holding") Then
      
      End If

       

       

       

  • yogeshkumjain's avatar
    yogeshkumjain
    New Contributor III

    Hi BCG - You would need to write custom rule for the Equity method scenario. Results for the scenario mentioned cannot be seen by OOB rules, however if your case is Proportionate/JV then Con % should be set as 50% instead.

    • BCG's avatar
      BCG
      New Contributor II

      Hi Yogesh,

      PCON = 0

      POWN = 50%

      Ownership Type = Equity

      I have written a logic under below routine with the method specific logic related to Equity method of accounting treatments, But no luck. results are not writing up to Elimination member.

      Case Select Case api.FunctionType
      Case Is = FinanceFunctionType.Calculate

      If Pown > 20 And Pown <= 50 AndAlso vMethod.ToString = "Equity" Then
            If api.Pov.Cons.MemberId = DimConstants.Elimination Then
                   Call EqutiyAccountCalculation(api,Pown)
           End If
      End If

      Consolidation algorithm = standard and other options under it is false, even I tried putting true for Cons & Elimination options - no luck

      • yogeshkumjain's avatar
        yogeshkumjain
        New Contributor III

        Did you check to make sure that Cube property - 'Calculate Elimination Cons Member If No Data is set to True'. Rerun consolidation with the setting and share results.