Source to canonical accounts
1
Map each source account
Map each raw GL account from your ledger to a canonical account. The mapping is by account
identity, so a re-labeled source account keeps posting to the right canonical account.
2
Group into reporting categories
Group canonical accounts into the categories your P&L uses (for example, headcount cost,
operating expense, or revenue), so reports roll up consistently.
3
Keep it current
As your chart of accounts evolves, add the new source accounts here so nothing lands
unmapped.
Derived postings
Not every canonical account is fed directly from your ledger. Headcount and revenue plans derive into the GL: the headcount engine posts a fully loaded per-employee cost into GL accounts, and the revenue engine posts recognized revenue into GL accounts. These derived rows are tagged with their source (for example, headcount-derived or revenue-derived) so you can always tell a planned, derived posting apart from an actual ledger posting.Derived postings target your canonical accounts too, which is exactly why one clean mapping
makes actuals and forecast comparable on the same report. The derive step replaces only its own
derived rows on each run, so it never disturbs your real ledger actuals.
Common questions
What happens to an unmapped source account?
What happens to an unmapped source account?
It does not roll up to a canonical account, so it can be missing from category-level reports.
Map it, then re-run curation to fold it in.
Why does an account show planned and actual amounts together?
Why does an account show planned and actual amounts together?
The actual amount comes from your ledger and the planned amount is derived from headcount or
revenue plans, both posting to the same canonical account. The derived rows are source-tagged
so the two are always distinguishable.
Troubleshooting
- Budget vs actual does not reconcile on an account: confirm both the source-to-canonical mapping and the account’s reporting category.
- A derived posting looks duplicated: derived rows are tagged by source and replaced on each derive run, so check you are not also reading a manually entered row for the same account.
- An account is in the wrong P&L section: adjust its reporting category grouping here.