Finance Document Processing

Extract data from brokerage statements

Unstract reads brokerage statements, portfolio reports and treasury reports from any custodian, as PDFs or scans, and sends accounts, holdings, cash and income to your portfolio accounting system, reconciled to your books.

hartwell-stmt-q3-2026.pdf · custodian statementstructured data
{  "custodian": "Hartwell Brook Securities",  "account_holder": "Whitcombe Family Trust",  "account_number": "**-***4190",  "period_end": "Sep 30, 2026",  "equities_value": 146834,  "cash": 18420.36,  "total_value": 237770.86,  "income": 1448.92,  "positions": 6,  "confidence": 0.95}

Trusted by finance teams around the globe

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

Every custodian prints its statement its own way

A download from the custodian's portal is the tidy case. Client paperwork from outside accounts tends to look like this.

Paper statements a client mailed in, scanned at an angle

MARKET VALUECURRENT VALUEENDING VALUE

Three custodians, three names for the same column

COST BASISACQUIRED14,210.00GIFTED?YESNO

Cost basis crossed out and rewritten by the client

SUMMHOLDACTVG/L1 STATEMENT · 22 PAGES

Summary, holdings, activity and realized gains in one long PDF

HOLDINGS EXPORT · 3 ACCOUNTS

Treasury reports and holdings files exported to spreadsheets

Operations staff key each position from dozens of custodian formats before anyone can reconcile, so a client's quarterly report waits on the slowest statement.

Unstract reads each statement in its custodian's layout, pulls the accounts, holdings, activity and income, reconciles positions and cash, and posts them to your portfolio accounting system.

Book a consultationFree consultation worth $1,000. Bring three custodians' statements and see them reconciled.
How it works

Parse, extract and reconcile statements on one platform

Read the statement, turn the positions into records, run the reconciliation around them. Use one product or stack all three.

Brokerage statement OCR

Parse brokerage statements with every position on its own row

Capture the full text of a brokerage statement, a portfolio report or a treasury report, from a portal PDF, a mailed paper copy or a fax. Holdings tables keep their columns, so a quantity never slides under the price column and a bond's par amount stays apart from its market value. Portfolio report OCR keeps section headings in place too, so equities, fixed income and cash stay separate.

Send the text to your own LLM, or make parsing the first step of a reconciliation workflow.

Learn more about LLMWhisperer
ACCOUNT**-***4190PERIODJul 1 – Sep 30, 2026AAPL120 @ 227.40UST 4.25% 3550,000 @ 101.125BND300 @ 73.18CASH18,420.36TOTAL237,770.86
AI data extraction

Turn brokerage statements into position records your books accept

Name the fields you track, from symbol, CUSIP and quantity to price, market value, cost basis and income, and every statement comes back in the same JSON structure, whichever custodian printed it. A Treasury priced per 100 of par and an ETF priced per share both arrive as clean numbers. Each value is checked as it comes out: a quantity that disagrees with your books, or cash that differs from the sweep statement, arrives flagged with the reason.

Call it as an API from your portfolio platform, run it as an ETL pipeline from a shared folder or S3, or make it one step in an orchestrated reconciliation.

Learn more about Document Studio
aapl_quantity120✓ust_2035_value50562.50✓bnd_quantity300⚑cash18420.36⚑total_value237770.86✓⚑ book shows 280⚑ sweep stmt 18,240.36
Agentic process automation

Run statement reconciliation from custodian to client report

Describe your brokerage statement reconciliation in plain English and Flow's agents build the workflow. Monthly and quarterly statements arrive from custodians, clients and outside advisors, and each one is read the same way. Positions and cash are compared with your portfolio accounting system, matches post, and the client report draws on reconciled figures. You approve the workflow once, and it runs identically every month-end.

Set the conditions for a person to step in: a quantity break, a cash difference above your tolerance, a security your system doesn't know. Only those accounts stop, and operations sees the break with both figures.

Learn more about Flow
1
Statement intakeCustodian statements, monthly or quarterly, from portals, email and mail
2
Read and extractParseEvery holdings row as textExtractAccounts, positions, activity and income
3
ReconcilePositions and cash against your books; breaks flagged
4
Post and reportMatches post; breaks go to operations

Extract the holdings now. Automate reconciliation when you're ready.

Start for free lets you parse and extract your own statements today. Automating the month-end reconciliation starts with a consultation.

Supported documents, processes & fields

Brokerage statement processing software for every custodian's paperwork

Documents

  • Brokerage statements
  • Custodian statements
  • Investment statements
  • Portfolio reports
  • Treasury reports
  • Retirement account statements
  • Trust and estate account statements
  • Realized gain and loss reports
  • Unrealized gain and loss reports
  • Transaction and activity reports
  • Trade confirmations
  • Consolidated Forms 1099
  • Fund capital account statements
  • Performance reports

Fields captured

Custodian or brokerAccount holderAccount numberAccount typeStatement periodAdvisor and branchOpening valueClosing valueDeposits and withdrawalsCash and sweep balanceMargin balanceBase currency
Who it's for

For the teams that reconcile and report on client portfolios

Wealth managers and advisors

Held-away accounts from every custodian read on arrival, so the client review shows the whole household, not only the assets you custody.

Family offices

Statements from a dozen banks and brokers for one family in one structure, ready for consolidated net worth reporting.

Fund and portfolio administrators

Positions and cash reconciled to the custodian every month-end, with breaks routed to the person who clears them.

Tax and accounting firms

Realized gains, dividends and interest pulled from client statements before the 1099s arrive, so tax planning starts early.

Outcomes

Reconciled books sooner after every month-end

<3 minfrom statement received to reconciled positions in your system
91%of holdings extracted without an operations edit
54%fewer hours keying statements in the first quarter
2×faster turnaround on quarterly client reports
I use it to read tables and extract insights and key performance indicators, particularly from financial statements.
G2Harshit KhandelwalTechnical Consultant, Deloitte · Reviewed on G2
1 / 3
Security

Protecting what a statement reveals about a client

A brokerage statement carries the account number, the holder's name and often a tax ID, next to every position the client owns. Together they show a household's net worth and give a fraudster what they need to impersonate the account owner.

AICPA SOC 2ISO 27001GDPRHIPAA
  • Encrypted in transit and at rest.
  • Client statements are never used for model training.
  • Access by role, team and client household, and every change to a position recorded against the statement it came from.
  • You set retention: statements are deleted on the schedule your recordkeeping rules require.
  • Self-hosted deployment for firms whose compliance policy keeps client data inside their own environment.
See how client financial data is protected in the Trust Center
Questions

What advisors and operations teams ask first

One that keeps the holdings table intact and returns the same fields for every custodian. LLMWhisperer turns the PDF or scan into text with its columns in place, and Document Studio deploys an endpoint that returns accounts, positions, cash and income as JSON.

It reads each statement by meaning, not by position on the page. "Market value", "current value" and "ending value" all land in the same field, so a statement from a new custodian needs no template.

LLMWhisperer straightens and cleans the scan, then reads the holdings table with its columns kept. Document Studio pulls the fields you named, and a quantity or total it cannot read clearly comes back flagged instead of guessed.

Yes. Par amount, price and market value are captured as separate fields, with coupon, maturity and accrued interest where the report prints them. A Treasury note at 101.125 on 50,000 of par comes back as a market value of 50,562.50, checked against the line.

Yes. Flow compares each position and the cash balance with your portfolio accounting system and lets matches post. A quantity break or a cash difference above your tolerance goes to operations with both figures side by side.

Yes. Buys, sells, dividends, interest, fees, deposits and withdrawals come out as transaction records, and realized gain and loss reports come out lot by lot with dates and cost basis.

Yes. A household statement with an IRA, a joint account and a trust is split by account first, and each account's holdings and cash come back as their own record with the account number masked as printed.

Statements from every bank and broker the family uses are read in one structure, so consolidated reporting no longer waits on someone retyping a custodian's PDF. Each value links back to the page it came from.

Unstract is SOC 2, ISO 27001, GDPR and HIPAA compliant. Statements are encrypted in transit and at rest, never used to train models, and kept only as long as you set. Firms that need data to stay in-house can self-host; see the Trust Center.

In a consultation we set it up around your custodians' statements, your fields and your reconciliation rules, and most teams process their first live month-end within days. To try the extraction now, start for free and upload a statement.

Next step

Bring a month-end's statements from three custodians

Portal PDFs, a mailed scan and a treasury report, plus a holdings export from your books. We extract them live and show every position, every reconciliation check and each break.

Start for freeOr try it on your own statements today.