One March close, four planted errors.
The current answers agree on the method. CFO Shortlist suggests flagging an operating expense line when it moves more than 10 percent and more than 25,000 dollars, and adding year over year where seasonality matters. DualEntry suggests running more than one basis for the same month. None of them shows which basis finds which mistake, so we tried it.
Here is an example software company’s March income statement, nine lines in US dollars, next to four things you could compare it with. The expected column is February plus the changes the team knew about before the close; the next section shows how it was built.
| Line | March recorded | February | March last year | Budget | Expected |
|---|---|---|---|---|---|
| Subscription revenue | 1,214,000 | 1,180,000 | 905,000 | 1,250,000 | 1,210,000 |
| Cloud hosting | 96,000 | 146,000 | 118,000 | 135,000 | 150,000 |
| Salaries and bonus | 664,000 | 610,000 | 560,000 | 626,000 | 664,000 |
| Software subscriptions | 125,000 | 40,500 | 112,000 | 46,000 | 47,500 |
| Legal and professional | 9,000 | 31,000 | 28,000 | 30,000 | 31,000 |
| Subcontractors | 22,000 | 0 | 0 | 0 | 0 |
| Marketing events | 82,000 | 12,000 | 15,000 | 10,000 | 82,000 |
| Rent | 52,000 | 52,000 | 48,000 | 52,000 | 52,000 |
| Travel | 26,500 | 18,000 | 24,000 | 20,000 | 26,000 |
Four errors are in the March column. Together they overstate operating expenses by 25,000 dollars, which is small next to a million dollar cost base. Each one is still a wrong number in the books.
| Line | What went wrong | Effect |
|---|---|---|
| Cloud hosting | One of two invoices for March was never accrued | 52,000 understated |
| Software subscriptions | An 84,000 annual renewal was expensed in March instead of prepaid, the same mistake as last March | 77,000 overstated |
| Legal and professional | A legal invoice was coded to Subcontractors | 22,000 understated |
| Subcontractors | A new account, opened in March for a client project, received the legal invoice | 22,000 overstated |
With a 25,000 floor, last year finds nothing.
First, the common rule: 10 percent and 25,000 dollars for costs, 5 percent and 50,000 for revenue, a line flagged only when it passes both.
| Compared with | Lines flagged | Errors caught | Flagged lines that are not errors |
|---|---|---|---|
| Same month last year | 3 | 0 of 4 | Revenue, salaries, marketing events |
| Last month | 3 | 2 of 4 | Marketing events |
| Budget | 3 | 2 of 4 | Marketing events |
| Expected | 2 | 2 of 4 | None |
The same month last year missed all four. The hosting omission hid inside a year of growth: March is 22,000 dollars below last March, under the floor. The software renewal was expensed in March last year too, so this year’s repeat looks like a modest 13,000 dollar increase. Comparing with last year tests whether this year resembles the last one, and a mistake made both years passes that test.
Last month and the budget each caught the two large errors. Neither caught the legal invoice coded to the wrong account. The drop in legal, 22,000 against last month and 21,000 against the budget, sits under the 25,000 floor, and Subcontractors had nothing in it before, so there is no percentage to test and the both-tests rule cannot pass. The auditors’ standard on analytical procedures, PCAOB AS 2305, notes at paragraph .12 that differences from expected relationships may point to omissions. That only helps if the rule lets the difference through.
Lower the floor, and the basis decides the noise.
Now the same exercise with 10 percent and 10,000 dollars on every line, and a line that was zero last time judged on its amount alone.
| Compared with | Lines flagged | Errors caught | Flagged lines that are not errors |
|---|---|---|---|
| Same month last year | 7 | 4 of 4 | Revenue, salaries, marketing events |
| Last month | 5 | 4 of 4 | Marketing events |
| Budget | 5 | 4 of 4 | Marketing events |
| Expected | 4 | 4 of 4 | None |
Every basis now catches all four errors. The difference is the work around them. Against last year the team writes seven explanations, three of them for subscription growth, a larger team than a year ago, and a conference that moved from April to March. Against last month or the budget it writes five, one of them for the conference. Against the expected column it writes four, and every one of them leads to a correcting entry.
Nine lines make the gap look small. On a ledger with a few hundred accounts, the same pattern decides whether the flagged list is something a reviewer reads closely or something they skim.
How to build the expected column.
AS 2305 paragraph .05 lists prior period information “giving consideration to known changes” as a source of expectations, alongside budgets. That phrase is the whole method: take last month and add what you already know is different. In the example it took six entries.
| Line | Known change | Amount | Expected March |
|---|---|---|---|
| Subscription revenue | Net new subscriptions billed in March | +30,000 | 1,210,000 |
| Cloud hosting | Usage trend over the last three months | +4,000 | 150,000 |
| Salaries and bonus | Two hires starting 1 March, and the annual bonus paid each March | +16,000 and +38,000 | 664,000 |
| Software subscriptions | One month of the annual renewal, now held as a prepayment | +7,000 | 47,500 |
| Marketing events | The March conference | +70,000 | 82,000 |
| Travel | Travel to the conference | +8,000 | 26,000 |
| Legal, subcontractors, rent | Nothing known | 0 | Same as February |
The budget looks similar and works less well here. It was set in December, before the two hires and before the conference moved, so it raises lines that need a business explanation rather than a fix. Paragraph .17 of the same standard makes the general point: as an expectation becomes more precise, a difference from it is more likely to be a misstatement. Paragraph .19 adds that monthly comparisons are generally more effective than annual ones.
- A few days before the close, ask payroll, AP, billing and whoever runs events for the changes they already know about this month: hires and leavers, bonuses, renewals, price changes, one off events. Write each one down with an amount and an owner.
- Start the expected column from last month’s actuals, line by line, and add each known change to its line. Keep the list of changes next to the column so a reviewer can see where every number came from.
- Set an amount floor you are willing to explain every month, and judge a line that was zero last month on its amount alone. In the example, 10,000 dollars did the work and 25,000 let two of the four errors through.
- Run the flux against the expected column. Every flagged line gets a driver and an owner before the close is signed. A line that is flagged against expected and still needs no fix usually means a known change was missed from the list, so add it for next month.
- Keep the budget comparison for the management pack and the same month last year for lines with a real season, such as an annual event. Both are useful questions; neither is the best way to find a missed accrual.
How Rivane runs flux today.
Rivane’s Flux Analysis compares a month with the month before by default, and can compare with three months back, twelve months back or any month you choose. Each entity stores one materiality rule, and the flagged lines, the review list and any AI drafted commentary all read the same rule.
Rivane flux analysis, as built
# How Rivane runs flux today.
where Flux Analysis, under close
management
compare to last month by default, three or
twelve months back, or any month
you pick
lines income statement on the month's
activity, balance sheet on the
closing balance
rule one per entity: an amount in the
functional currency, a percent,
joined by AND or OR
default 10,000 and 10 percent
new balance judged on its amount alone, never
shown as a 100 percent change
comments drafted by AI or written by a
person; every figure in the text
must match the account's figures
approval by someone other than the author;
editing approved text sends it
back to draft
Applied to the example as it stands, the default rule of 10,000 and 10 percent against last month flags five lines: the four errors and the conference. A few details are worth knowing. The amount in the rule must be in the entity’s functional currency, and one in any other currency is refused. Flux compares one month with another; it does not yet hold an expected column of its own. The closest you can get today is to save your expected figures as a revised budget version and run Budget vs Actual against it, which gives the variances without the materiality rule or the approval flow. In the separate Variance Analysis report, a line that was zero last month shows 0.0 percent, so filter that report by amount rather than by percent, or a new balance drops out of view.
Keep the record your auditor will ask for.
AS 2305 paragraph .20 asks the auditor to decide how much difference from an expectation can be accepted without investigation. Your own rule, written down and applied the same way each month, is the management side of that conversation.
- The materiality rule as it stood for the period, who set it and when it last changed.
- The expected column with its list of known changes, each with an amount and the person who supplied it.
- For each flagged line: the explanation, who wrote it, who approved it, and when.
- Any correcting entry the flux led to, linked back to the line that flagged it.
Set the floor first, then pick the comparison.
Choose an amount floor low enough to reach the errors you would want to correct, and judge new balances on amount. Then compare against last month plus the changes you already know about, so the list you review is mostly the things that need fixing. Keep the budget for the board and last year for seasonal lines.
To see the flux rule, the comparisons and the commentary approval on your own ledger, look at Rivane reporting.
Sources
- PCAOB, AS 2305, Substantive Analytical Procedures, paragraphs .05, .12, .17, .19 and .20. Read in the page for prior period information giving consideration to known changes and budgets as sources of expectations, differences that may indicate omissions, a more precise expectation narrowing the range of expected differences, monthly amounts generally being more effective than annual ones, and the amount of difference that can be accepted without further investigation.
- CFO Shortlist, What Is Flux Analysis? Read as a current answer. It recommends flagging an account when its movement exceeds both a percentage and a dollar amount, gives over 10 percent and over 25,000 dollars as an example operating expense rule and over 5 percent and 50,000 dollars for revenue, and says month over month runs every close with year over year added where seasonality matters.
- DualEntry documentation, Flux analysis. Read as a current answer. It offers an absolute amount threshold, a percentage threshold or both, a comparison basis of prior period or same period prior year, and suggests running more than one basis for the same period.
- Truewind, Flux analysis in Sage Intacct. Read as a current answer. It recommends a dual threshold and gives 10,000 dollars and 5 percent as an example.
A note on how this was researched. AS 2305 was read on the PCAOB’s own page. The three current answers were read in full as text. The company, the March close and the four errors are examples, and every figure in the tables was computed from them in a script and checked by hand. The Rivane section describes the product as built today, checked against the code rather than marketing copy.
On embedded social posts: we looked for public posts from practitioners or vendors on choosing a flux comparison basis and found none we could verify as current, relevant and authentic, so this article uses ordinary citations instead.