Showing posts with label Requirements. Show all posts
Showing posts with label Requirements. Show all posts

Thursday, 30 November 2017

...Restatements



One of the topics that I have spent time on is to understand the most efficient way to restate reported data in HFM.

On one side, there are multiple applications which either do not handle this requirement or the process to maintain and analyse the data is too complicated.

  • The most usual case is to restate the P12 data. To handle this requirement, there are applications with an additional period P13 to handle the late adjustments. I think that this approach has been inherited by the design of the most ERPs.
  •  Another case is to restate the data from all the periods and not only the P12 data in case of a change in the reporting standards or an audit. In this case, there are applications that have a specific scenario which is called RestatementX.
  •  In a similar case of restatement, in order to restate the data of all periods, the application had two sets of accounts. The accounts with the reported data and the accounts with the restated data. The restated accounts had the accounts with the reported data as share members in addition to the unique restating accounts.
  • Finally, there are applications that do not maintain the reported data and before posting the adjustments, the users must run and hardcode all the values in order to keep the reported figures (bad, bad, bad)


On the other side, HFM is a really powerful and flexible tool and we should use it in order to transform the focus of our processes from data intensive to data analysis.

This means that we should be able to restate our numbers without much effort, without having to copy data from one scenario to another or one period to another and at the same time allow us to audit the numbers and trace the flow of the change. The easiest way to implement such change is to introduce a new dimension in the HFM application (HFM version 11 has unlimited number of dimensions) which will allow us to introduce versioning. 

As an example, let’s say that you will use Custom5 as your version dimension. Custom5 will have 3 members: [None], Restatement and AllCustom5. The [None] member will be linked with Phase 1 and the Restatement member will be linked with Phase 2. The process is simple. The users will load all the initial data in the member [None] and you will lock Phase 1. These data are the reported data. When you will need to Restate your numbers, the users will load any adjustments in the member Restatement and you will lock the Phase 2. 

In this way, when you will retrieve data from [None], you will read the reported data and when you will retrieve data from AllCustom5, you will read the restated data.

Disclaimer: The above example is really simple and will not cover all the cases. Allow your phantasy to work and adapt this mechanism in your requirements.

Wednesday, 15 June 2016

...Calculation status: OK SC


     A few weeks ago, I was working on an application update. I started the update on Friday afternoon and thankfully everything went well. I loaded the new metadata and new rules without any problem, completed the "Clear Invalid data" task in 20minutes and then I started the overnight consolidation in order to reconsolidate the whole application and get the status OK in all scenarios/years/periods. I was home before 7pm

Sunday, 3 April 2016

...the consolidation functionality

It is two days before the end of the year-end reporting period and at 4:50 pm the helpdesk receives a new ticket with title “Consolidation of subsidiaries and NCI query”.

Silence in front of my screen… the subject of the ticket is quite worrying for such a week and as I read further down the situation becomes even worst.  The request of the user was to explain how the system calculates the NCI for specific subsidiaries, why the closing balance was 150.000$ and what the movement consolidation movement represents. A lot of questions….

Proem

Until today, I have seen four approaches in consolidating the values of an entity to the parent entity.
  • The first approach is to create manual journals at "Entity Curr Adjs". This journal will be posted both at the subsidiary and at the consolidation entity of the group.
  • The second approach is to use the Sub Calculate and the function HS.Exp in order to populate specific members or consolidation accounts at the value dimension members "Entity Currency" / "Entity Curr Adjs".
  • The third approach is to use the Sub Calculate and the function HS.Exp in order to populate specific members or consolidation accounts at the value dimension members [Proportion] / [Elimination].

Saturday, 14 November 2015

... FDM batchloader

It’s been almost two months since my last post but I can say that all this time I had been working on a module that it is really interested but I had not worked before.

So in this post, I am going to describe my experience with FDM Batchloader. I know that it is a bit outdated topic since FDM has been replaced by FDMEE but in my defence not all the companies have upgraded yet.

Proem

As a summary, FDM Batchloader is a module that automates the steps that the user has to execute in order to import a text file with ERP data in the FDM tables, map the data to the HFM or Essbase members and finally load them in HFM or Essbase.

Sunday, 23 March 2014

..delays


Initially, I had in mind to write an analysis related to the HFM application settings. However, after such a huge delay, I think that I should describe what I experienced the first 3 months of 2014.

    1. Proem

So, 2013 left our lived a few months ago and 2014 came in. Santa Clause did his annual job and brought a lot of lovely presents and Oracle teams did their job and brought HFM version11.1.2.3, FDMEE and a whole set of new features which will improve our applications.

    2. Installation of version 11.1.2.3+

...using SmartView

Last week I was chatting with an ex-colleagues about our HFM experiences. After 10 years, we both have a lot of stories to share but a...