# Datavidence Financials: point-in-time bulk file

Built 2026-11-12T11:53:22Z from SEC's `companyfacts.zip` (zip dated Thu, 12 Nov 2026 04:24:03 GMT).
Rows are produced by the same code as the Datavidence Financials API.

## Files

| File | Rows | What it is |
|---|---|---|
| `datavidence-financials-full.parquet`, `datavidence-financials-full.csv.gz` | 30,396,578 | Every company. Pro and Business plans. |
| `datavidence-financials-sample.parquet`, `datavidence-financials-sample.csv.gz` | 175,072 | 30 companies, full history, every column. Public. |
| `datavidence-financials-coverage.csv` | 20,571 | Every company in SEC's file and the years it covers. No values. Public. |

The Parquet and CSV files hold the same rows. The sample is cut from the same
build as the full file and is not edited.

## One row = one filed version of one value

A row is one company, one field, one fiscal period, as read from one filing.
When a later filing becomes the source for the same period, that is a new row
and the old row stays. `restated` says whether the figure differs from the
first one filed. So the file answers "what was the number as known on a given
date", which is what a backtest needs to avoid look-ahead bias.

`filed` and `available_from` are dates, not times. A filing accepted after the market
closes becomes public that evening, so a strategy that trades at the close of
`available_from` would use it a few hours early: for close-of-day trading, treat a
version as usable from the next trading day. SEC's exact acceptance time is in its
filing index for each `accession` (`acceptanceDateTime` in
`https://data.sec.gov/submissions/CIK##########.json`).

To get the values known on date D, keep the rows where
`available_from <= D` and (`valid_to` is empty or `valid_to > D`).
To get today's values, keep `is_latest = true`.

### Example from this build: Pfizer, fiscal 2019, `total_revenue`

| value | unit | form | accession | filed | available_from | valid_to | is_original | is_latest | restated |
|---|---|---|---|---|---|---|---|---|---|
| 51750000000 | USD | 10-K | 0000078003-20-000014 | 2020-02-27 | 2020-02-27 | 2021-02-25 | true | false | false |
| 41172000000 | USD | 10-K | 0000078003-21-000038 | 2021-02-25 | 2021-02-25 | 2022-02-24 | false | false | true |
| 40905000000 | USD | 10-K | 0000078003-22-000027 | 2022-02-24 | 2022-02-24 |  | false | true | true |

## Columns

| Column | Meaning |
|---|---|
| `cik` | SEC's company number (integer, no leading zeros). |
| `ticker` | The company's CURRENT ticker in SEC's list; empty when SEC lists none. Historical tickers are not included. After a reorganisation SEC lists the ticker under the new registrant and the earlier history stays under the old CIK with no ticker (Exxon Mobil: CIK 34088; Disney before 2019: CIK 1001039). Join on `cik`. |
| `name` | Company name in SEC's file. |
| `fiscal_year` | The fiscal year the period belongs to. |
| `period` | `FY`, or `Q1` to `Q4`. |
| `period_start`, `period_end` | The period's dates. Figures at a date (the balance sheet, shares outstanding) and empty values have only `period_end`. |
| `statement` | `income_statement`, `balance_sheet`, `cash_flow_statement`, `share_data`. |
| `field` | The normalized line item, as in the API (list below). |
| `value` | The figure; empty when there is none (see `empty_reason`). |
| `unit` | The company's reporting currency (`USD` for most), `shares`, or currency per share (`USD/shares`). |
| `empty_reason` | Why `value` is empty: `not_reported`, `not_applicable` (the line does not exist for this kind of company, by SEC industry code) or `cannot_derive`. |
| `taxonomy`, `tag` | The XBRL element the figure was read from. Empty for computed and empty values. |
| `derived`, `derivation` | `true` when the figure is computed from other filed figures, and the figures it was computed from. |
| `note` | A remark on how the figure was chosen, when there is one. |
| `form`, `accession`, `filed` | The filing the figure comes from, and its filing date. |
| `available_from` | The date this version became the current answer. |
| `valid_to` | The date the next version replaced it; empty for the current version. |
| `is_original` | `true` for the first version filed for that period. |
| `is_latest` | `true` for the current version. |
| `restated` | `true` when this version's figure differs from the first one filed for that period. |
| `filing_url` | The filing's index page on EDGAR. |

## Fields

- `income_statement`: `total_revenue`, `gross_profit`, `net_income`, `operating_income`, `pretax_income`, `income_tax_expense`, `interest_expense`
- `balance_sheet`: `total_assets`, `total_liabilities`, `stockholders_equity`, `noncontrolling_interest`, `total_equity`, `temporary_equity`, `cash_and_equivalents`, `current_assets`, `current_liabilities`, `net_ppe`, `long_term_debt`, `long_term_debt_current`
- `cash_flow_statement`: `operating_cash_flow`, `investing_cash_flow`, `financing_cash_flow`, `depreciation_amortization`, `capex`, `buybacks`, `dividends_paid`
- `share_data`: `eps_basic`, `eps_diluted`, `diluted_shares`, `shares_outstanding`

## Wide table in pandas

```python
import pandas as pd

df = pd.read_parquet("datavidence-financials-sample.parquet")
latest = df[df.is_latest & (df.period == "FY")]
wide = latest.pivot_table(index=["cik", "ticker", "fiscal_year"],
                          columns="field", values="value", aggfunc="first")
```

Ratios are not in the file: compute them from the rows you select, so the
inputs are always taken as of the same date.

## What is and is not covered

- Companies: 20,571 in SEC's file; 15,113 file under US GAAP and have rows
  here. The rest are listed in the coverage file with a reason (for example IFRS filers).
- Companies that stopped filing are included. `last_filed` in the coverage file is
  the date of their last filing in the data; SEC's data does not say why a
  company stopped.
- Quarterly figures: where no filing reports a quarter by itself (the fourth
  quarter; cash flow, which 10-Qs report year to date), the figure is computed
  from the filed ones and marked `derived`. Per-share figures and share counts
  are never computed: they are empty unless a filing reports them for the quarter.
- Values are 64-bit floats in Parquet and decimal text in CSV.

## Sample companies

- Apple Inc. (320193): fiscal year ends in late September
- MICROSOFT CORP (789019): fiscal 2017 revenue was restated under a new tag
- AMAZON.COM, INC. (1018724)
- Alphabet Inc. (1652044): history starts in fiscal 2015 (a new registrant)
- NVIDIA CORP (1045810): fiscal year ends in late January
- Meta Platforms, Inc. (1326801)
- BERKSHIRE HATHAWAY INC (1067983): insurer
- Johnson & Johnson (200406)
- PROCTER & GAMBLE Co (80424): fiscal year ends in June
- COCA COLA CO (21344)
- Walmart Inc. (104169): fiscal year ends in late January
- The Home Depot, Inc. (354950)
- Exxon Mobil Corporation (34088): no ticker: SEC lists XOM under a newer holding company
- UnitedHealth Group Incorporated (731766)
- Tesla, Inc. (1318605)
- COSTCO WHOLESALE CORP /NEW (909832): 52/53-week fiscal year; the fourth quarter is 16 weeks
- PFIZER INC (78003): earlier years were recast; fiscal 2019 revenue has three versions
- JPMORGAN CHASE & CO (19617): bank: current assets and operating income do not apply
- REALTY INCOME CORPORATION (726728): real estate investment trust
- Essential Utilities, Inc. (78128): filed an 8-K with another company's statements, which is not read
- KROGER CO (56873): 52/53-week fiscal year; the first quarter is 16 weeks
- Mastercard Incorporated (1141391)
- Philip Morris International Inc. (1413329)
- GENERAL ELECTRIC COMPANY (40545): figures restated by 8-K
- MetLife, Inc. (1099219): insurer
- THE BOEING COMPANY (12927): net losses in fiscal 2019 to 2024
- MCDONALDS CORP (63908): negative stockholders' equity in recent years
- WALT DISNEY CO/ (1001039): stopped filing in 2019; its history continues under CIK 1744489
- WALT DISNEY CO/ (1744489): history starts in fiscal 2019; earlier years are under CIK 1001039
- KOSS CORPORATION (56701): small company; fiscal year ends in June

Source data: U.S. Securities and Exchange Commission, EDGAR. This file is not
investment advice. Terms: https://financials.datavidence.ai/terms
