US based nonprofits must file IRS 990 tax forms, even though they may not pay taxes. ProPublica’s Nonprofit Explorer makes it simple to report on annual tax-reported income, expenses, and more for US based foundations, giving us a reliable way to compare finances for some organizations. International foundation tax law varies by country, so more research is needed there!
Model Overview: US 990 Forms
Data is stored per US recognized 501C* nonprofit as a single ein.json
file in _data/p990
. We store this data for convenience, and in case ProPublica’s datastore ends. These 990 JSON data files are generated by ProPublica based on official IRS data dumps of actual processed tax filings. Data includes IRS-defined metadata about a nonprofit in the organization
object, and then a list of actual 990 tax filings. Full details are in ProPublica’s API reference.
990 filings provide a consistent way to see total revenue, expenses, and assets for any US nonprofit. They also provide some level of detail within those numbers, in terms of amount of contributions (voluntary donations) versus program expenses or other types of income.
US 990 Data Notes
- Time Lag Nonprofits often file taxes late; it also takes a long time for the IRS to publish them, and then ProPublica or other aggregators to parse and quantify them.
- Data Errors I have seen a few figures in ProPublica’s rolled-up organization object that were wrong, likely due to scanning or importing errors in their process.
- Categorization We need to create a guide showing exactly what 990 field values mean in FOSS Foundation contexts. “Contributions, gifts, grants, and similar amounts received” is a fairly clear number that can be (almost) compared between 990 and 990-EZ forms. But it’s not always clear to a reader what “Program Service Revenue” means for the typical foundation.
- US Only Making direct comparisons from 990 forms to other country tax (or similar) forms will be challenging.
Tooling
Current Tooling
foundation_reporter
reads foundation records for EINs, then finds and caches ProPublica 990 JSONs.
Data is typically output as .json into the _data/p990
directory. Note that Jekyll doesn’t always like subdirectories that start with digits.
Roadmap / Contributions Wanted
ProPublica’s JSON only shows a subset of 990 filings, and rarely has data bugs (i.e. numbers scanned wrong). There are many other ways to programmatically scan 990 forms; the best (coming soon!) toolset seems to be the Giving Tuesday 990 Infrastructure Project.
- Build charting/reporting by year/org for key finances.
- Linting and error checking.
- Explore IRSx and other all-990-data parsing tools.
- Automation to update 990s from ProPublica (or wherever) periodically, to find when orgs file new tax years.
- Build visualizations of contributions vs. sponsorship model income; especially comparing c3 to c6 orgs.
International Nonprofit Tax Law
Nonprofit taxes vary by country, so Europe is quite complex when comparing different organizations. While there aren’t any completely similar structures in Europe as 501(c)(3)’s, there are some ways to measure equivalent kinds of tax and governance laws.
- IRS Equivalency Determination - guidelines for determining if a specific non-US organization is similar enough to a (c)(3)
- NGO Source - an organization specializing in making equivalency determinations
International Nonprofit Tax Lookup
- EU wide https://e-justice.europa.eu/106/EN/business_registers_in_eu_countries?GERMANY&member=1
- UK https://register-of-charities.charitycommission.gov.uk/documentation-on-the-api Detailed reports available
- BE https://economie.fgov.be/en/themes/enterprises/crossroads-bank-enterprises/services-everyone/consultation-and-research-data/cbe-public-search Fairly detailed reports available
- NL https://www.kvk.nl/zoeken/handelsregister/?handelsnaam=NLNet&kvknummer=&straat=&postcode=&huisnummer=&plaats=&hoofdvestiging=1&rechtspersoon=1&nevenvestiging=1&zoekvervallen=0&zoekuitgeschreven=1&start=0 Various reports available for a fee
- DE https://www.unternehmensregister.de/ureg/?submitaction=language&language=en or https://www.handelsregister.de/ - includes various downloads, but no obvious finances
- AT Searches cost a fee https://www.justiz.gv.at/service/datenbanken/firmenbuch/
Notes on some EU Charities
Eclipse Foundation 0760.624.114 https://kbopub.economie.fgov.be/kbopub/toonondernemingps.html?ondernemingsnummer=760624114 Includes official list of directors “legal functions”
https://kbopub.economie.fgov.be/kbopub/zoeknummerform.html?nummer=0760.624.114&actionLu=Search also finds Eclipse basic record table#toonfctie tr, then three tds = director/principal officer title, name, date
Eclipse bank record link: https://consult.cbso.nbb.be/consult-enterprise/0760624114 Includes links to download detailed finances, in French; offers PDF, CSV, or XBRL format downloads
Eclipse Foundation Europe Gmbh 0804.570.458 https://kbopub.economie.fgov.be/kbopub/toonondernemingps.html?ondernemingsnummer=804570458