SEC XBRL Data Notes
What I learned building a reconciler over every SEC filing — the parts that surprised me, written down while they were still surprising.
These are working notes rather than articles: each one starts from something that broke while I was building BalanceProof and works out why. Most of them are about XBRL, because XBRL is where the surprises are. A filing can report the same figure twenty-three times, all of them correct, and hand you the wrong one without raising anything.
The recurring theme is that bad financial data almost never looks bad. It arrives as a plausible number from a real filing, which is why every note here ends in a check you can run yourself rather than a claim you have to take. Where there is code, it is the code this site actually runs. Where there is a figure, it is counted live or it is not published: the methodology page shows what is checked and what is currently failing.
-
How to Build a Scalable SEC EDGAR Pipeline Under the 10 RPS Limit
Three IP bans, and none of them were going too fast. The User-Agent rule, why time.sleep(0.1) stops working the moment you add a second worker, and the bulk loads that make the rate limiter almost irrelevant.
-
Why Your SEC Filing Data Is Wrong (And How to Check)
The consolidated figure in an XBRL filing is the one with no dimensions attached, so the right answer is defined by an absence. A five minute test you can run against your own data to find out which one you have.
-
Why SEC XBRL Data Is Wrong 1 Out of 5 Times (And How to Fix It)
JPMorgan tags Total Assets 23 times in one filing and exactly one of them is the bank. This is how a parser picks the wrong one without ever raising an error, and what the accounting identity does about it.
-
Why Bank Balance Sheets Are Different
A bank runs on roughly ten cents of equity per dollar of assets, where a software company might run on sixty. Why that is the business rather than a warning sign, and what it looks like drawn at true proportion.
-
Understanding the Accounting Identity
Assets = Liabilities + Equity is not a guideline, it is what makes the document a balance sheet. That makes it a test you can run against data you did not produce, including on companies with negative equity.