Dynamic renaming of line items

edited December 2022 in Best Practices

Consider the following situation:

As part of a planning process, a planning user requires the following items to be presented in the module:

  • Current year revenue actuals - year to date, needed to plan for the next year around the third-quarter quarter mark of the year
  • Current year revenue projection, based on the run rate
  • Current year revenue override
  • Current year revenue final
  • Next year revenue change, as a percentage of current year revenue final
  • Next year projected revenue
  • Next year + 1 projected revenue, as an input

Therefore, a simple planning module may look like:

CY View.png

This will become a scalable solution where a system module can define the current year value in order to lookup the actuals for the current revenue line item.

Planning Ass3.png

However, from a planning user's point of view this would not be a very user friendly presentation. One will need the definition of the current year presented on the dashboard and, for a majority of planning users, this can become less intuitive.

Instead the module can be updated as:

FY23 View.png

This is more intuitive for the end user, but requires maintenance at financial year rollover. If the number of such modules are vast, then a manual update of the line items become less feasible.


One possible solution is to use a process that can dynamically update the line Items, which can be run as part of financial year rollover. The following steps can be used to achieve this:

Step 1:

Define codes for the line items in the planning module. This can be defined as:

FY23 Blueprint.png

Step 2:

Create a list with the codes defined in the planning module as:

Line Item List.png

Step 3:

Define a module with the above list and a number of line items as:

LI Blueprint.pngLI View.png

The planning assumptions module can be updated as:

Planning Ass4.png

Step 4:

Define an import action from this line items module as source to the planning module's blueprint as:

Line Item Import.png

Step 5:

Run the import, and the line items will be renamed as:

Line Item Renamed FY23.png

Step 6:

Setting different planning year values in the planning assumptions module and running import action will rename the planning module's line items as:

Planning Ass5.pngLI View2.pngLine Item Renamed FY23.pngFY24 View.png

Note: The order of line items presented in the source view will define the order in which the line items will be renamed. Therefore, it would be best to first rename the current year +2 values and then current year +1 and current year entries; otherwise, some line items may end up looking like "FY24 Revenue~1", which is done automatically to ensure the line items are unique.


One important aspect to consider is the usability of this planning module as an export module. As the line items have an opportunity to be renamed, using the module as is in a saved view for model-to-model import or file export would not be ideal. Therefore, it would be beneficial to use the data from this planning module into another module where the line items do not change for export purposes. One suggestion would be that the export module use the defined line item codes as the line item name.


This approach can be extended to rename all modules that have such behaviors, using one common line items list and using separate views per destination module. This method of line item renaming will also employ a uniform naming convention across all the planning views, and the same line item code can be used across different modules because the line item code uniqueness is limited to the scope of that module.



  • alexpavel
    edited December 2022

    Thanks for sharing. 


    Other considerations to take into account: the modification of the line-item name is a structural modification to the model. 

    - These Import actions can be launched only by a workspace admin 

    - If ALM is used: the import actions that change line-item names need to be launched in DEV model to be pushed with ALM in PROD model


    Hope it helps


  • ipekkirali
    edited December 2022

    More often then not, when line items use the naming convention that includes the FYXX in the name, it happens in multiple modules in a model.


    It would also be great that if we could import into the Line Items tab under Modules so that we can update multiple modules at a time with a single import.


  • twan.laan@sbb.ch
    edited December 2022

    This is a very usefull issue, particularly when users require time-based data combined with non-time-based attributes to that data. There is one thing to be aware: actions.

    With the renaming of the line items, any data target containing this line item is automatically adapted. However, if you rename line items that are used as a data source in an action, you need to check whether the mappings still work correctly. In particular, when mappings are "manually", you probably need to adapt the existing mapping.

    (and therefore I would refrain from using this dynamic line item renaming with line items that are used as data sources for actions)