Hierarchies and mappings, maintained in Excel
Cost-center rollups and GL mappings are the plumbing behind every P&L line, and they change every reorg. Re-parent a node, remap an account, and commit the whole move at once, in Excel, without leaving a child pointing at a parent that no longer exists.
Rollups and mappings that stay valid
Change a ParentCostCenterID, remap an AccountID to a new report line, and commit. The structure updates in your database in one transaction, with every foreign key still resolving.
The structure changes far more often than the schema
Where the structure usually breaks
The tables behind a rollup and a mapping
A cost-center hierarchy is usually one table that references itself: ParentCostCenterID points back at DimCostCenter. A GL mapping is a separate table that ties each account to a report line, so GLMapping carries a foreign key to DimAccount and another to DimReportLine. Workbook Connect edits exactly these tables, and the foreign keys are what keep every move valid.
An illustrative data model, not your exact schema.
Re-parent and remap in a grid that knows the keys
A cost-center rollup as you re-parent it
Move a node by changing its parent, watch the per-row status track the edit, and see how a parent that does not resolve blocks the whole commit until it is fixed.
| Status | Code | Cost center | Rolls up to (parent) | Level |
|---|---|---|---|---|
| CC-4100 | Field Sales DACH | CC-4000 Sales EMEA | 3 | |
| Changed | CC-4110 | Inside Sales DACH | CC-4100 Field Sales DACH | 4 |
| CC-4200 | Channel Partners | CC-4000 Sales EMEA | 3 | |
| Needs fix | CC-4300 | Sales Enablement | CC-9000 | 3 |
| CC-5000 | Marketing EMEA | CC-1000 EMEA | 2 | |
| New | CC-5100 | Demand Generation | CC-5000 Marketing EMEA | 3 |
- Row 2: Inside Sales DACH moved from CC-4000 Sales EMEA to CC-4100 Field Sales DACH after the team was folded under field sales. The parent resolves, so the move is allowed.
- Row 4: parent CC-9000 does not exist in DimCostCenter, so the commit is blocked until this row is fixed. Nothing is written until every row passes, then they all commit together. Re-parent it under a code that resolves (for example CC-4000) and the whole set commits.
An illustrative example of the editing workflow, not a product screenshot.
One validated commit, or nothing at all
Hierarchies and mappings, answered
Filter DimCostCenter to the branch you want, change the ParentCostCenterID on the rows you are moving, and review them by status before you commit. A parent-child model means re-parenting one node carries its descendants automatically, because the children still point at their unchanged parent. If you model the rollup as level columns (Level1, Level2, Level3) instead, you edit those columns on every affected row and commit them as one set. Workbook Connect does not re-derive levels for you, so plan the edit to cover every row the move touches.
Configure a foreign-key lookup on ParentCostCenterID against DimCostCenter, so the cell only offers codes that already exist. If a parent value still fails to resolve at commit (for example a code you typed by hand, or a parent deleted in the same batch), the commit is blocked and nothing is written. The failing row stays in the sheet with its reason, so you fix it and commit again, and then every row is written together in one transaction.
Yes, with a validation rule. In GLMapping you can require that each AccountID resolves to exactly one ReportLine for a given EffectiveFrom, so a 6000-series travel account cannot land on both "Operating expenses" and "Cost of sales" at once. The Validation Designer (a Pro feature) is where you author rules like that; once saved they run for everyone on every commit, including the free plan.
Optimistic concurrency catches it. If someone committed a change to a row after you loaded it, the conflict is detected on your commit instead of silently overwriting their move. You refresh, see their version, and decide which parent is correct rather than discovering the regression in next month report.
No. Workbook Connect edits rows in tables you already have. It makes no server-side or schema changes, adds no triggers, and creates no objects. It reads and writes DimCostCenter, GLMapping and the like over TLS 1.2 or higher under your existing database permissions, nothing more.
No. Cost-center and GL owners work in Excel with the access you already grant them through Entra ID, a service principal, or SQL auth. Every change honours the permissions defined in your database, so a controller who can only see EMEA cost centers only ever edits EMEA cost centers.
Keep your rollups in step with the business
Download Workbook Connect free and connect it to your database. The people who own your cost-center hierarchy and GL mappings can keep them accurate from Excel, with every parent and every account still resolving when the numbers hit reporting.