Engineering Research · Paper

Reclassified to Conform

Financial statements change their lines from year to year. Our new paper uses the periods filings repeat to reconstruct those changes and build histories with a source behind every number.

Where did $880 million go?

Open Apple's annual report for fiscal 2021, and its cash flow statement shows $880 million of proceeds from issuing common stock in fiscal 2020. Open the report for fiscal 2022, which shows fiscal 2020 again, and the line is gone.

It went into "Other." The fiscal 2022 report puts fiscal 2020's "Other" at $754 million: the old $880 million plus the old "Other" of ($126) million. Both numbers were true when filed. The report's only word on it is one sentence in Note 1: "Certain prior period amounts in the consolidated financial statements and accompanying notes have been reclassified to conform to the current period's presentation." It doesn't say which amounts or where they went, and neither does the label or the XBRL tag. The arithmetic does, and it holds for fiscal 2021 too: $1,105 million plus ($129) million is $976 million.

Figure 1
The same two years in two 10-Ks: $880 million of stock proceeds moves into "Other"
Apple, financing section of the cash flow statement, $ millions. Shaded columns are the years both reports show.
FY2022FY2021FY2020FY2019
As reported in the 10-K for fiscal 2021
Proceeds from issuance of common stock1,105880781
Payments for taxes related to net share settlement of equity awards(6,556)(3,634)(2,817)
⋯
Other(129)(126)(105)
Cash used in financing activities(93,353)(86,820)(90,976)
As reported in the 10-K for fiscal 2022
Proceeds from issuance of common stock no longer shown
Payments for taxes related to net share settlement of equity awards(6,223)(6,556)(3,634)
⋯
Other(160)976754
Cash used in financing activities(110,749)(93,353)(86,820)
880FY2020 stock proceeds in the FY2021 10-K
+
(126)FY2020 Other in the FY2021 10-K
=
754FY2020 Other in the FY2022 10-K
Rows omitted (⋯). The same check holds for fiscal 2021: 1,105 + (129) = 976. Source: Apple 10-Ks for fiscal 2021 and 2022; paper, Figure 1.

Anyone who has built a ten-year model from filings has likely done this by hand. Companies choose which lines to show and how finely to break them down, and they change those choices. Lines get renamed, split, merged, and moved, and a line's XBRL tag can change while the line carries on. SEC filings are about as structured as financial data gets, and they keep no consistent, machine-readable record of any of it.

The same year, printed twice

Consecutive annual reports show some of the same years. Apple’s fiscal 2021 and fiscal 2022 reports both show 2020, but under different sets of lines. That overlap lets us examine changes in presentation for the same historical period. It constrains the explanation, though several explanations can fit the same numbers.

Apple's case is the easy one: one line moved, and the arithmetic says where. Usually several lines move at once and more than one story fits. A line missing from the newer report may have ended, gone into a neighbor, been rolled into its total, or been merged with others into a new line. All four leave the newer report looking the same. Only the year both reports show tells them apart.

Figure 2
Four ways a line can disappear, and the year that tells them apart
In each case line A is gone from the newer report. Only the year both reports show (Y1) says which of the four happened. Made-up numbers.
Ended the line stopped
Older report, Y1Newer report, Y1ended0Line A35Line B35Total35Line B35Total
A = 0 Nothing is restated, and nothing in the newer report accounts for A.
Absorb it went into a neighbor
Older report, Y1Newer report, Y125Line A10Line B35Total35Line B35Total
25 + 10 = 35 B is restated up by exactly A.
Fold it was rolled into its total
Older report, Y1Newer report, Y125Line A10Line B35Total35Total
25 + 10 = 35 The total doesn't change; its parts stop being shown.
Merge it was combined into a new line
Older report, Y1Newer report, Y125Line A10Line B5Line E40Total35Line Cnew5Line E40Total
25 + 10 = 35 A new line C equals the sum of the lines that ended.
figures in the checkrestated by the newer reportnumber movesshown or hidden, nothing moves
Source: paper, Figure 3.

A market for explanations

We treat each boundary between two consecutive reports as a small market. A tag whose numbers carry over unchanged from one report to the next is joined first, so only the breaks are left to explain. Then a bounded search lists candidate edits that could explain those breaks, and each one that passes the check its kind requires puts in a bid. Candidates include renames, merges, splits and other changes in presentation. A merge, for instance, qualifies only when its parts add up to the new line on the shared periods used for the check.

Each bid is a price for how much the edit asks you to believe beyond what the filings show. Numbers that carry over cost nothing; new or changed numbers add to the price. Evidence that singles out a pairing earns a credit. An integer program selects the combination with the lowest total cost, including the cost of lines left unexplained. No line can be explained twice.

Across the 200 companies, selecting the edits takes a quarter of a second of solver time, excluding loading the filings and generating candidates. The method uses no language model, company-specific mapping, or dictionary of related tags.

What we found

We ran the method on 200 companies drawn at random and on a 32-company specimen set we developed it on, across up to fifteen years of annual reports and all three statements. Two results stand out.

1. 194 of 200 companies reshape a statement somewhere in their history

A change of shape is an edit the tag can't follow: a merge, split, carve-out, absorb, fold, break out, swap, or transfer. Across the random sample's 6,103 boundaries between consecutive annual reports, 17% carry at least one. Cash flow statements carry the most: 22% of their boundaries on the random sample and 26% on the specimen set.

Figure 3
Cash flow statements change shape most often
Share of boundaries between consecutive annual reports where the method chose at least one change of shape. Random sample: 200 companies, 6,103 boundaries.
Boundaries with a change of shape: income statement 273 of 1,988; balance sheet 298 of 2,066; cash flow 448 of 2,049; all 1,019 of 6,103. On the 32-company specimen set the shares are 10%, 13%, and 26%, or 16% overall, and 30 of the 32 companies have at least one. Source: paper, Table 3.

2. More history, with 90.4% agreement on the added cells

Following the tag alone, which is how the SEC's XBRL API groups a company's facts, is a strong baseline. We compared both against a commercial vendor's series for the 124 companies in the random sample that have a usable one. Each cell is one line in one year. On the cells both approaches fill, the tag agrees with the vendor 96.5% of the time, and the method matches it there (96.6%).

The difference is reach. The method fills 5,004 cells the tag can't, 9.7% more, every one past a boundary where the tag changed or the line was reshaped, and 90.4% of those agree with the vendor. Across all 59,371 cells compared, agreement rises from 83.6% to 91.2%. Agreeing with one vendor doesn't prove a number right, since two series can agree on a wrong one, but both approaches face the same test. A match to any filing's value along the reconstructed history counts; this does not require agreement with the value displayed in the finished table.

Figure 4
Agreement with a vendor's series rises from 83.6% to 91.2% of cells
Share of cells where the line we followed carries, in some filing, the number the vendor shows for that year. 124 companies from the random sample, 59,371 cells.
Following the tag alone
83.6% agree3.0% disagree13.4% no number in our history
Following lines with the method
91.2% agree3.7% disagree5.1% no number in our history
The method fills 5,004 cells the tag leaves blank (9.7% more), and 90.4% of them agree with the vendor; the tag fills 41 cells the method leaves blank. On the cells both fill, agreement is 96.6% for the method and 96.5% for the tag. Source: paper, Table 6.

Numbers outweigh names: Palantir's slipped tags

Palantir's annual report for fiscal 2021 printed its cash flow statement correctly. In the XBRL data behind it, the tags had slipped. Stock-option proceeds were filed under the debt tag, debt proceeds under the common-stock tag, common-stock proceeds under an investing tag for asset sales, and preferred-stock proceeds under the stock-option tag. The fiscal 2022 report kept the slip, and the fiscal 2023 report put the stock-option numbers back on their own tag.

A pipeline that follows tags, or the labels attached to them, keeps each line in place and reads every number as restated, so its debt row shows stock-option proceeds. Because every figure carried over digit for digit, the method prices a three-leg swap, plus a rename for the preferred-stock line, below four same-tag lines each restated in full, and each row follows its own series. The recovered stock-option history below follows those proceeds across the tag changes.

Figure 5
Palantir's stock-option proceeds sat on the debt tag in two annual reports
Five lines of the cash flow statement, by the XBRL tag each number was filed under, $ millions. Blank: no number on that tag.
XBRL tagFY2020 10-KFY2021 10-KFY2022 10-KFY2023 10-K
20192020201920202021202220212022
Proceeds from redeemable convertible preferred stock7.50.0
Proceeds from stock options exercised16.9298.87.50.0507.586.1
Proceeds from debt, net of issuance costs544.4199.416.9298.8507.586.1
Proceeds from issuance of common stock100.0942.5544.4199.40.00.0
Proceeds from sale of other assets (investing)0.00.3100.0942.50.00.0
stock-option proceeds, wherever they were taggedSwipe the table for later reports →
The printed fiscal 2021 statement shows the right numbers on the right lines; in its XBRL, each number is filed under a neighboring line's tag, digit for digit. The fiscal 2022 report keeps the slip, and the fiscal 2023 report puts the stock-option numbers back on their own tag. Rows follow the paper's order, not the filing's. Source: Palantir 10-Ks for fiscal 2020 to 2023; paper, Table 9 and Appendix C.3.
Figure 6
One recovered stock-option history
Proceeds from stock options exercised, $ millions. Each value links to a filing that reports it; † marks a value recovered from the debt tag in the cited filing.
Line20192020202120222023
Stock-option proceeds16.9†298.8†507.586.1218.2
The numbers are reported values, not estimates. The inferred links join them into one history despite the tag changes. The markers identify corrected tagging, not changes in the amounts. Sources shown: fiscal 2021 10-K for 2019–2020 and fiscal 2023 10-K for 2021–2023; paper, Appendix C.3.

What it makes possible

The output is a history of the lines, the inferred edits between filings, and the filing behind each number. Following a line does not make every year comparable. When its definition changes, the history marks the break. Some changes remain unresolved; the method can leave lines ended or started rather than recover the relationship between them. Three things follow.

Cited histories

A company's statements over fifteen years, in any filing's layout. Every cell names the filing and the fact it came from, every break in a line is marked, and a rebuilt total is a checked formula over its parts. On the random sample, 99.9% of the declared totals that can be checked still add up in the finished tables.

Every number, dated

Most years are stated by two or three filings that don't always agree. We keep every version with the date it was filed, so the same data gives the table as first reported, as last reported, or as it stood on any past date.

A changelog of reporting

A record of what each company changed in how it reports, boundary by boundary and by kind. For Apple's cash flow statement, the entry for the fiscal 2022 annual report reads:

absorbed proceeds from issuance of common stock (880 for 2020) into other financing (754); absorbed purchases and proceeds from sale and maturity of other investments into other investing

When the mapping is missing

The same problem appears inside firms. Fields are renamed, categories are combined, and reports change without a reliable record of how. Where successive reports repeat periods and declare totals, those provide evidence for reconstructing the changes.

This paper shows how that evidence can be used in financial statements. We bring the same approach to each firm’s own data: identify what the records establish, compute what follows, and preserve the sources behind the result.

Run this on your own data

Our engineers deploy on each firm's own data, and code pulls, computes, and cites every number.

Request a demo

Work with us

We're hiring engineers to work on problems like this one. Every open role is listed on our jobs page.

See open roles →
Chris Martin

Chris Martin

Chris is a Founding Engineer at Kepler. He spent 14 years at Palantir leading optimization work in airline routing, oil and gas, and manufacturing, and holds a PhD in aerospace engineering from the University of Illinois Urbana-Champaign, where he worked on optimal control and trajectory optimization.

LinkedIn →

Cite this paper

@misc{martin2026reclassified,
  title         = {Reclassified to Conform},
  author        = {Martin, Chris},
  year          = {2026},
  eprint        = {2609.38754},
  archivePrefix = {arXiv},
  url           = {https://arxiv.org/abs/2609.38754}
}

The paper is released under CC BY 4.0.