Author: Grégory Ponce is a Senior Principal Product Manager at Anaplan.
Hello Anaplan Community!
Today, we are diving into a game-changing feature in Anaplan FCR: the Unallocated Difference management.
If you deal with financial consolidation and reporting on a daily basis, you know how tedious managing multi-dimensional analytical allocations can be. What happens when you enter a global amount but only have a partial breakdown for your analytical dimensions (such as Cost Centers, Functions, or Business Units)? This is exactly where the Unallocated Difference feature steps in to make your life easier.
The challenge of analytical allocations
In a typical financial data model, we often navigate multiple "Other-type” dimensions (e.g., Function, Breakdown) alongside "Intercompany"-type dimensions (e.g., Shares).
As an end-user, you might enter a global total on the main General Ledger account for Turnover (Total_GL) and then justify this amount with granular details (for example, allocating 60% to Function A and 25% to Function B). But what about the remaining 15% that hasn't been assigned yet?
In the past, users or admins had to manually calculate and allocate this residual amount to keep the model balanced. Now, Anaplan FCR automates this roll-forward using a dedicated calculation.
How does it work in practice?
The goal of this feature is to automatically calculate and post the difference between your Total and the sum of your Details onto a dedicated member (often named No_Value, No_Function, or No_Share).
In practice, each "Other-type” dimension must be structured as follows to allow the stored procedure to function correctly:
- #TotalDimensionLeaf: The entry point representing the global total (e.g.,
Total_GL).
- #TotalDimension: The parent member regrouping all the detailed analytical allocations (e.g.,
All_Function).
- #NoDimensionDetail: The dedicated member that automatically receives the calculated unallocated difference (e.g.,
No_Function).
Let’s look at how this plays out in your two main daily scenarios: Data Input and Journal Entries (JE).
1. During data input
In an input form, the system analyzes your data dimension by dimension (standalone parallel analysis). This means the analysis of one dimension to calculate its unallocated difference runs while the other dimensions point to their total leaf member (#TotalDimensionLeaf).
A concrete example:
Let's look at a module where Function and Breakdown are analytical dimensions, and Shares is an Intercompany dimension:
If you input a global total of $5,000,000 and specify $3,000,000 for Function A and $1,250,000 for Function B, The system automatically calculates the remaining $750,000 and posts it directly to the No_Function member.
This calculation happens independently for every single analytical dimension! You save valuable time, and you can rest assured that your detailed data always reconciles perfectly with your global totals.
2. During Journal Entries (JE)
The same automated logic applies seamlessly to your manual journal entries, ensuring analytical consistency even in complex ledger adjustments.
Here is the simple 3-step workflow:
- Step 1: Save. You enter your journal lines (e.g., a cut-off adjustment) on leaf members belonging to parent elements tagged as
#TotalDimension. At this stage, your data is saved without impacting the final consolidated tables.
- Step 2: Post. When you post the journal entry, the corresponding lines are generated in the fact table via the journal views.
- Step 3: Run the Unallocated Difference Process. Through your validation workflow, the process Run Unallocated Difference for JE is triggered.
The smart benefit:
To guarantee perfect alignment with your standard input screens, the stored procedure ensures that any Intercompany partner specified in your journal entry is intelligently replicated across all unallocated "Other" dimensions.
For instance, if your entry has a specific partner (e.g., Entity 140), this partner is automatically copied to your unallocated members (like No_Function).
(Note: The procedure is smart enough to skip generating unnecessary lines for the Balance Sheet Net Income / CYNI, as they hold no analytical value there).
Key takeaways
The Unallocated Difference feature acts as a silent assistant in your consolidation process. It:
- Guarantees data integrity across all multi-dimensional intersections.
- Eliminates manual reconciliation and tedious balancing adjustments.
- Ensures transparency by cleanly tracking any unallocated differences in designated, easy-to-report members.
Are you already using this feature in your models? What are your best practices? Let us know in the comments below!
……………
More from Grégory: