Giving Vantagepoint a Memory It Never Had
Fri Jul 17 2026
Tackling snapshots in time within dashparts for a firm migrating from Ajera to Vantagepoint.
Written by: Wesley Witsken
Giving Vantagepoint a Memory It Never Had
A 250-person AEC firm was migrating from Ajera to Deltek Vantagepoint, and I was brought in specifically to handle their dashboards. That sounded like a contained piece of work — until I understood what Ajera users actually expect.
Ajera gives firms a lot of flexibility in how they surface financial data, and this client had built real, daily business processes around their dashboards. My job was to get them to parity in Vantagepoint. It became clear fast that parity wasn’t going to be straightforward.
The core ask was Backlog — Contract value minus Spend at Burn Rate — visible at every level of their Work Breakdown Structure: Project, Phase, and Task. Not just the current number, either. They wanted to see where Backlog stood in prior months, trended over time, not just where it sits today.
Vantagepoint doesn’t work that way. Dashparts pull live data only. There’s no native mechanism to freeze a moment in time and preserve it, and the WBS architecture itself creates real constraints on what you can even extract at the lower levels. This wasn’t a configuration problem I could solve by tweaking settings. It was a data availability problem — the historical data they needed simply didn’t exist anywhere in the system, because Vantagepoint has no memory of its own.
So I built one.
I designed and built a custom hub inside Vantagepoint, paired with a stored procedure I wrote to populate it. The procedure runs on a monthly schedule: it queries every active Project, Phase, and Task record, calculates Backlog at each of those WBS levels, and writes a snapshot into the custom hub — a frozen, point-in-time slice of the data as it stood that month.
The detail that mattered most was what each snapshot record carried with it. I made sure every snapshot preserved full WBS context — Organization, Phase Number, and the other grouping attributes their team actually used day to day. That meant their dashboards could slice and dice however they needed — by org unit, by phase grouping, by time period — without any of it being constrained by Vantagepoint’s live-only data model. I didn’t just hand them a workaround for one specific report. I handed them a flexible data layer they could build on top of indefinitely, the same way they’d build on top of any other table in the system.
The solution worked exactly as designed. They got historical Backlog visibility at the Task level — something Vantagepoint doesn’t offer natively to this day — along with the dashboard variety they’d relied on in Ajera. The engagement didn’t stop there. Once they saw what the pattern could do, they came back and asked me to build a Pipeline snapshot using the same architecture, tracking their Pipeline history through time the same way we’d tracked Backlog.
At some point, someone called me “Wesley the Wizard.” Not a bad title to walk away with from a migration engagement — and not the last time this same pattern would show up in my work. Vantagepoint’s live-only design keeps surfacing the same underlying problem in different clothes, and once you’ve built the answer once, it gets faster to build again.