BuilderVault
PMO technical reference

PMO data dictionary

A consolidated reference for PMO tables, columns, relationships, indexes, status models, Power BI measures, and Dataverse solution components across the build-your-own PMO toolkit.

5
Modules
10
Tables or lists
71
Fields
56
Required fields
How to use this

Treat this as the build contract for PMO data.

Start with the tables for the phase you are building, then confirm required fields, relationships, indexes, status values, and reporting measures before creating screens or flows. The table names are intentionally plain-language so they can be implemented in SharePoint first or mapped to Dataverse schema names later.

Intake and triageImplementation package

Intake and triage

Capture demand in one place, score it consistently, and route it to the right reviewers before work becomes shadow delivery.

Status model

  • Draft
  • Submitted
  • Clarification Requested
  • Ready for Triage
  • Approved for Charter
  • Deferred
  • Rejected

Power BI measures

  • Intake Count = COUNTROWS('Intake Requests')
  • Average Triage Days = AVERAGEX('Intake Requests', DATEDIFF('Intake Requests'[Submitted Date], 'Intake Requests'[Decision Date], DAY))
  • Aging Requests = COUNTROWS(FILTER('Intake Requests', ISBLANK('Intake Requests'[Decision Date]) && 'Intake Requests'[Submitted Date] < TODAY() - 7))
  • Approval Rate = DIVIDE([Approved Requests], [Decided Requests])

Dataverse tables

  • bv_intakerequest
  • bv_scoringcriterion
  • bv_triagedecision
  • bv_communicationlog

Choices

  • bv_requesttype
  • bv_intakestatus
  • bv_complexity
  • bv_triagedecisiontype
EitherIntake Requests

Primary demand record submitted by business users and triaged by the PMO.

FieldTypeRequiredNotes
TitleSingle line textYesShort request name used in queues and reports.
Request TypeChoiceYesProject, enhancement, automation, report, process improvement, support.
Business UnitChoice or lookupYesUse a lookup when departments need owners, sponsors, or reporting attributes.
SponsorPerson or lookup to Contact/UserYesThe accountable business sponsor.
Problem StatementMultiple lines textYesCapture the business pain in plain language.
Expected BenefitCurrency or numberNoUse text early if benefits are qualitative.
ComplexityChoiceYesLow, Medium, High. Feed scoring and routing.
Priority ScoreNumberNoCalculated from weighted criteria; avoid manual entry when possible.
Current StatusChoiceYesDraft, Submitted, Clarification Requested, Ready for Triage, Approved for Charter, Deferred, Rejected.
Decision ReasonMultiple lines textNoRequired when rejecting or deferring.

Relationships

  • One Intake Request can create one Project Charter.
  • Many Triage Decisions can relate to one Intake Request.
  • Many Communication Log rows can relate to one Intake Request.

Recommended indexes

  • Current Status
  • Business Unit
  • Sponsor
  • Submitted Date
  • Triage Owner
  • Decision Date
EitherScoring Criteria

Configurable scoring rubric so the PMO can change weights without editing the app.

FieldTypeRequiredNotes
Criterion NameSingle line textYesStrategic alignment, benefit, urgency, risk, complexity.
WeightNumberYesUse whole numbers that total 100 across active criteria.
Score GuidanceMultiple lines textYesExplains what low, medium, and high scores mean.
ActiveYes/NoYesDeactivate instead of deleting to preserve history.

Relationships

  • Scoring Criteria is referenced by triage scoring controls.

Recommended indexes

  • Active
  • Sort Order
Charter and approvalImplementation package

Charter and approval

Turn approved intake into a project charter with sponsor approval, scope boundaries, estimated value, and delivery ownership.

Status model

  • Draft
  • PMO Review
  • Sponsor Review
  • Revision Requested
  • Approved
  • Cancelled

Power BI measures

  • Charters Awaiting Sponsor = COUNTROWS(FILTER('Project Charters', 'Project Charters'[Charter Status] = "Sponsor Review"))
  • Average Approval Days = AVERAGEX('Project Charters', DATEDIFF('Project Charters'[Submitted Date], 'Project Charters'[Approval Date], DAY))
  • Approved Estimated Value = SUM('Project Charters'[Estimated Benefit])
  • Revision Rate = DIVIDE([Revision Requested Count], [Submitted Charter Count])

Dataverse tables

  • bv_projectcharter
  • bv_stakeholder
  • bv_successmeasure
  • bv_approvalhistory
  • bv_project

Choices

  • bv_charterstatus
  • bv_stakeholderrole
  • bv_approvaldecision
  • bv_measuretype
EitherProject Charters

Formal definition of approved work before planning begins.

FieldTypeRequiredNotes
Project NameSingle line textYesUse consistent naming because it becomes the reporting label.
Linked Intake RequestLookupNoConnects the charter to original demand.
SponsorPerson or lookupYesApprover and accountable business owner.
Project ManagerPersonYesDelivery owner for planning and execution.
ObjectivesMultiple lines textYesBusiness outcomes, not just deliverables.
In ScopeMultiple lines textYesWhat the project will deliver.
Out of ScopeMultiple lines textYesPrevents expectation drift.
Estimated BudgetCurrencyNoUse range if exact estimate is not available.
Charter StatusChoiceYesDraft, PMO Review, Sponsor Review, Revision Requested, Approved, Cancelled.
Approval DateDateNoStamped by workflow.

Relationships

  • One Project Charter creates one Project.
  • Many Stakeholders can relate to one Charter.
  • Many Approval History rows can relate to one Charter.

Recommended indexes

  • Charter Status
  • Sponsor
  • Project Manager
  • Approval Date
EitherSuccess Measures

Defines how the PMO will know whether the project created value.

FieldTypeRequiredNotes
MetricSingle line textYesCycle time, cost reduction, adoption, compliance, satisfaction.
BaselineNumber or textNoCurrent-state value before project.
TargetNumber or textYesDesired future-state value.
Measurement MethodMultiple lines textYesWhere the number comes from and how often it is reviewed.

Relationships

  • Many Success Measures relate to one Project Charter.

Recommended indexes

  • Charter
  • Review Date
Stage gates and lifecycle controlImplementation package

Stage gates and lifecycle control

Move projects through standard delivery stages with clear entry criteria, exit criteria, approvals, and evidence.

Status model

  • Stage In Progress
  • Gate Prep
  • Gate Submitted
  • Gate Approved
  • Gate Approved with Exception
  • Gate Rejected
  • Stage Changed

Power BI measures

  • Projects by Stage = COUNTROWS('Projects') grouped by Current Stage
  • Average Stage Age = AVERAGEX('Projects', DATEDIFF('Projects'[Stage Changed Date], TODAY(), DAY))
  • Gate Exception Rate = DIVIDE([Gate Approved With Exception], [Gate Decisions])
  • Overdue Gate Count = COUNTROWS(FILTER('Gate Reviews', 'Gate Reviews'[Due Date] < TODAY() && 'Gate Reviews'[Review Status] <> "Approved"))

Dataverse tables

  • bv_project
  • bv_lifecyclestage
  • bv_gatecriterion
  • bv_gatereview
  • bv_evidencelink
  • bv_gateexception

Choices

  • bv_lifecyclestagechoice
  • bv_gatereviewstatus
  • bv_gatedecision
  • bv_evidencetype
EitherProjects

Portfolio record that moves through lifecycle stages and connects to controls, status, and reporting.

FieldTypeRequiredNotes
Project NameSingle line textYesPrimary reporting label.
SponsorPerson or lookupYesExecutive owner.
Project ManagerPersonYesDelivery owner.
Current StageChoice or lookupYesInitiation, Planning, Build, Test, Launch, Closeout, Benefits Review.
Overall HealthChoiceYesGreen, Yellow, Red, Not Rated.
Baseline Launch DateDateNoOriginal approved launch date.
Forecast Launch DateDateNoCurrent expected launch date.

Relationships

  • One Project has many Gate Reviews, Risks, Issues, Changes, Status Updates, and Milestones.

Recommended indexes

  • Current Stage
  • Sponsor
  • Project Manager
  • Overall Health
  • Forecast Launch Date
EitherGate Reviews

Approval record for moving a project from one stage to the next.

FieldTypeRequiredNotes
ProjectLookupYesParent project.
StageChoice or lookupYesStage being reviewed.
Review StatusChoiceYesDraft, Submitted, Approved, Approved with Exception, Rejected.
ApproverPersonYesDecision maker for the gate.
Exception ReasonMultiple lines textNoRequired when approved with exception.

Relationships

  • One Gate Review has many Evidence Links and Gate Decisions.

Recommended indexes

  • Project
  • Stage
  • Review Status
  • Approver
  • Decision Date
Change, risk, and issue controlImplementation package

Change, risk, and issue control

Give delivery teams structured portals for change requests, risks, issues, actions, escalations, and decisions.

Status model

  • Draft
  • Submitted
  • Under Review
  • Action Required
  • Approved or Accepted
  • Rejected or Closed
  • Escalated

Power BI measures

  • Open Risk Exposure = SUMX(FILTER('Risks', 'Risks'[Status] <> "Closed"), 'Risks'[Probability] * 'Risks'[Impact Score])
  • Overdue Actions = COUNTROWS(FILTER('Actions', 'Actions'[Due Date] < TODAY() && 'Actions'[Status] <> "Closed"))
  • Average Issue Age = AVERAGEX(FILTER('Issues', 'Issues'[Status] <> "Closed"), DATEDIFF('Issues'[Created Date], TODAY(), DAY))
  • Approved Change Impact = SUM('Change Requests'[Budget Impact])

Dataverse tables

  • bv_changerequest
  • bv_raiditem
  • bv_action
  • bv_decision
  • bv_escalation
  • bv_impactassessment

Choices

  • bv_changetype
  • bv_controlstatus
  • bv_severity
  • bv_raidtype
  • bv_decisionstatus
EitherChange Requests

Controls scope, budget, schedule, and risk changes after charter approval.

FieldTypeRequiredNotes
ProjectLookupYesProject affected by the change.
Change TypeChoiceYesScope, schedule, budget, resource, quality, compliance.
ReasonMultiple lines textYesWhy the change is needed.
Scope ImpactChoiceYesNone, Low, Medium, High.
Schedule Impact DaysNumberNoPositive or negative variance.
Budget ImpactCurrencyNoEstimated cost increase or decrease.
StatusChoiceYesDraft, Submitted, Under Review, Approved, Rejected, Closed.

Relationships

  • Many Change Requests relate to one Project.
  • Change approvals create Approval History records.

Recommended indexes

  • Project
  • Status
  • Change Type
  • Approver
  • Decision Date
EitherRisks and Issues

Operational RAID control for project uncertainty and active blockers.

FieldTypeRequiredNotes
Item TypeChoiceYesRisk or Issue.
ProjectLookupYesParent project.
SeverityChoiceYesLow, Medium, High, Critical.
ProbabilityNumberNoUse only for risks.
Impact ScoreNumberYes1-5 scoring for heat maps.
OwnerPersonYesAccountable for mitigation or resolution.
Due DateDateYesDrives reminders and overdue reporting.
StatusChoiceYesOpen, Monitoring, Escalated, Closed.

Relationships

  • Many Risks and Issues relate to one Project.
  • Actions and Decisions can link to a RAID item.

Recommended indexes

  • Project
  • Item Type
  • Severity
  • Owner
  • Due Date
  • Status
Communications and Power BI reportingImplementation package

Communications and Power BI reporting

Convert PMO data into status communications, executive dashboards, operational queues, and stakeholder updates.

Status model

  • Not Started
  • Draft
  • Submitted
  • Needs Revision
  • Published
  • Missed

Power BI measures

  • Current Red Projects = COUNTROWS(FILTER('Status Updates', 'Status Updates'[Overall Health] = "Red" && 'Status Updates'[Is Current] = TRUE()))
  • Milestone Variance Days = DATEDIFF('Milestones'[Baseline Date], 'Milestones'[Forecast Date], DAY)
  • Missing Status Count = COUNTROWS(FILTER('Status Updates', 'Status Updates'[Status] = "Missed"))
  • Benefits Realization % = DIVIDE(SUM('Benefits Tracking'[Current Value]), SUM('Benefits Tracking'[Target]))

Dataverse tables

  • bv_statusupdate
  • bv_milestone
  • bv_communication
  • bv_reportsnapshot
  • bv_decisionrequest
  • bv_benefittracking

Choices

  • bv_healthrating
  • bv_statusupdatestate
  • bv_milestonestatus
  • bv_audience
  • bv_decisionpriority
EitherStatus Updates

Weekly or monthly narrative and health record for each project.

FieldTypeRequiredNotes
ProjectLookupYesParent project.
Reporting PeriodDate or textYesWeek ending or month label.
Overall HealthChoiceYesGreen, Yellow, Red.
Scope HealthChoiceYesGreen, Yellow, Red.
Schedule HealthChoiceYesGreen, Yellow, Red.
Budget HealthChoiceYesGreen, Yellow, Red.
Key AccomplishmentsMultiple lines textYesWhat changed since last period.
Next StepsMultiple lines textYesWhat happens next.
Decisions NeededMultiple lines textNoFeeds decision request queue.
StatusChoiceYesDraft, Submitted, Needs Revision, Published, Missed.

Relationships

  • Many Status Updates relate to one Project.
  • Decision Requests can be generated from status updates.

Recommended indexes

  • Project
  • Reporting Period
  • Overall Health
  • Status
  • Submitted Date
EitherMilestones

Tracks baseline, forecast, actual dates, and variance for portfolio reporting.

FieldTypeRequiredNotes
ProjectLookupYesParent project.
Milestone NameSingle line textYesPlanning complete, build complete, UAT complete, launch.
Baseline DateDateYesOriginal approved date.
Forecast DateDateYesCurrent expected date.
Actual DateDateNoSet when complete.
StatusChoiceYesNot Started, On Track, At Risk, Late, Complete.

Relationships

  • Many Milestones relate to one Project.

Recommended indexes

  • Project
  • Forecast Date
  • Status