Tax Document Processing

Extract data from Form 990

Unstract reads Form 990, 990-EZ, 990-PF and 990-T returns, whether e-filed PDFs or scanned public copies, and sends revenue, expenses, officer pay and grants paid as checked data to your grants management system.

990-2025-riverbend-literacy.pdf · grantee renewal packetstructured data
{  "form": "Form 990",  "tax_year": 2025,  "organization": "Riverbend Literacy Alliance",  "ein": "**-***3307",  "total_revenue": 2207670,  "grants_paid": 214000,  "total_expenses": 2055455,  "revenue_less_expenses": 152215,  "net_assets_eoy": 1638545,  "confidence": 0.94}

Trusted by tax and accounting teams around the globe

G2 Leader, Fall 2026G2 Best Usability, Summer 2026
Moody'sEndpointMedaxionPinpointConvrSmart ClerkCyberSoftThoughtFocusZluriIOA
What arrives

Grantees send their 990 in whatever form they have on hand

A program officer asks for the latest return and gets a file the grants team still has to read line by line. These are the usual shapes.

Public copies printed, signed and scanned back in

990990-EZ990-PF

The same figure on a different line in each version of the return

PART I LINE 12PART VII OFFICER212,400SCHEDULE AMETNOT MET

Reviewer notes written over last year's copy

990SCH ASCH BSCH I84 PAGES · 1 PDF

The return and every schedule in a single 80-page file

GRANTS PAID · 412 RECIPIENTS

A 990-PF grants list attached as a free-form statement

Staff copy revenue, expenses and officer pay into a review sheet by hand, so a renewal waits weeks before anyone weighs the grantee's finances.

Unstract reads each 990 and its schedules, pulls the lines you name, compares them with last year's return and the grant application, and records the result for review.

Book a consultationFree consultation worth $1,000. Send a few grantee 990s ahead and we'll run them live.
How it works

Parse, extract and automate the 990s behind every grant decision

Three products sit behind this page. Start with reading returns, then add extraction and the full due-diligence run when your grant cycle calls for them.

Form 990 OCR

Parse Form 990 returns into text that keeps every Part and line number

LLMWhisperer reads e-filed PDFs, public-database printouts and scanned copies of Form 990 with the page layout intact. Line 12 stays beside its amount, the Part VII compensation table keeps its columns, and the tax-exempt status boxes keep their marks.

Pass the text to an LLM of your choice, or use it as the opening step of a longer review.

Learn more about LLMWhisperer
FORM990 (2025)ORGRiverbend LiteracyLINE 81,842,300LINE 122,207,670LINE 13214,000LINE 182,055,455LINE 22 EOY1,638,545
AI data extraction

Get structured data from Form 990, 990-PF and their schedules

Name the lines and schedules you track, and Document Studio returns every 990 as one JSON record, whether the grantee filed the full return, the 990-EZ or a 990-PF. Schedule A support figures, Schedule I grants and the Part VII compensation table come back as linked records. A figure that moved sharply from last year, or that disagrees with the grant application, arrives flagged.

Deploy it as an API or an ETL pipeline, or run it inside a larger due-diligence workflow.

Learn more about Document Studio
total_revenue2207670✓program_revenue316450⚑exec_comp168400⚑grants_paid214000✓net_assets_eoy1638545✓⚑ grant app: 285,000⚑ 2024 return: 121,500
Agentic process automation

Run grantee 990 review from the request to the grant record

Describe how your team reviews a grantee's Form 990 in plain English, and Flow's agents build the workflow: returns collected from grantee uploads or pulled from public filings, each one read with its schedules, compared with the prior year and the grant application, and the figures recorded in your grants management system or due-diligence file. You approve the workflow once, and every grantee goes through it the same way.

It pauses for a program officer only where you set a rule: revenue or net assets that swing past your threshold, officer pay that jumped, a schedule that should be there and is missing, or a line the model read with low confidence.

Learn more about Flow
1
Return intakeForm 990s uploaded by grantees or pulled from public filings
2
Read and extractParseEvery Part, line and schedule, layout keptExtractRevenue, expenses, officer pay, program spending
3
CheckAgainst last year's return and the grant application; big swings flagged
4
RecordFigures saved in your grants management system or due-diligence file

Read one 990 today. Automate the grant cycle's reviews next.

Start for free to parse and extract returns you already hold. Automating grantee review begins with a consultation.

Supported documents, processes & fields

Every version of the 990, with the schedules filed behind it

Documents

  • Form 990 Return of Organization Exempt From Income Tax
  • Form 990-EZ Short form return
  • Form 990-PF Return of private foundation
  • Form 990-T Exempt organization business income tax return
  • Form 990-N e-Postcard confirmations
  • Schedule A Public charity status and public support
  • Schedule B Schedule of contributors
  • Schedule C Political and lobbying activities
  • Schedule D Supplemental financial statements
  • Schedule F Activities outside the United States
  • Schedule G Fundraising and gaming
  • Schedule I Grants to domestic organizations and individuals
  • Schedule J Compensation information
  • Schedule L Transactions with interested persons
  • Schedule O Supplemental information
  • Schedule R Related organizations
  • 990-PF grants paid and approved for future payment
  • Amended and prior-year 990 returns

Fields captured

Organization nameEIN, maskedTax year and periodTax-exempt statusGross receiptsMission statementVoting members and independentsNumber of employeesOfficers, directors and key employeesReportable compensationPublic support percentagePreparer and firmOfficer signature and date
Who it's for

Built for the people who fund and review nonprofits

Foundations and grantmakers

Each applicant's last three 990s read before the committee meets, with revenue swings and officer pay changes already marked.

Nonprofit audit and accounting firms

Client returns tied back to the audited statements and the trial balance, so Part I differences surface before the 990 is signed.

Charity research and ratings teams

Thousands of public filings turned into comparable records, ready for program ratios and compensation benchmarks.

Donor-advised fund sponsors

Charities recommended by donors checked for status and recent filings before a grant leaves the fund.

Outcomes

Less copying from returns, more time weighing the grantee

<3 minfrom a grantee's upload to a checked record in your grants system
91%of 990s read straight through without retyping
54%fewer staff hours on financial due diligence
2×faster from renewal request to committee packet
The primary problem it solves is the high failure rate of extracting complex tables from financial documents. Standard tools often scramble the rows and columns, but LLM Whisperer accurately extracts these tables for us in a format ready for processing.
G2Anonymous · Reviewed on G2
1 / 3
Security

Public returns, private donor lists, kept apart

Most of a Form 990 is public by law. A public charity's Schedule B is the exception: the copy filed with the IRS names major donors and their gifts, and the public copy leaves those names out. A grantee that sends its filed copy hands over donor identities it never had to disclose, and those names must not reach a shared report or a ratings database.

AICPA SOC 2ISO 27001GDPRHIPAA
  • Files are encrypted while they move and while they are stored.
  • Grantee returns and donor schedules never train any model.
  • Extraction returns only the fields you name, so donor names on a filed Schedule B can stay out of the record entirely.
  • Access by role: only named reviewers open a filed copy, and each correction is logged against the return.
  • Retention and hosting you choose, including self-hosted processing for foundations that keep grantee files in-house.
See how grantee data is handled in the Trust Center
Questions

What funders and reviewers ask before they start

Yes. 990-PF data extraction covers Part XIV grants paid and approved for future payment, including the attached statements foundations use when the list runs long. Each grant comes back as its own row with recipient, purpose and amount, and the rows are totalled against the figure on the return.

Extract Part VII and Schedule J from each year's return into the same record shape. Officers, titles, reportable pay and other compensation then line up by person and year, and a change past your threshold comes back flagged.

Yes. LLMWhisperer reads skewed scans, faxed copies and printouts from public databases, and keeps each amount on its Part and line. A value read with low confidence goes to a reviewer with the page beside it.

A record you can compare, not a block of text. A useful 990 data extractor reads every version of the return without a template, checks Part I totals against the lines that build them, and delivers into the grants or research system your team already uses.

Yes. Nonprofit tax return extraction here covers Form 990, the 990-EZ short form, the 990-PF for private foundations and the 990-T for unrelated business income. Each maps into one schema, so a small grantee filing the EZ compares cleanly with a large one filing the full return.

Yes. Schedule A Part II or III comes back with each year's support figures and the public support percentage, so a reviewer can confirm a grantee still qualifies as a public charity.

You decide. Extraction returns only the fields you define, so a filed Schedule B can be read for totals while donor names and addresses stay out of the record.

Yes. Document Studio deploys an API endpoint for the 990: send a return and receive the record as JSON. The same extraction runs as an ETL pipeline over a folder or S3 bucket of downloaded filings.

Yes. Describe the review and Flow's agents build it: collect the return, read it, check it against last year and the application, and record the result. You approve the workflow first, and it stops for a program officer only at the points you chose.

Unstract is SOC 2, ISO 27001, GDPR and HIPAA compliant. Returns are encrypted, never used for training and deleted on your schedule, and self-hosted options are available; details are in the Trust Center.

Next step

Bring this cycle's grantee 990s to the consultation

Full returns, 990-EZs and private foundation 990-PFs with their schedules. We run them live and show every figure, comparison and flag.

Start for freeTry it on a public 990 from your own portfolio today.