StockData

XBRL: how financial statements become data, and why numbers can differ between sources

eXtensible Business Reporting Language (XBRL) is the machine-readable tagging standard that US public companies use to report financial statement numbers in their SEC filings. Each tagged fact pairs a numerical value with four core attributes: an accounting concept from a standard taxonomy, a reporting period, a unit of measure, and a filing context. Financial platforms map these varied tags into standardized line items and derive fourth-quarter and trailing twelve-month figures by combining annual 10-K and quarterly 10-Q filings.

Updated Oct 28, 2026

What XBRL is and how SEC filings become data

XBRL Fact = Numeric Value + Concept + Period + Unit + Context

eXtensible Business Reporting Language (XBRL) is the open data standard used to encode financial statements so software can extract accounting numbers directly from regulatory filings. The Securities and Exchange Commission (SEC) phased in mandatory XBRL tagging for US public companies between 2009 and 2011. Since 2019, companies have filed using Inline XBRL (iXBRL), which embeds machine-readable tags directly inside the HTML of Form 10-K and Form 10-Q reports. Before XBRL, data providers had to transcribe tables manually or parse plain text, a process prone to delays and transcription errors.

In an XBRL filing, every reported figure is recorded as an individual data point called a fact. Each fact carries a concept (such as us-gaap:Revenues), a reporting period, a unit, and a context. The period specifies either a duration for income statement and cash flow items or a point in time for balance sheet items. The unit defines the currency or share count, while the context identifies whether the figure applies to the consolidated company or a specific business segment.

Because thousands of public companies file with the SEC, turning filings into comparable statements requires mapping raw taxonomy concepts into standard rows. Two companies reporting the same economic activity often use different US GAAP tags for a single line item. Financial platforms must extract consolidated facts, filter out footnote sub-tables, and normalize equivalent tags into unified financial statements.

Worked example: from raw tags to Q4 and TTM figures

Consider a hypothetical company, Apex Industrial Corp., which files its annual Form 10-K for the fiscal year ended December 31. On its income statement, Apex reports full-year revenue of $1,000 million tagged with us-gaap:SalesRevenueNet for the twelve-month period in US dollars under the consolidated context. In its three Form 10-Q filings for that year, Apex reported quarterly revenue of $220 million in Q1, $240 million in Q2, and $260 million in Q3. Because US companies file three quarterly 10-Q reports and one annual 10-K rather than a standalone Q4 report, fourth-quarter revenue is derived by subtracting the first three quarters from the annual total: $1,000 million minus ($220 million + $240 million + $260 million) equals $280 million.

Next, suppose Apex files its Q1 Form 10-Q for the following year and reports $250 million in revenue. Trailing twelve-month (TTM) revenue is calculated by taking the latest 10-K revenue ($1,000 million), adding the new Q1 revenue ($250 million), and subtracting the prior-year Q1 revenue ($220 million), resulting in $1,030 million. Suppose that in this new Q1 filing, Apex also reclassifies a divested unit to discontinued operations and restates prior-year Q1 revenue in the comparative column from $220 million down to $200 million. A platform using the restated comparative figure calculates TTM revenue of $1,050 million ($1,000 million + $250 million - $200 million) and Q1 year-over-year growth of 25%, whereas a platform keeping the original Q1 filing shows $1,030 million and 13.6% growth.

A third difference appears if Apex highlights "Adjusted Revenue" of $260 million in its earnings press release by adding back $10 million of deferred revenue write-downs. Press releases on Form 8-K are not tagged with full statement XBRL and frequently emphasize non-GAAP metrics. As a result, an investor checking Apex after Q1 earnings may see $250 million on a site using GAAP XBRL tags, $260 million on a site showing non-GAAP figures, and different TTM totals depending on restatement handling.

How to interpret XBRL tags across industries

The US GAAP taxonomy includes more than 15,000 concepts, and a typical Form 10-K contains between 1,000 and 3,000 tagged facts across statements and footnotes. Only about 100 to 150 of those facts appear on the primary income statement, balance sheet, and cash flow statement, while the remainder cover footnote tables, debt schedules, and segment disclosures. For standard manufacturing, retail, and technology businesses, primary concepts map cleanly to conventional templates. A single top-line tag such as us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax or us-gaap:Revenues usually captures total sales, followed by standard tags for cost of goods sold and operating expenses.

In financial and regulated sectors, however, taxonomy structures differ sharply from the standard commercial layout. Commercial banks report interest and dividend income (us-gaap:InterestAndDividendIncomeOperating), interest expense, and noninterest income rather than gross revenue and cost of goods sold. Insurance carriers divide inflows between net premiums earned, net investment income, and realized investment gains, which causes top-line totals to vary across data providers depending on whether realized gains are grouped into revenue. Real estate investment trusts (REITs) and utilities likewise rely on sector-specific tags for rental income, property expenses, and regulatory assets, so investors should verify how a platform maps industry-specific tags when comparing margins across sectors.

Limitations and common mistakes when using XBRL data

One major limitation of XBRL is that SEC rules allow filers to create custom extension tags when management believes no standard US GAAP concept fits a specific line item. While extensions capture company-specific detail in footnotes, using them on primary statements reduces comparability because custom tags must be mapped manually or by heuristics into standard line items. A second common issue occurs when automated parsers confuse consolidated figures with dimensional facts that describe a single geographic region or product line. If a parser extracts a concept without verifying that its context represents the consolidated entity with no segment dimensions attached, a subgroup number can overwrite the company-wide total.

Investors also run into discrepancies caused by fiscal calendar differences and fourth-quarter adjustments. Retailers ending their fiscal year in late January or technology firms ending in May or October may be bucketed into different calendar periods on different platforms. In addition, when a company records a full-year reclassification in its 10-K without amending prior 10-Q filings, subtracting the original Q1 through Q3 numbers from the full-year 10-K pushes the entire annual reclassification into derived Q4 results. Reviewing the underlying tags and filing dates helps distinguish genuine fourth-quarter operating shifts from accounting reclassifications.

How StockData calculates it

Since 2009-2011, US public companies have tagged the numbers in their SEC filings with XBRL, and since 2019 they have reported using Inline XBRL directly inside the HTML filing. Every tagged fact in a filing carries a concept (such as us-gaap:Revenues), a reporting period, a unit, and a context. StockData normalizes companies' different tags into a standard set of line items across the financial statements. Because companies choose different taxonomy concepts for equivalent items, one company's revenue or expense line on StockData may come from a different XBRL tag than another's.

When figures on StockData differ from other websites, those differences come from adjusted versus GAAP figures, restated periods, different fiscal calendars, and how Q4 and TTM numbers are derived. StockData presents standardized GAAP financial statements built from official SEC filings rather than non-GAAP press release adjustments. To make every line item transparent and auditable, StockData shows the source filing and XBRL tag when you hover a number.

Common questions

What is the difference between XBRL and Inline XBRL (iXBRL)?

Traditional XBRL, phased in for US public companies between 2009 and 2011, required filers to submit a separate machine-readable XML file alongside their HTML filing. Inline XBRL, phased in by the SEC starting in 2019, embeds those XBRL tags directly inside the human-readable HTML document so investors and software read the exact same file.

Why does revenue or EPS for the same stock differ between financial websites?

Financial websites often differ because some display non-GAAP adjusted numbers from earnings releases while others extract strict US GAAP figures from SEC filings. Discrepancies also arise when platforms map XBRL tags differently, use original filings instead of restated comparative periods, align non-standard fiscal calendars differently, or use different rules to derive Q4 and TTM figures.

How do financial data sites calculate Q4 numbers when companies only file a 10-K?

US public companies file three quarterly Form 10-Q reports and one annual Form 10-K report, with no separate filing for the fourth quarter. Data platforms derive Q4 flow figures such as revenue, net income, and cash flow by taking the full-year number from the 10-K and subtracting the sum of Q1, Q2, and Q3 from that fiscal year's 10-Q filings. Point-in-time balance sheet items do not require subtraction because the year-end 10-K balance sheet already represents the end of Q4.

Why do two companies in the same industry have different XBRL tags for revenue?

The US GAAP taxonomy includes multiple valid revenue concepts, such as us-gaap:Revenues, us-gaap:SalesRevenueNet, and us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax. Each company selects the tag that best matches its accounting disclosures or historical filing template. Data platforms normalize these varying tags into a single standardized revenue line item so investors can compare companies side by side.

See it in the data