Two slips of paper lie side by side on a desk. Each says the same thing: "Revenue: 100." A short script pulled both from public company filings in under a second, and it did its job correctly, because both numbers are really there. One of them is a company's whole revenue for a quarter, stated in millions of dollars. The other is one business segment of a different company, for a full year, stated in thousands. Before anyone accounts for the difference between a quarter and a year, the two figures are a thousandfold apart. The script was never asked whether they measure the same thing, so it never found out.
Last Wednesday, July 1, the Securities and Exchange Commission posted its semiannual report to Congress on the public and internal use of machine-readable data for corporate disclosures, the edition dated June 2026.1 The Financial Data Transparency Act of 2022 requires the report every 180 days until the provision expires in December 2029. It is a staff report, and its disclaimer says the Commission itself has expressed no view on its analysis or conclusions. Among much else, it counts 55 forms, schedules and statements covered by the relevant disclosure provisions, of which 43 require some machine-readable data, and it describes the tools SEC staff use on that data. One of them, called iView, can pick out disclosures that use a company's own custom tags and can sort tagged numbers by their scale: thousands, millions or billions.2 That a regulator built a filter for scale says something about where the trouble is.
My argument is that machine readability and economic comparability are two different achievements. The first lowers the cost of retrieving a number. The second requires establishing that two numbers belong together: the same kind of measure, for compatible periods, in the same unit and scale, describing comparable slices of comparable entities. Structured disclosure makes that second job far easier to check. It does not do the checking. This is not a complaint about XBRL, the tagging language behind the financial statement data companies file with the SEC, which is the reason such checks are possible at all. Nor is it a claim that tagged filings are generally unreliable; the report makes no such finding, and neither do I.
Extracted · fact A
Revenue100
Read- Entity
- Northwind Tools, consolidated
- Concept
- Revenues
- Period
- Jan 1 to Mar 31, 2026 · one quarter
- Unit
- USD
- Scale
- millions
- Slice
- none · whole company
Extracted · fact B
Revenue100
Read- Entity
- Harbor Supply
- Concept
- Revenues
- Period
- FY ended Jan 31, 2026 · twelve months
- Unit
- USD
- Scale
- thousands
- Slice
- Retail segment only
Same word, same digits. Readable in a second.
Different envelopes. Scale alone puts them a thousandfold apart.
Not yet comparedWhat travels with a tag
A tagged number in a filing is never as bare as the slip on the desk. Under the XBRL specification, every fact points to a context that names the entity it describes, the period it covers (a single instant, such as a balance on a date, or a span with a start and an end), and, optionally, a narrower segment or scenario. Every numeric fact must also state its unit of measure and how precise it is.3 The statute behind the report sets the same bar in words: machine-readable data can be easily processed by a computer "without human intervention while ensuring no semantic meaning is lost."2
So the meaning usually leaves the filing intact. It gets lost later, on the way into a spreadsheet, when an extraction keeps the value and drops the envelope. A column headed "Revenue" holds whatever arrived. A dataset that flattens segments into one number per company quietly mixes totals with parts. A script that reads the figure as displayed, rather than with its declared scale, turns millions into thousands. None of these steps is exotic. Each is a reasonable shortcut for someone who wanted a number quickly.
The meaning can also slip at the source. In 2023 the SEC's Division of Corporation Finance published a sample letter with the kinds of comments its staff may send about tagging. One describes a filing in which common shares outstanding were tagged with materially different values on the cover page and on the balance sheet, because one used whole amounts and the other used thousands.4 The letter is illustrative guidance, not a finding against any real company, but it shows that scale is a known point of failure, familiar enough to earn a standard comment.
The questions behind a comparison
Before two facts can sit in the same column, five questions need answers, and the slips in Figure 1 fail every one. Whose number is it? A parent company's consolidated revenue is not a subsidiary's, and one segment is not the whole. What does it measure? Two companies can use different concepts for what a reader would call sales. Over what period? A quarter is not a year, and a fiscal year ending in January is not a calendar year, though it can be aligned with one by a stated rule. In what unit and scale? Dollars and euros, thousands and millions, per share and in total. Which slice? A figure broken out by segment, product or region answers a narrower question than the total.
None of this is new to an accountant. What is new is the speed. When collecting a fact took an analyst an afternoon with a printed annual report, the context arrived with it, in the surrounding pages. When collecting ten thousand facts takes a few seconds, the context is only as complete as the extraction that kept it.
Custom tags are not a trick
The hardest of the five questions is usually the second. The standard taxonomy offers a common vocabulary of concepts, and the SEC's sample letter reminds filers that custom tags are meant for cases where "an appropriate tag does not exist in the standard taxonomy."4 The same letter flags a related problem inside a single company: using different elements to tag the same line item in different periods, which breaks a time series before it ever meets a competitor.4
It would be easy to read every custom tag as evasion. That would be unfair. Businesses differ, and a company that sells fuel at its stores, or earns most of its revenue from a type of contract the taxonomy describes poorly, may represent itself more faithfully with a concept of its own. But each custom tag is a fact that a comparison has to map by judgment rather than by lookup, and a mapping is a claim that someone should be able to inspect.
An honest seam
The SEC's own public data service offers a useful model. Its "frames" interface assembles one figure per company for a requested calendar period, and its documentation says plainly how: it takes the fact "last filed that most closely fits the calendrical period requested," accepts annual figures spanning 365 days, plus or minus 30, and quarterly figures spanning 91, plus or minus 30, and tells users to be mindful that facts in a frame can have different start and end dates.5 A retailer whose year ends on January 31 can appear in a calendar-year frame. That is a choice, not an error, because the rule and its tolerance are written down and the reader is warned.
That is the standard I would hold any comparison tool to, including the ones we build inside companies. A match that meets an exact rule can be used as is. A match that needs a conversion should show the conversion. A match the software cannot establish should say so, show its uncertainty, and link to the original disclosure, rather than silently force the nearest label. Figure 2 sets out the three cases.
Comparison ledger · illustrative
Cheaper to collect, not equally read
The report's case for structured disclosure rests mostly on cost. It summarizes academic studies finding that tagging lowered the cost of processing information, made prices more informative, and narrowed the advantage of insiders over outsiders and of local investors over distant ones. It notes that anyone can download the data from the SEC at no charge.2 These are the staff's readings of other people's research, not new estimates, and the report's footnotes cite contrary work alongside, including on comparability.
The mechanism is still worth taking seriously. When retrieving a number gets cheap, more people can analyze it, and the edge that once came from simply having the data shrinks. But a dataset everyone downloads equally is not one everyone interprets equally. The advantage moves from who can get the number to who knows what the number covers. The opportunity, for regulators, data vendors and anyone publishing analysis, is to make the context as cheap to carry as the value.
Objections, considered
This understates the value of XBRL. It would, if the conclusion were to distrust tagged data. It is the opposite. Every check in Figure 2 is possible only because the context was recorded in a form software can read. Before tagging, confirming that two figures shared a period and a scale meant reading two documents. The argument is for using the structure the filings already carry, not for retreating from it.
AI can infer the matching concept. It can often propose a good one. The report itself cites research finding that giving language models structured data reduces their errors, including scale errors, compared with unstructured documents.2 That supports the point: what helps the model is the context. A proposed mapping is still a claim, and for a comparison that will inform a decision, the uncertainty and the original evidence should travel with it.
A common taxonomy cannot describe every business. Correct, and it should not try. Forcing every company's revenue into one concept would make the data more uniform and less true. Faithful representation sometimes requires a concept of a company's own, and comparability then requires judgment about how close is close enough. The point is that the judgment should be visible, not that it can be eliminated.
A number becomes comparable when its context survives the trip.
Before the next comparison
- Count the fields. When your pipeline extracts a fact, which of entity, concept, period, unit, scale and slice does it keep, and which does it discard?
- Write down the rule. When two periods or scales do not match exactly, is the conversion stated somewhere a reader can see it?
- Surface the doubt. When a concept match is uncertain, does the output say so, or does it quietly choose the nearest label?
- Keep the road back. Can an analyst get from any number in your report to the original disclosure in one step?
- Check your own filing. If you publish tagged data, would a stranger comparing you with a peer reach the conclusion you would?
Back to the two slips on the desk. Restore what the script left behind and they stop pretending to be the same: one says 100 million dollars for Northwind's first quarter, the other 100 thousand dollars for a year of Harbor's retail segment. Both were readable all along. Neither was comparable until someone carried its context with it.