An Advanced Dungeons & Dynamics 365 session. Episode 3 of 14.
Previously on: Episode 2, The Shadow Ledger, the party discovered that Priya had been running a shadow spreadsheet for fourteen months, revealing a six figure variance nobody could explain. Priya left for vacation before anyone got an answer.
Every ERP has a chart of accounts. Not every ERP has a chart of accounts that actually makes sense. Sometimes what looks like a financial structure is really three different structures, built at three different points in the project’s history, quietly stapled together and never reconciled.
That’s the dungeon the party walks into this episode.
The Session
GM: You descend into the chart of accounts. It is, structurally, three different charts of accounts stapled together.
Sable: There are four segments for cost center. Four. Two of them mean the same thing in different departments.
Vex: (picking the lock on a legacy dimension table) Found something. A dimension called TEMP_DO_NOT_USE.
Thorne: How many postings?
Vex: Eleven thousand, two hundred and six.
Marge: Whose decision was that?
Vex: Nobody’s. That’s the problem. Somebody created it during UAT for testing and it just never got decommissioned. It’s load bearing now.
Ai. Cassiopeia: I flag that removing it will break forty three saved reports, none of which are documented.
Sable: We’re not removing it today. We’re mapping around it. Nobody touch the dimension.
A junior analyst walks past the war room door, glances in at the whiteboard now covered in a hand drawn diagram of overlapping cost center segments, and quietly closes the door again without saying anything. Nobody in the party blames him.
Thorne: (studying the diagram) This isn’t a chart of accounts. It’s an archaeology site.
Sable: Every layer’s a different consultant’s fingerprints. I can tell you which segment was added during which go live attempt just by how badly it fits with the one next to it.
Vex: (still elbow deep in the dimension table) There’s a comment field on this one. Someone left a note.
Marge: What’s it say?
Vex: “Will fix in phase two.”
Ai. Cassiopeia: I checked the project timeline. There was no phase two.
Why nobody decommissions the temp table
Every implementation accumulates a TEMP_DO_NOT_USE somewhere. It starts as exactly what the name says, a placeholder for testing, something built under deadline pressure that was always going to get cleaned up later. Then UAT ends, go live happens, and “later” quietly becomes never, because by the time anyone has bandwidth to revisit it, eleven thousand transactions are already posted against it and forty three reports are already built on top of it.
This is how technical debt actually accumulates in an ERP. Not through one bad decision, but through a hundred reasonable ones that never got revisited. Nobody sat down and decided Contoso should have four overlapping cost center segments. Somebody added one during the original build, somebody else added a second during a scope change nobody documented, and a third arrived during the failed second go live attempt when a different consultant didn’t know the first two existed.
The dangerous part isn’t that the structure is messy. Messy is survivable. The dangerous part is that nobody currently alive on the project understands the whole thing well enough to safely change it. That’s not a data model problem anymore. That’s an institutional memory problem, and it’s the same failure mode as the shadow ledger from episode two, just wearing a different disguise.
Sable’s instinct here is the right one: map around it before you touch it. You don’t fix an archaeology site by bulldozing it. You document what’s actually there first, then decide what’s safe to change.
What happens next
The party has a working map of the chart of accounts and a firm rule not to touch TEMP_DO_NOT_USE. But mapping the dimension structure surfaces the missing piece from episode one: the integration list from page seventeen of the SOW. In the next episode, the party finally gets their hands on it, and finds one integration on the list with no name, no owner, and no documentation at all.
Next episode: Episode 4, Page Seventeen (coming soon)
If your own chart of accounts has a TEMP_DO_NOT_USE hiding in it somewhere, you’re not alone, and you’re not imagining the risk. Gamifying the Enterprise: Game Mechanics for Continuous Proficiency is available now on Amazon: https://www.amazon.com/dp/B0GY3VWLVX
And if you want a real framework for documenting and untangling structures like this one before they become load bearing, start here: adnd365.com/start