> ## Documentation Index
> Fetch the complete documentation index at: https://tax-layer.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Budget vs Actual

> Your budget beside what really happened, month by month, with the reasons

A board-ready report that sets your approved budget beside your actual figures by account, flags the variances worth a sentence, and lets you write that sentence. **Pro and Premium plans.** Businesses find it in the sidebar; firms as a tab on each client.

## Load the three files

The first time you open it you see three upload boxes. They are the same boxes as in **Books & ledgers** — upload once, used everywhere.

![Budget vs Actual setup page with three upload boxes, an Up to which month picker, a Which year picker and an Open report button](https://mintcdn.com/tax-layer/zf_-pMztTsnhR3DV/images/bva-setup.png?fit=max\&auto=format\&n=zf_-pMztTsnhR3DV\&q=85\&s=ce3ed3d19acb4ac08b871ea0e96be8e7)

The setup page: chart of accounts, ledger balances and budget

| Box | What goes in | Template |
| - | - | - |
| **Chart of accounts** | Your list of accounts, with the Class / Category / Sub-Category hierarchy | **Download template** |
| **Ledger balances** | What moved on each account, month by month (one figure per account per month — not month-end balances) | **Download template** |
| **Budget** | The year's budget by account | **Download template** |

Drop a .xlsx, .xls or .csv (under 10 MB) on a box. TaxLayer asks which sheet, which month the balances run up to, or which year the budget is for, checks every row, and either files it (*✓ Balances added up to September 2026*) or tells you the first thing wrong (*Account code 60.01 appears twice, on rows 14 and 22.*). Load the chart first; the other two need it. A new upload replaces the earlier one.

Epsilon's *balance per month* export matches the ledger-balances template as it is.

Balance-sheet classes are left out of the report on purpose — the page lists them under *Excluded account classes* (0, 1, 2, 3, 4, 5, 85, 87, 88, 89). Only income and expense accounts take part.

When all three are in, press **Open report**.

## The report

![Budget vs Actual report with Total income, Total expenses, Net result and Flagged lines cards and an account tree with Actual, Reconciled, Budget, Variance and Why? columns](https://mintcdn.com/tax-layer/zf_-pMztTsnhR3DV/images/bva-report.png?fit=max\&auto=format\&n=zf_-pMztTsnhR3DV\&q=85\&s=ced2349b84162e94260617d486e225bd)

The report: cards, then the account tree with Actual, Reconciled, Budget and the variances

* **Year to date**, **Month** or **All** view. Month has a month picker.
* A **programme** (cost centre) selector when your chart has them.
* Four cards: **Total income**, **Total expenses**, **Net result** (actual, budget, variance € and %), and **Flagged lines**. Each card carries a **Basis** line — which ledger upload the figure comes from, when it was uploaded, and the period it covers — so a board member can see exactly what the number rests on.
* The tree: Class › Category › Sub-Category › Account, with **Actual**, **Reconciled**, **Budget**, **Variance €**, **Variance %** and **Why?**.

**Thresholds** — *Flag variances over \[ ]% and \[ ] €* — decide which lines are flagged. Set once; they're remembered.

Click an account for its month-by-month figures. On a flagged row, type the reason in **Why?** — it's saved when you leave the box and appears on the board view.

**Data sources** (top right) opens the three upload boxes again without leaving the report.

### The Reconciled column

**Actual** is what your ledger file says. **Reconciled** is what TaxLayer can confirm from the sources it holds — bank statements, documents and myDATA — after the [bank](https://tax-layer.mintlify.site/reconciliation/bank-reconciliation.md) and [balance](https://tax-layer.mintlify.site/reconciliation/balance-reconciliation.md) reconciliations.

* A plain figure means the account has been reconciled and this is the confirmed amount.
* **✦ ‹amount› suggested** is TaxLayer's own figure for that account, offered where it has evidence but nobody has confirmed it yet. Click it to see where it comes from.
* **—** means there is nothing to reconcile against for that account.

When Actual and Reconciled differ, one of them is wrong — usually a posting that hasn't reached the ledger yet, or a document that was never booked. That is the line to ask about before the board does.

The row **No account yet (‹n›)** collects transactions TaxLayer has confirmed but that aren't mapped to any account in your chart. They show only in Reconciled. Map them in Books & ledgers and they move into the right account.

## What changed

When a new ledger upload changes earlier months, a band appears: *14 accounts changed across 23 month-lines since the previous upload · net €2,140*. **See the lines** shows account, month, was, now, difference — so a restated prior month is never a surprise in the boardroom. Those rows get *Prior month restated* in Why?.

## Board view and sharing

**Board view** is the same report without the app around it, laid out for A4 landscape — use your browser's Print. You can still switch **Year to date / Month / All** and change the thresholds there; **Back to the report** returns you.

![Board view of the Budget vs Actual report with the four cards and the account table laid out for print](https://mintcdn.com/tax-layer/zf_-pMztTsnhR3DV/images/bva-board-view.png?fit=max\&auto=format\&n=zf_-pMztTsnhR3DV\&q=85\&s=6e573f486769dfc4615b5fb70648863e)

Board view: the report without the app around it

**Share board** makes a read-only link that works without a TaxLayer login for **10 days**. The reader can switch month, view and cost centre for that one organisation and nothing else. A new link is made each time; send it only to the person it's for.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.