Month·End·Close
← Month-End Close

Flux & Variance

Flux flags what moved. The exceptions are structural.

A variance threshold asks one question: how much did this account move against itself last month. Most of what actually goes wrong doesn't fail that question. It fails a different one.

An account moved $6,400 — a vendor deposit sitting where a credit balance shouldn't be — and got escalated in the same close as a $506,000 treasury sweep that sailed through without a second look. It's the same pair used elsewhere on this site as a materiality example. It's worth returning to here, because the reason it happens isn't materiality at all.

The deposit account failed on relationship. A debit-balance asset carrying a credit balance is wrong regardless of the dollar amount, because the sign itself is the problem. The sweep passed on relationship and dominated on size — a large, well-documented movement of money between two accounts the company controls. A dollar-and-percent threshold measures the second thing. It has no way to see the first.

This isn't a materiality failure. It's a category error, and it's worth naming precisely, because naming it is most of what fixes it.

Two different questions

Standard variance analysis compares an account to itself: this month against last month, above or below a threshold. That's a real question and it catches real problems. But it's one comparison out of several, and it's the only one a size-based threshold knows how to ask.

The accounts that actually go wrong are frequently caught by a different comparison — not against their own prior balance, but against something else: a related account, an expected ratio, the sign the account type should carry, or whether the account should exist at all this period.

A variance threshold asks how much an account moved. It doesn't ask whether the movement makes sense against anything other than itself.

None of the checks below are about size. Some of the clearest failures are small.

What to actually check

Did the sign flip, on a movement small enough to pass unnoticed. A large sign flip — a $30,000 debit becoming a $30,000 credit — is a $60,000 swing, and any reasonable threshold catches it. The version that doesn't get caught is small: a few hundred dollars moving an account from a debit balance to a credit, where the dollar movement is trivial but the sign itself is what's wrong. That's the case a size-only view misses, not the sign flip generally.

A sign flip isn't automatically an error, either. There can be a legitimate reason for a debit-balance account to carry a credit, and the real question is usually whether it belongs in that account at all, or should be reclassed. That's a judgment call, not a correction — but it's a judgment that only gets made if someone looks.

Did an account that had no balance get one. Not automatically wrong — new activity is normal. But it's worth a beat to confirm the reason makes sense, rather than letting it pass because the movement from zero happens to be small.

Did the population of accounts change. A new account appearing on the schedule is a completeness question before it's anything else. Someone should be able to say why it exists this period and not before.

Does one account make sense against another. Cost of sales larger than revenue is the obvious version, but the same logic applies anywhere two accounts have a relationship a reader would expect to hold. Checking related accounts against each other catches things a single-account threshold structurally cannot, because each account can look individually fine while the pair doesn't.

Does an account hold its usual ratio to a driver. Some accounts run consistently as a share of something else — a percentage of sales, of a related expense, of whatever normally drives them. An account can move by a perfectly unremarkable dollar amount and still be telling you something, if that ratio has shifted materially. And a large move can be completely fine if the ratio held — the business itself just moved.

None of these say an account is wrong. They say it's worth a look before you sign it. There's usually a real reason. The point is that the reason gets checked instead of assumed.

Why a tool won't do this for you

Everything above requires knowing what a relationship is supposed to look like — which pairs of accounts should move together, what ratio is normal for this business, what sign an account is supposed to carry. That's context a variance schedule doesn't hold and a language model wasn't given.

A tool can absolutely compute any single comparison once you've told it which one to run. What it can't do is decide which comparisons matter for your chart of accounts, or notice that a check was worth running in the first place. That part is still the reason a person reviews the file.

Where this fits with the rest of the process

The four computed tests and the tool that runs them both grade whether an explanation is any good, once you've decided an account needs one. They say nothing about which accounts belong in that population in the first place — both pages say so directly. This is the other half. In the flux analysis demo, flip a sign and see why direction has to be checked before any threshold runs.

What flux review doesn't catch covers a related but distinct failure: accounts that produce no variance at all because the entry that should have moved them never posted. This article is about accounts that did move, and moved in a way a size threshold has no way to flag.

Small charges in large accounts is the same underlying idea from the opposite direction — a dollar-and-percent gate misses things at one end of the scale. This is the other end: things a dollar-and-percent gate misses regardless of scale, because scale was never the question.


If you work this in Excel: the free flux template flags what needs explaining and shows the residual your drivers don't cover. The CloseOps Flux & Variance System ($79) starts from your trial balance instead: confirm each account's classification and it builds the income statement and balance sheet flux statements, then ranks what to investigate.

Related: how this fits the whole process in month-end flux, start to finish. Also four of the five tests your flux commentary fails are arithmetic, what flux review doesn't catch, what happens when a late entry moves an account after commentary is finished, and the same threshold problem one level up, when accounts get rolled into reporting lines. Also exceptions agents won’t catch.

Found something wrong or missing? Tell me here — anonymous, thirty seconds.