01The problem is not auditing: it is knowing what to audit
The universe covered runs to thousands of stocks across eight indices, plus crypto, ETFs and funds. Checking them one by one is not a plan, it is an intention: by the time you reach the end of the list, half of it has been republished.
So we inverted it. Fifteen checking rules run on the response being served, right before it goes into cache. Because the cache lasts a day, each stock is checked at most once every 24 hours, and only if somebody looks at it. What gets audited is exactly the figure a user has in front of them, which is where a bad number does damage. The cost is a few thousand subtractions on data already in memory.
A rule that fires on 40% of the universe informs nobody: it teaches people to ignore the report. So every finding carries a level: error when the table contradicts itself and an accounting identity is broken, warning when there is a possible explanation.
02What turned up
These figures were published and were being served as good:
- AWR · revenue: served $136.7M, actual $658.1M, which produced a 149% operating margin.
- Camden · revenue: served $13.0M, actual $1,573.5M: a 2,965% net margin.
- Bank of Hawaii · revenue: served $121.9M, actual $887.8M.
- AES · customers: served 11.0M, actual 1.68B, 150 times more.
- NVIDIA · cash: served $10.61B, actual $49.67B.
- ProFrac · 2023 total assets: served $1.34B, actual $3.07B.
- MGE Energy · revenue: served −$33.8M, actual $743.7M.
- AbbVie · days payable: served 696, actual 66.
- LifeMD · 2020 ROE: served +3,565%, actual blank: the company was losing money.
03Four faces of the same cause
Almost everything found was the same thing: a row assembled from pieces of different documents. Change the piece, change the symptom.
Two statements. ProFrac amended its annual report solely to add an exhibit: the parent-only balance sheet, unconsolidated. It was filed without the tag that says «this is parent-only», so the official registry publishes it as though it were the consolidated one, and it wins by being the most recent filing. The signature of that exhibit is that equity does not change: at 31 December 2023 total assets read 3,070.7 against 1,340.8 and liabilities 1,742.1 against 70.9, but equity is 1,211.2 in both.
Two generations. Fortive moved a division to discontinued operations and restated 2018 three years later. The restated gross margin was being served alongside the original revenue, because between two rival concepts the larger one won, and a restatement is usually smaller, so the correct figure lost every time.
Two periods. Zurn changed its fiscal year end and published two complete financial years inside 2019. Each concept resolved to its own: a March gross margin against December revenue, and the subtraction produced −$556.0M. The inverse case, Insteel: a quarterly report tagged as annual slipped the 31 December balance sheet through as if it were the 1 October year end.
Two identities. The same corporate group filing under two entities, with the figures of one landing in the row of the other.
04What it is worth, and what it is not
Running the rules over the served universe took the share of stocks with no findings from 63% to 83.6%. That is the honest number: it is not 100%, and a checking system that claimed 100% would be describing its own blind spots rather than the data.
What this does not do is make the underlying filing correct. The regulator publishes what the company files. What a checker can do is notice when two figures in the same row cannot both be true, and either fix the pairing or say «no data», which is always better than serving a plausible number that is wrong.
Frequently asked questions
How do errors get into published financial statements?
Usually not as typos in the filing itself, but as rows assembled from different documents. The four recurring causes are: parent-only statements mixed with consolidated ones, restated figures paired with original ones, two fiscal periods resolving to different year ends after a company changes its calendar, and two corporate identities of the same group filing separately. Each produces a figure that is plausible on its own and impossible next to its neighbours.
How can you spot an error in a company's reported accounts?
By checking relationships rather than levels. An operating margin above 100%, negative revenue, or equity that stays identical while total assets more than double are all signs that two figures in the same row come from different documents. A single number rarely looks wrong; the arithmetic between numbers does.
What is a restatement and why does it cause data errors?
A restatement is when a company republishes earlier figures on a new basis, typically after moving a division to discontinued operations. It causes errors because data pipelines that take the largest available value for a concept will keep the original figure and discard the restated one, since restatements are usually smaller. The result is a restated margin sitting next to original revenue.
Does a data quality check make the numbers correct?
No. The regulator publishes what the company files, and a checker cannot change that. What it can do is notice when two figures in the same row cannot both be true, and either fix the pairing or show «no data». Running fifteen such rules over the served universe took stocks with no findings from 63% to 83.6%. Not 100%, and any system claiming 100% is describing its blind spots rather than the data.
Findings from the quality control run in September 2026 over the served universe. The rules run on the response about to be cached, so each stock is checked at most once a day and only when somebody actually looks at it.
This is information and analysis, not financial advice, and it contains no recommendation to buy or sell. See the disclaimer.

