Your profit and loss statement says net income doubled this month. Before you celebrate — or spend any of it — one question decides whether that number is real: why did it move? If you cannot answer that for every large swing in your books, you are flying on instruments you have never calibrated. A doubled profit could be genuine growth, a duplicated sales entry, a missed accrual, or money quietly leaving through an account nobody reviews. Flux analysis is the month-end discipline that forces an answer, account by account, while the evidence is still fresh.
What Flux Analysis Actually Is
Flux analysis — short for fluctuation analysis — compares an account's balance or activity across two points in time and asks a single question of every meaningful change: why did this move? It is one of the most common analytical procedures in a month-end close because it does two jobs at once.
As a control, it catches transactions booked to the wrong account, missed accruals, and entries posted in the wrong period. As a reporting tool, it produces the narrative that explains the financials to whoever reads them — your accountant, your lender, your co-founder, or your future self at tax time.
Here is what a single flux line looks like in practice:
| Account | Prior month | Current month | Variance ($) | Variance (%) | Commentary |
|---|---|---|---|---|---|
| Software and Subscriptions | $142,000 | $198,000 | +$56,000 | +39% | Annual renewal of two enterprise SaaS contracts booked in July ($41K), plus six new engineering seats added mid-month ($15K). Both expected. No accrual adjustment needed. |
The variance is arithmetic. The commentary is the work. Anyone can subtract last month from this month; the analysis is knowing that $41K of the jump is a renewal that will not repeat and $15K is a permanent step-up in cost — and being able to show it.
Flux Analysis vs. Variance Analysis
People often use "flux analysis" and "variance analysis" interchangeably, and in casual use they overlap. The useful distinction is scope. Variance analysis is the broad discipline of explaining any difference between two figures, including budget-to-actual and forecast-to-actual comparisons. Flux analysis is the accounting-specific application of that discipline: comparing actuals across accounting periods as a close control.
| Flux analysis | Variance analysis | |
|---|---|---|
| Definition | Period-over-period comparison of actual account balances or activity | Any structured comparison of an actual figure to a reference figure |
| Scope | A month-end and audit control, owned by accounting | A broader finance and management discipline |
| Common use cases | Month-over-month, quarter-over-quarter, year-over-year actuals; audit support | Budget vs. actual, forecast vs. actual, price and volume analysis |
| Typical output | Account-level commentary explaining period movements | Explanations of performance against plan |
Every flux is a variance analysis; not every variance analysis is a flux.
Why It Matters at Close
Flux is not an optional analytical flourish at the end of the close. It is the last structured control that runs before the numbers leave accounting, and it is often the first place anyone sees a surprise. That gives it two distinct jobs.
Catching issues before review. Flux is your last chance to catch a bad accrual or a misposted entry before someone important sees it. When thresholds and commentary are captured as preparers work, an unexpected $210K swing in general and administrative expense gets flagged, investigated, and explained on the day it posts — not on the morning of the meeting where you present the numbers. The alternative is familiar to anyone who has closed books: a reviewer spots a large unexplained movement in real time, and someone reconstructs the reason under pressure.
Leadership visibility. Flux is usually where leadership first learns that something changed in the business. When every material movement arrives already explained, leadership gets clean line-of-sight and no late surprises. Even if "leadership" is just you and a spreadsheet, the discipline pays: a written explanation, captured while the context is fresh, is worth ten reconstructions six months later when your accountant asks what a line meant.
Balance Sheet Flux vs. Income Statement Flux
Flux works differently depending on which statement you are analyzing, because the two surface different kinds of problems. Balance sheet flux is primarily a check on whether accounts are correctly stated and reconciled. Income statement flux is primarily a read on operational change and cutoff.
| Balance sheet flux | Income statement flux | |
|---|---|---|
| Example accounts | Prepaid expenses, accrued liabilities, accounts receivable | Revenue, cost of goods sold, payroll, operating expenses |
| Typical drivers | Amortization schedules, accrual true-ups, timing of collections and payments | Volume and pricing shifts, headcount changes, one-time costs |
| What it reveals | Reconciliation breaks, missed or stale accruals, misclassifications | Operational changes, cutoff errors, entries posted to the wrong account |
| What to watch for | A balance that did not move when it should have (a scheduled payment that never cleared) | A movement with no operational explanation, which usually means a posting error |
The balance sheet point is worth dwelling on: the absence of an expected change is itself a signal. If a liability is due in a given month and the balance does not move, the flat balance likely signals a missed or misrecorded payment rather than a clean account. Good flux asks "what did I expect to see?" and treats a missing variance as seriously as an unexpected one.
Choosing a Comparison Period
The comparison you choose determines what the flux can catch and who it serves. Most teams use more than one.
- Month over month (MoM): The workhorse for close. Best for catching in-period errors quickly while detail is fresh.
- Quarter over quarter (QoQ): Smooths out single-month noise. Useful for board and investor reporting.
- Year over year (YoY): Controls for seasonality and is the comparison auditors most often want for substantive review.
- Budget vs. actual: A performance and accountability lens. Best for explaining results against plan.
- Forecast vs. actual: A leadership lens that feeds reforecasting and shows how the latest view is tracking.
A practical default for a small business: run MoM every close, layer in YoY for audit-sensitive accounts like revenue and payroll, and reserve budget and forecast comparisons for the reporting you actually read when making decisions.
How to Perform Flux Analysis Step by Step
-
Define scope and comparison period. Decide which accounts you are fluxing and against what (MoM, YoY, budget). Natural ledger accounts are usually the right level of detail. Financial-statement-line aggregation hides offsetting errors — a $50K overstatement and a $50K understatement net to a clean-looking zero — while slicing by every dimension creates busywork.
-
Pull the data. Gather current and prior-period balances plus the underlying transaction activity. Make this a defined close task with an owner and a due date rather than an afterthought squeezed in when someone asks.
-
Apply materiality thresholds. Flag only the variances that clear your dollar and percentage triggers, so time goes to movements that matter. Thresholds get their own section below.
-
Investigate each flagged variance. Drill into transaction detail to find the driver, and correct any errors you surface. Flux and reconciliations are complementary controls here: reconciliations prove the balance is right; flux explains why it changed. When a flux uncovers a stale schedule, revisit the reconciliation for that account.
-
Write the commentary. Document the driver in plain language while you have the context, with amounts attributed to specific causes.
-
Route for review. Someone other than the preparer confirms each explanation — even if that is your accountant at quarter-end — creating the record that a lender or auditor will rely on.
Common drivers to expect by account type, as a starting reference during investigation:
- Accruals: true-ups, releases, and newly recognized obligations.
- Prepaids: amortization run-off and new prepaid additions.
- Revenue: volume changes, pricing changes, and cutoff timing.
- Operating expenses: headcount changes, one-time vendor spend, and seasonal patterns.
Setting Materiality Thresholds
Thresholds decide what gets explained. Set them too high and small errors slip through; set them too low and you burn hours justifying movements that do not matter to the business. The reliable approach is a hybrid: a percentage trigger to catch proportional shifts, paired with a dollar floor so a small-percentage swing in a big account still gets caught.
| Account type | Percentage trigger | Dollar floor |
|---|---|---|
| Revenue | over 5% | over $50,000 |
| General and administrative / operating expenses | over 10% | over $25,000 |
| Balance sheet accounts | n/a | over $100,000 |
These are illustrative starting points for a mid-size business — scale them to your own revenue. A freelancer might flag any expense account moving more than $500 or 15%; the principle is identical. Tune thresholds to account risk rather than applying one rule everywhere: a volatile usage-based revenue account and a stable rent expense do not deserve the same trigger.
One caution: thresholds kept informally drift. If the rule lives in one person's head, or in a spreadsheet formula nobody rechecks, "material" quietly comes to mean something different every month. Write the thresholds down next to the commentary so next month's flux uses the same standard.
Writing Commentary That Holds Up in Review and Audit
Commentary is the deliverable. A variance without a driver is unfinished work, and commentary that only its author can decode is a liability the moment that person is unavailable — or an auditor asks a follow-up.
Do:
- Attribute the movement to specific, quantified drivers ("$41K SaaS renewal, $15K new seats"), not vague causes ("timing").
- Write for someone who was not in the ledger with you.
- Note whether the change is expected and whether it recurs.
- Reference the support (the invoice, the schedule, the entry) so a reviewer can verify without asking.
Do not:
- Bury the explanation in a chat message or an email thread where the story of the number lives in one person's head.
- Restate the math ("increased by $56K") without explaining the cause.
- Leave a reviewer to reconstruct the reason from raw transactions.
Audit-ready flux is simply this discipline taken seriously: each explanation captured in one place, tied to its support, with a reviewer sign-off and a date. The record is audit-ready by default because it was built as the work happened, not reassembled after the request arrives.
Common Pitfalls
Most flux problems trace back to one root cause: the process runs on manual exports into a spreadsheet. Pulling data from the accounting system into a spreadsheet each period means the analysis starts from a snapshot that is already aging, with formulas that break quietly and commentary that only the preparer can decode. The failure is rarely dramatic. It is a threshold formula that stops flagging an account because someone added a new ledger code mid-quarter and the range never got updated, so a real variance sails through unexplained.
- Stale data from manual exports. A manual export is a point-in-time snapshot. By the time the pivots are built and commentary starts, later entries and adjustments have posted, and the analysis no longer reflects the ledger.
- Threshold drift and inconsistency. Thresholds maintained by hand diverge across preparers and periods. As the business grows, "material" means something slightly different on every tab.
- Commentary that lives in one person's head. Chat messages and email chains are invisible to reviewers and auditors. When the preparer is out, so is the explanation.
- No reviewer trail. Informal sign-off is unverifiable. There is no durable record of who reviewed what, or when — exactly what an auditor asks for.
Running Flux on Plain-Text Books
You do not need an enterprise close platform to run flux. If your books live in a Beancount file, the two inputs — current and prior balances — are one query apart. Run a balance query for each month, diff the two outputs, and every account moving past your threshold gets a "why":
SELECT account, SUM(position)
WHERE year = 2026 AND month = 9
GROUP BY account ORDER BY account;Run it once for September and once for October, then compare line by line. Suppose October's run shows Expenses:Software:Subscriptions up 39% — your threshold flags it, and the transaction detail shows a single $41,000 annual renewal posted straight to expense:
2026-10-05 * "SaaS annual renewal"
Expenses:Software:Subscriptions 41,000.00 USD
Assets:CheckingThat flux hit just caught a real misstatement: a twelve-month renewal belongs on the balance sheet as a prepaid asset, amortized monthly, not dumped into one month's expense. The fix reclassifies it — and next month's balance sheet flux on Assets:Prepaid:Software, watching the amortization run off $3,417 at a time, confirms the correction is behaving. The docs cover balance queries in more depth, and Fava renders the same comparison visually if you prefer to review movements as charts rather than query output.
Because the ledger is plain text under version control, the audit trail comes free: every correction is a dated commit, and last month's commentary can live in the commit message or alongside the close checklist. No snapshot aging, no drifting formulas, no explanation trapped in a spreadsheet only one person understands.
Start With This Month's Close
Flux analysis earns its keep the first month you run it, because the first run always finds something — a duplicated entry, a stale accrual, a subscription increase nobody announced. Run this checklist at your next close:
- Pull this month's and last month's balances at the natural-account level.
- Flag every account past your written dollar and percentage thresholds.
- Investigate each flag down to transaction detail and fix what is wrong.
- Write one plain-language sentence per flag, with quantified drivers.
- Have someone else read the explanations and sign off with a date.
Do that twelve times and you will have something most small businesses never build: a year of numbers where every material movement has a documented reason. That is what turns a set of books from a tax-time burden into a record you can actually run the business on.





