Platform: Workday Financial Management and Workday Adaptive Planning
Scope: gross expense actuals loaded into an expense cube, beside existing net values
The business problem
The planning model held net expenses. Finance also needed gross expenses, before recharges, in the same cube. The first loads did not match the finance team’s own pivot of the source data, and nobody trusted the numbers.
Existing architecture
A loader read a prepared extract of expense lines and mapped source accounts and levels to the cube. Each level carried its own currency. The source amount was already converted to US dollars.
Why it happened
The first reconciliation combined different comparison populations. Missing target-level combinations were an additional mapping issue. The remaining currency-related variance was consistent with a conversion mismatch, and we treat the exact conversion mechanism as unconfirmed until it is tested in the tenant.
Design decision
We reconciled source to source before source to target. Until the loader population matched the finance pivot, any difference inside the planning model could not be explained.
One account was absent from the cube hierarchy. We excluded it with a documented rule and asked finance to decide, so a technical gap did not become a silent business decision.
We did not change level currencies to force a match. The currency in the upload file was corrected.
Implementation approach
- Align the comparison scope: date field, company levels, expense types, journal status.
- Create and map the missing levels, and test each with a known source value.
- Split any remaining variance by child level before touching data. A variance on a non-dollar level points to conversion. A variance on a dollar level points to stale data from earlier loads.
- Count the populated intersections in the model against the count the loader submitted.
Controls and validation
We aligned date fields, journal status, expense types, company/level scope and included accounts before comparing totals. The manual production loads were checked against the agreed source population. A separate reconciliation gate was retained for the automated integration; no whole-cube clearing was used as a shortcut.
Outcome
The agreed manual gross-expense load was completed in production and matched the aligned source totals. The automated integration has also been completed.
Lessons learned
- Most of the first variance was comparison scope, not a system fault.
- Check whether a source amount is already converted before loading it to a level with a different currency.
- Split a variance by level before choosing a fix. Different causes need different fixes.
Scope of the outcome
The manual gross-expense load was reconciled in production, and the automated integration was completed.
EPMLogic | Implementation insight based on an anonymized scenario. Exact operational amounts and client details are intentionally omitted.