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.
| HOLDING | QUANTITY | PRICE | MARKET VALUE |
|---|---|---|---|
| EQUITIES AND ETFS | |||
| AAPL Apple Inc. | 120 | 227.40 | 27,288.00 |
| MSFT Microsoft Corp. | 85 | 431.20 | 36,652.00 |
| JNJ Johnson & Johnson | 140 | 162.35 | 22,729.00 |
| VTI Vanguard Total Stock Market ETF | 210 | 286.50 | 60,165.00 |
| Total equities and ETFs | 146,834.00 | ||
| FIXED INCOME | |||
| US Treasury Note 4.25% 08/15/2035 | 50,000 | 101.125 | 50,562.50 |
| BND Vanguard Total Bond Market ETF | 300 | 73.18 | 21,954.00 |
| Total fixed income | 72,516.50 | ||
| CASH | |||
| Bank deposit sweep | 18,420.36 | ||
| Total account value | 237,770.86 | ||
| INCOME THIS PERIOD | |||
| Dividends | 386.42 | ||
| Interest | 1,062.50 | ||
| Total income | 1,448.92 | ||
BND 300 sh? our book has 280 — MR
Prices as of Sep 30, 2026. Treasury price per 100 of par value.
{ "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
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
Three custodians, three names for the same column
Cost basis crossed out and rewritten by the client
Summary, holdings, activity and realized gains in one long PDF
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.
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.
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 LLMWhispererTurn 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 StudioRun 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 FlowExtract 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.
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
For the teams that reconcile and report on client portfolios
Held-away accounts from every custodian read on arrival, so the client review shows the whole household, not only the assets you custody.
Statements from a dozen banks and brokers for one family in one structure, ready for consolidated net worth reporting.
Positions and cash reconciled to the custodian every month-end, with breaks routed to the person who clears them.
Realized gains, dividends and interest pulled from client statements before the 1099s arrive, so tax planning starts early.
Reconciled books sooner after every month-end
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.




- 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.
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.
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.









