Skip to content
| Marketplace
Sign in
Azure DevOps>Azure Boards>ADO Epic Budget Table
ADO Epic Budget Table

ADO Epic Budget Table

Deenu Gengiti

|
1 install
| (0) | Free
Budget planning table for PMO Epics. Track spend by Fiscal Year and Quarter (Q1-Q4). Auto-computes KPIs and writes back to queryable Epic fields.
Get it free

ADO Epic Budget Table

VS Marketplace Version GitHub Stars Build License: MIT

Give your PMO budget visibility directly inside Epic work items. No Power BI, no spreadsheets, no external tools.

Source code: github.com/deenuy/ado-epic-budget-data-table Report issues: github.com/deenuy/ado-epic-budget-data-table/issues


What it does

Add a Budget tab to any PMO Epic. Project managers enter spend amounts by Fiscal Year across quarterly columns (Q1-Q4). The extension automatically:

  • Shows a transposed budget grid with fixed Q1/Q2/Q3/Q4 rows, dynamic fiscal year columns, and FY totals in the footer
  • Reads your Approved Budget from the configured Epic decimal field (defaults to Custom.EstimatedCost)
  • Computes Total Committed Spend, Budget Remaining, and % of Budget
  • Shows a live RAG-coloured summary banner and progress bar (green below 75%, amber 75-90%, red above 90%)
  • Formats monetary values using your Currency field (USD, EUR, GBP, INR, JPY, and 15+ others)
  • Writes computed values back to queryable Epic decimal fields for use in WIQL queries, dashboards, and backlog rollups

Key features

Feature Detail
Transposed budget grid Fixed Q1-Q4 rows. Add or remove fiscal years as columns. FY total shown in footer per column.
Summary banner Approved Budget, Total Committed Spend, Remaining, and % of Budget with RAG progress bar.
Auto-save Edits persist automatically with a 400ms debounce. No manual Save required for normal use.
Currency support Reads ISO 4217 code from your Currency field. Supports 20+ currencies including USD, EUR, GBP, and INR.
Field writeback Computed KPIs written to native Epic decimal fields, queryable via WIQL and dashboard widgets.
Light / dark mode Respects the Azure DevOps theme automatically. No configuration required.
No external dependencies All computation runs in the browser. Data is stored in your Azure DevOps fields. Nothing leaves your organization.

Complete setup guide

Phase 1: Install the extension

Step 1: Open the Visual Studio Marketplace

Navigate to the Visual Studio Marketplace and search for ADO Epic Budget Table.

Step 2: Install to your organization

  1. Click Get it free on the extension page.
  2. Select the organization where you want to install the extension.
  3. Click Install.
  4. Click Proceed to organization to confirm.

Phase 2: Create Epic fields

These fields must exist on the PMO Epic work item type before you configure the extension control.

Step 3: Open Process settings

  1. Go to Organization Settings.
  2. Select Boards > Process.
  3. Click on your inherited process (for example, Your-Inherited-Process-Template).
  4. Click PMO Epic to open work item type customization.

Step 4: Create the JSON storage field

  1. Click New field.
  2. Configure the field as follows:
Setting Value
Name Financials Table JSON
Type Text (multiple lines, Plain Text)
Reference name Custom.FinancialsTableJson
  1. Click Add field.
  2. In the layout editor, hide this field from the page or place it in a collapsed group. Users never interact with raw JSON directly.

Step 5: Create the computed queryable fields

Create each of the following as Decimal type on the PMO Epic:

Display Name Reference Name Purpose
Total Committed Spend Custom.TotalPlannedSpend Sum of all Q1-Q4 amounts across all fiscal years
Total Budget Remaining Custom.TotalBudgetRemaining Approved Budget minus Total Committed Spend
Percent of Budget Custom.PercentOfBudget (Committed Spend / Approved Budget) x 100

Set these fields to read-only in the process layout, or hide them from the form. The extension writes to them programmatically. They are surfaced in the summary banner and are queryable via WIQL.

Tip: The extension reads your existing Estimated Cost (Custom.EstimatedCost) field as the approved budget. No new field is needed for that. It also reads Currency (Custom.Currency) to format amounts correctly.


Phase 3: Add the control to the Budget page

Step 6: Open the Budget page layout

  1. In the PMO Epic customization view, open or create the Budget page.
  2. Click Add custom control.

Step 7: Select ADO Epic Budget Table

  1. Find ADO Epic Budget Table in the control list.
  2. Click to select it.

Step 8: Configure the Options panel

  1. Click the control.
  2. Open the Options tab.
  3. Configure the six field references:
Option Value
JSON Storage Field Custom.FinancialsTableJson
Approved Budget Field Custom.EstimatedCost
Total Planned Spend Field Custom.TotalPlannedSpend
Budget Remaining Field Custom.TotalBudgetRemaining
Percent of Budget Field Custom.PercentOfBudget
Currency Field Custom.Currency (optional, defaults to USD)
  1. Open the Layout tab.
  2. Set the page to Budget and assign the control to an appropriate group.
  3. Click OK and save the layout.

Phase 4: Use the extension

Step 9: Open a PMO Epic

Navigate to any PMO Epic in your project and click the Budget tab.

Step 10: Add fiscal years and enter amounts

  1. Click Add FY to add the next sequential fiscal year as a column.
  2. Enter Q1-Q4 spend amounts directly in the cells.
  3. The FY TOTAL row updates automatically as you type.
  4. The summary banner updates on every cell change.
  5. Click Save to persist all changes and write KPIs back to the Epic fields.

Querying budget data

Because computed values are written to native Epic decimal fields, you can query them directly in WIQL without Power BI or any external tooling:

SELECT [System.Id], [System.Title],
   [Custom.TotalPlannedSpend],
   [Custom.TotalBudgetRemaining],
   [Custom.PercentOfBudget]
FROM WorkItems
WHERE [System.WorkItemType] = 'PMO Epic'
  AND [Custom.PercentOfBudget] >= 90
ORDER BY [Custom.PercentOfBudget] DESC

Add this as a Work Item Query Chart widget on your Azure DevOps dashboard for at-a-glance portfolio budget health.


Supported currencies

The extension reads the ISO 4217 code from Custom.Currency and formats all amounts with the correct symbol:

Code Symbol Code Symbol Code Symbol
USD $ EUR € GBP £
INR Rs JPY ¥ CNY ¥
CAD CA$ AUD A$ NZD NZ$
HKD HK$ SGD S$ KRW Rs
BRL R$ MXN MX$ ZAR R
SEK kr NOK kr DKK kr
AED AED SAR SAR CHF CHF

Codes not in this list display the raw code as a prefix (for example, THB 55,000). Defaults to USD when the field is empty or absent.


Troubleshooting

Symptom Likely cause Resolution
Banner shows "Not set" for Estimated Cost Approved Budget field ref is not configured, or Custom.EstimatedCost does not exist on the PMO Epic. Open the Options tab and verify the Approved Budget Field value. Confirm the field exists under Process > Fields.
Status shows "Field not writable" on load The JSON storage field reference is incorrect, or the field is not on the work item form. Verify that Custom.FinancialsTableJson exists on the PMO Epic and is added to the Budget page layout.
Computed fields are not updating Total Planned Spend, Budget Remaining, and Percent of Budget field refs are not configured. Set all three reference names in the Options panel.
Amounts show $ when currency is EUR Custom.Currency field is empty or the Currency Field option is not configured. Set the Currency Field option to Custom.Currency in the Options panel and confirm the field has a value on the Epic.
Table is empty after save The JSON storage field type is HTML rather than Plain Text. Azure DevOps strips content from HTML fields. Change the field type to Plain Text (multiple lines).
Data disappears on page refresh The value in Custom.FinancialsTableJson is corrupted. Open browser DevTools and filter the console for [FIN] to locate the parse error.

Local development

git clone https://github.com/deenuy/ado-epic-budget-data-table.git
cd ado-epic-budget-data-table
npm install
npm run build       # production bundle to dist/
npm run dev         # watch mode
npm run package     # builds and drops .vsix into releases/

See the GitHub repository for the full development guide and contribution instructions.


No external services required

All computation runs in the browser. Data is stored in your Azure DevOps fields. Nothing leaves your organization.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft