devlog

Why some values from SEC filings don't appear in our tables

Before Invest collects more data than it shows. Here's why.

July 10, 2026

One of Before Invest’s features lets you click on any figure in a financial table to pull up the official document filed with the SEC by the company.

If you do this, you might notice that some values present in the official document don’t appear in our table for certain years — despite our promise to display financial data as reported. This isn’t a bug, and I’ll explain why with a concrete example.

The Costco case

Costco — Before Invest vs SEC filing
Clicking "Total Revenue" on Costco's 2025 income statement reveals Net Sales and Membership Fees in the SEC filing, but they're missing from the Before Invest table.

Take Costco. If you open the income statement and click on “Total Revenue” for fiscal year 2025, the official document appears — and you’ll notice two lines that are present in that document but missing from the Before Invest table: Net Sales and Membership Fees. Yet those same lines do appear in our table up through 2017, and then vanish.

Why the discrepancy?

Under the hood: XBRL contexts

To understand it, you need to look at how these figures are declared in the XBRL file — the standardized format that all listed companies use to submit their financial data to the SEC.

Here’s what you’ll find in Costco’s 2025 filing:

<!-- Net Sales -->
<us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-4" ...>
  269912000000
</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>

<!-- Membership Fees -->
<us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-7" ...>
  5323000000
</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>

<!-- Total Revenue -->
<us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-1" ...>
  275235000000
</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>

All three lines use the exact same accounting concept (RevenueFromContractWithCustomerExcludingAssessedTax), but with different contexts. That’s where everything hinges.

c-1 is the consolidated context — it represents the company as a whole over the period. This is the one Before Invest uses to build its tables.

c-4 and c-7 are dimensional contexts: they use the same accounting concept, but scoped to a specific segment — here ProductMember (merchandise sales) and MembershipMember (membership fees). In XBRL, this is called an explicit member on an axis (ProductOrServiceAxis).

This wasn’t the case in 2017, when Net Sales and Membership Fees were declared in the consolidated context — which is why they appear in the Before Invest table up to that year. At some point, Costco changed how they structure their XBRL filing, moving those two lines into dimensional contexts. Same data, different declaration.

What Before Invest does with this data

Before Invest collects all dimensional data present in every document filed with the SEC. But it isn’t displayed in the tables.

The reason is straightforward: breakdown axes vary considerably from one year to the next, and from one company to another. Without reliable normalization, it’s impossible to build tables that are comparable over time — which is the whole point of Before Invest. Displaying raw segment data without being able to unify it wouldn’t deliver the analytical value it deserves.

All of this dimensional data is already collected and stored for every company. The groundwork is done. Finding the best way to surface it is the next challenge — maybe with some help from AI.

Vincent Lagache

Founder