Finance Reference tableQC clean AI-training-safe

US Nonprofit Financials

Every US tax-exempt organisation's core financials in one tidy table - total revenue, expenses, assets, liabilities, net assets, contributions & grants, program-service revenue and investment income - keyed by EIN and tax year, with the org's name, state, NTEE code and IRC subsection attached. The IRS makes this public but the usable form is buried: the clean route is the Statistics of Income (SOI) Annual Extracts (one tabular CSV per year per form), NOT the ~1.5M-filing raw 990 XML corpus - but the three form types (990, 990-EZ, 990-PF) each ship a DIFFERENT column schema, the money fields are space-padded strings, the EZ zip is renamed between years, and none of the extracts carry the org name/state/classification (those live in a separate file, the Exempt Organizations Business Master File). We map all three forms onto ONE common financial schema, join the EO BMF for identity, and drop the in-care-of person and street-address fields. Cleaning IS the product. Six recent processing years (2019-2024). Public domain (U.S. IRS).

3.4M
rows
18
columns
280.0 MB
download
Source
IRS990
Licence
Redistributable open data
Quality
QC clean · 0 failures
Format
Apache Parquet + dictionary

Safe to train on

Built only from a named, redistributable official source under a documented open licence - not scraped web data. No copyright grey zone, no personal data. Ships machine-readable Croissant metadata (ML Commons - loads in Hugging Face / Kaggle / Google), an AI training-licence manifest documenting source, licence and provenance for your model's data governance, and a machine-readable data dictionary (drop it into an agent / RAG prompt so the model knows every column) - all inspectable before you buy.

What's included

  • Every US nonprofit's financials - 3.3M filings, 990 + 990-EZ + 990-PF, 2018-2024 tax years
  • One common schema across all three form types: revenue, expenses, assets, liabilities, net assets, contributions & grants, program-service revenue, investment income
  • Org name, city, state, NTEE code, IRC 501(c) subsection & ruling year joined from the EO BMF
  • Money fields parsed from space-padded strings to real USD; keyed by EIN x tax period x form
  • The clean SOI-extract route, not the 1.5M-file raw 990 XML corpus - the tedious join, done
  • Org-level financial facts only - in-care-of person & street address dropped, no personal data
  • Public domain (U.S. IRS, 17 U.S.C. 105) - free commercial reuse & resale; cleaned/derived
  • Source: U.S. Internal Revenue Service - SOI Tax-Exempt Org financial extracts + EO BMF

Schema

ColumnTypeDescriptionFilledDistinct
ein str Employer Identification Number, 9-digit zero-padded (with tax_period+form_type, the PK) 100.0% 775,862
org_name str Organisation legal name (from the EO BMF; null if no longer in the current BMF) 94.7% 647,891
city str Organisation city (EO BMF) 94.7% 17,254
state str US state / territory, 2-letter (EO BMF) 94.6% 60
ntee_code str National Taxonomy of Exempt Entities classification code (EO BMF) 68.1% 4,731
subsection_code str IRC 501(c) subsection code (e.g. 03 = 501(c)(3)); extract, BMF fallback 100.0% 27
ruling_year int Year the IRS granted tax-exempt ruling (EO BMF) 93.9% 126
tax_year int Tax year (calendar year of the tax period end) 100.0% 25
tax_period str Tax period end, YYYYMM (part of the PK) 100.0% 213
form_type str Return type: 990, 990EZ or 990PF (part of the PK) 100.0% 3
total_revenue float Total revenue, USD 100.0% 1,359,185
total_expenses float Total expenses (functional/per-books), USD 100.0% 1,288,479
total_assets float Total assets, end of year, USD 100.0% 1,709,121
total_liabilities float Total liabilities, end of year, USD 100.0% 756,722
net_assets float Net assets / fund balances, end of year, USD 100.0% 1,691,618
contributions_grants float Contributions, gifts & grants received, USD 100.0% 890,509
program_service_revenue float Program-service revenue, USD (null for 990-PF) 83.0% 775,328
investment_income float Investment income, USD (null for 990-PF) 83.0% 265,355

Sample & preview

Every purchase ships as Apache Parquet with a data dictionary and the full QC report. A free sample (first rows + schema) is downloadable here - confirm fit before you buy. Source: IRS990 (redistributable open data; attribution passes through - see our Licence).

Don't trust screenshots - drop the sample into your notebook right now.

import pandas as pd
df = pd.read_parquet("us-nonprofit-financials_sample.parquet")
df.info()   # typed columns, gap-aware, ready to join
⬇ Download free Parquet sample or CSV for Excel