All field notes

Tutorial

How to Build a Budget vs Actual Dashboard

Create a budget versus actual dashboard that aligns plan and bank activity by period, category, department and entity.

By BankSync13 min read
Planned and actual spending passing through a variance gate

A budget versus actual dashboard can be built by storing approved plan lines in a custom Table, relating actual bank transactions to the same categories and dimensions, and calculating amount, percentage and favourable-or-unfavourable variance.

What this system should answer

It should show revenue, operating expense and net cash flow against plan; variance by category, department and period; trends; and the transactions behind an exception. A dashboard should make the sign convention obvious.

BankSync works best when each layer has a clear responsibility. Feeds collect one data type from selected accounts. Enrichments transform, guard, watch or learn from rows before writing. Tables store typed or custom relational data. Dashboards query that evidence and present KPIs, charts, filters and detail.

Preserve original amount, currency, date, account and provider identifier. Add personal or management classifications in separate fields. That separation is what makes a custom tracker trustworthy rather than merely attractive.

BankSync Budget enrichment with category, period, threshold and recipients
Budget enrichment handles threshold watches; Tables handle the richer versioned plan model.

Model the evidence first

Create Budgets, Periods, Categories and Departments Tables. A budget line should identify version, period, category, entity, department and planned amount. Actual transactions need the same dimensions through relations or lookups. Roll up actuals to the line grain, then calculate variance. Keep approved, forecast and scenario versions separate rather than editing the only plan.

Use relations instead of repeated labels

Create reference Tables for concepts that have their own properties: assets, liabilities, securities, categories, vendors or budget periods. Relate financial rows to those records, then use lookups, counts and rollups. Rollups can calculate sums, averages, medians, ranges, date extrema, percentages and option counts; formulas can read same-row and related values and produce stored, sortable, filterable results.

Choose views deliberately

Grid is the general editing surface. Board writes status when cards move. Calendar and Timeline write date fields when items move. Gallery suits attachment-led records, List provides a calm summary and Form adds rows. Views may be shared or personal and save filters, grouping, sorting, columns and row colours.

Aggregate safely

Define whether positive variance is favourable for each measure. Revenue above plan and expense above plan have opposite meanings. Percentage variance needs a documented zero-plan rule. Do not compare a monthly plan with a rolling transaction window. BankSync uses strict multi-currency aggregation by default. Any converted reporting amount should keep the native amount, currency, exchange rate and rate date visible.

The three columns every variance needs

FeaturePlanActualVariance
SourceApproved budget versionMapped bank or ledger activityExplicit formula
Required grainPeriod, entity, department, categoryThe same dimensions
Main controlFreeze approved versionsReview classification and completenessDefine favourable signs and zero-plan handling

Build the variance model

  1. Choose the grain

    Fix period, category, entity and department.

  2. Create plan Tables

    Store versions and approved amounts.

  3. Map actual transactions

    Relate them to the same dimensions.

  4. Define sign conventions

    Make favourable and unfavourable explicit.

  5. Roll up actuals

    Aggregate only at the aligned grain.

  6. Calculate variance

    Handle zero-plan cases.

  7. Build overview and drill-down

    Pair KPIs with transaction evidence.

  8. Freeze approved versions

    Create a new forecast instead of rewriting history.

BankSync shape-data pipeline with filter, compute, summarise, sort and limit
Explicit shaping keeps plan-versus-actual calculations inspectable.

Copy this build: a marketing budget review people can follow

Imagine a small business with a monthly marketing plan split across paid media, software, events and contractors. The useful dashboard does not begin with a red variance. It begins by making the plan and actuals share the same grain.

Create Budget Versions, Periods, Categories and Departments Tables. Load one approved plan and relate actual transactions to the same category and department records. Roll actuals up to each budget line, then calculate amount and percentage variance with an explicit zero-plan rule.

The dashboard should show plan, actual and variance KPIs, a category bar, period trend and the transaction rows behind the largest exception. Make favourable and unfavourable colours follow the measure: spending above plan is not the same as revenue above plan.

What success looks like after one week

A department lead can click the largest variance, see the exact transactions, and distinguish a timing shift from genuine overspend without asking finance to rebuild the report.

Dashboard and operating design

Lead with plan, actual and variance KPIs for the selected period. Add a waterfall or bar for category variance, a trend across periods and a drill-down table of transactions. Filters for plan version, entity, department and period should apply consistently to every widget.

Apply filters at the source when they change aggregates. Browser-only filtering is a presentation option, not an access-control boundary. Where a view is scoped to a household member, account or entity, use a locked source-applied filter that fails closed.

Enrichments and watches

Budget enrichment is ideal for threshold alerts on spending, income, count or balance. The full budget-versus-actual model belongs in Tables because it needs versions, dimensions and relations. Lookup Tables and Rulesets can map vendors to categories or departments; Review Queue can handle uncertain classifications.

Guard steps run first, followed by Memory, lookups, rules, AI fill and finally watch enrichments. Suppressed records never write, teach Memory or fire alerts. Use Live Preview before enabling hard filters, splits or suppression. Alert freshness follows the feed schedule.

Limitations and controls

Bank activity is cash evidence, not an accrual ledger. Prepayments, invoices, payroll liabilities and non-cash journals may require accounting data. Label the dashboard as cash budget versus actual unless it has complete accrual inputs.

Dashboards are beta by workspace. Public links and indexed tiers are for intentional public data, not personal finance. External-agent authoring is a staging workflow; open and review generated dashboards in the normal editor.

Operate the tracker

Check feed history before trusting a quiet chart. Review exceptions and low-confidence categories on a regular cadence. Document formulas, filters and model changes. A reliable tracker is one whose total can be reproduced from source rows and explicit assumptions.

Primary sources

Frequently asked questions

Keep reading

Related field notes