Project Budget Tracker from Excel
Monitors a project budget Excel workbook for changes. When expenses are added, calculates remaining budget, checks for threshold alerts (75%, 90%, 100%), and notifies project managers via Teams.
Provided as-is, without warranty of any kind. Review and test each pattern in a non-production environment before deploying it to live automations. See our Terms.
Overview
This flow watches a project budget Excel workbook for new expense entries and computes spend-vs-allocation in real time. When a row is added to the Expenses table, the flow looks up the matching project's budget allocation, sums every expense logged for that project, and divides the running total by the allocation to get a percentage used. A Switch action then evaluates that percentage against three thresholds (75%, 90%, 100%) and fans out alerts to the project manager and finance director via Outlook and Teams. After alerting, the flow updates a Budget Summary row in the same workbook so dashboards always reflect the latest totals.
The design keeps all data inside Excel Online so existing budget workbooks can be wired up with no schema changes. The threshold tiers and notification recipients are intended to be promoted to environment variables once the flow is deployed, making it easy to retune alert sensitivity per project or per environment.
Use Case
Project managers and finance teams need an early-warning signal when project spend approaches the approved budget, but they typically only review the Excel tracker on a weekly or monthly cadence. By the time a 90% overrun is spotted manually, the project may already be over. This flow closes that gap by reacting to every expense entry the moment it lands in the workbook and pushing a tiered notification to the right people before spending crosses the line.
It is well suited to teams that already maintain project budgets in Excel Online (SharePoint or OneDrive for Business), use Microsoft Teams as their primary notification channel, and want a lightweight alternative to a full PPM tool for early-warning budget monitoring.
The flow is ideal for teams that:
- Project managers tracking individual project budgets in Excel Online
- Finance directors who need escalation when projects approach 100% spend
- PMO teams standardizing budget tracking in Microsoft 365 without a dedicated PPM tool
- Teams that prefer Teams chat alerts over email-only notifications for time-sensitive thresholds
Flow Architecture
When a row is added to a table
Excel Online (Business) — When a row is added to a tableFires when a new expense row is added to the Expenses table inside the Project Budget Tracker.xlsx workbook.
Get budget total for project
Excel Online (Business) — List rows present in a tableReads the Budget Allocations table and filters to the row whose Project matches the new expense's Project field, producing the approved allocation amount.
Get all expenses for project
Excel Online (Business) — List rows present in a tableLists every row in the Expenses table for the same Project so the flow can compute a running total.
Sum project expenses
ComposeSums the Amount column from the filtered expense list. Typical implementation uses a Select to project the Amount values into a flat array, then a Compose with an expression to total them.
Calculate percentage used
ComposeDivides total expenses by the approved budget allocation and multiplies by 100. Expression: div(mul(totalExpenses, 100), budgetAllocation).
Threshold alert switch
Switch on percentage usedEvaluates the calculated percentage and routes to one of four branches. >= 100% sends an OVER BUDGET email and Teams message to both the project manager and finance director. >= 90% sends a Critical Warning email and Teams message to the project manager. >= 75% sends an Advisory Notice Teams message to the project manager. Below 75% takes the default branch with no notification.
Update Budget Summary row
Excel Online (Business) — Update a rowWrites the new Total Spent, Remaining (allocation minus total), and Percentage Used values back to the Budget Summary table so dashboards consuming the workbook stay current.
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_BudgetWorkbookPath | String | <configure> | Path to the Project Budget Tracker.xlsx workbook in OneDrive for Business or SharePoint. Used by the trigger and all Excel Online actions. |
| flowlibs_ExpensesTableName | String | Expenses | Name of the table inside the workbook that the trigger watches for new expense rows. |
| flowlibs_BudgetAllocationsTableName | String | BudgetAllocations | Name of the table containing per-project approved budget amounts. |
| flowlibs_BudgetSummaryTableName | String | BudgetSummary | Name of the table that the flow updates with current spend, remaining budget, and percentage used. |
| flowlibs_AdvisoryThreshold | Decimal | 75 | Percentage of budget used at which an advisory Teams notice is sent to the project manager. |
| flowlibs_CriticalThreshold | Decimal | 90 | Percentage of budget used at which a critical warning email and Teams message are sent to the project manager. |
| flowlibs_OverBudgetThreshold | Decimal | 100 | Percentage of budget used at which an OVER BUDGET alert is escalated to both the project manager and finance director. |
| flowlibs_FinanceDirectorEmail | String | <configure> |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| Excel Online (Business) | shared_excelonlinebusiness | OnNewRow (trigger) GetItems PatchItem |
| Microsoft Teams | shared_teams | PostMessageToChannelV3 |
| Office 365 Outlook | shared_office365 | SendEmailV2 |
Note — All connections are referenced as solution connection references; the flow is portable between environments as long as a connection is mapped at import time.
Customization Guide
Almost every realistic variant of this flow can be implemented by changing environment variable values. A few cases require small edits inside the flow definition — those are called out explicitly below.
- Add a burn-rate forecast
- Compute average daily or weekly spend from the filtered expense list (total expenses divided by elapsed project days) and project the run-out date. Include the forecasted date in the Critical and Over Budget alerts so PMs see when, not just whether, the project will overshoot.
- Add a monthly budget-vs-actual comparison
- Extend the Budget Allocations table with a monthly-target column and compute a per-month variance after the percentage-used calculation. Send a monthly summary email to the project manager so they see drift even when no single threshold trips.
- Push results to Power BI for real-time dashboards
- Add an HTTP action that pushes the calculated total spent, remaining, and percentage used to a Power BI streaming dataset after the workbook update. Build a tile or report on top of the streaming dataset for a live PMO dashboard.
- Promote thresholds and recipients to environment variables
- Replace the inline 75/90/100 comparisons in the Switch with references to flowlibs_AdvisoryThreshold, flowlibs_CriticalThreshold, and flowlibs_OverBudgetThreshold, and replace any hard-coded email or Teams recipient with the matching env vars. This lets the same solution deploy to dev/test/prod with different sensitivity settings.
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.