What brokerage statements TieoutIQ reads

Extraction is written against the structure of a document, not against a list of custodian templates. What matters is what the statement prints, so that is how this page describes it.

Holdings statements

The common case: a monthly or quarterly statement with a positions table, a symbol or description per row, a quantity, a price and a value, and a printed account or portfolio total. Rows are rebuilt from the page coordinates and summed against that printed total.

Activity statements with no positions table

Documents that record opens and closes but never print a holdings list. Open positions are reconstructed from the ledger and reconciled against the printed ending equity. Values are cost basis, because the document does not carry market prices, and those rows arrive flagged.

Tax-report position tables

Year-end reports that carry positions alongside income tables. The income tables are ignored, the position table is read, and the printed rate and printed amount columns are cross-checked against each other before a row is accepted.

Text layer, scan, and what changes

A real text layer goes first

If the PDF carries its own text, the deterministic parser reads it with no model involved. This is the cheapest and most auditable path, so it is always tried first.

A scan goes to the model pipeline

No text layer means nothing for the algorithm to parse, so the page goes to a self-hosted two-stage pipeline: one pass to read it, one to structure it. The reconciliation gate is identical either way.

Which path ran is recorded

You can see how each account was read and what its reconciliation verdict was, so a row extracted from a scan is never indistinguishable from one lifted out of a clean text layer.

Several currencies in one household

TieoutIQ reads 18 currencies. Conversion happens after verification, never before, and it is disclosed wherever the converted number appears.

Verified in the printed currency

A euro statement is reconciled against its own euro totals. Where one statement prints subsections in another currency, the statement's own printed rates are used.

Conversion is your decision

Combining across currencies asks you which currency to report in first. There is no silent default.

Provenance travels with the row

A converted position keeps the original amount and the rate used, and the period-end rate, its source and its date print on the page and in every export.

Common questions

Which custodians do you support?

We do not publish a supported-custodian list, because the extraction is written against document structure rather than against a per-custodian template. What decides whether a statement works is whether it prints a holdings table or an activity ledger and whether it prints a total to reconcile against, not whose logo is at the top. The honest answer for a statement you care about is to send it and see.

Does it handle scanned statements?

A statement with a real text layer is read by the deterministic parser first. A scan has no text layer, so it goes to the self-hosted model pipeline, which reads the page and then structures it. Either way the result has to reconcile against the statement's printed total before it is accepted.

Can it read a whole household at once?

Yes. Several statements can be uploaded as one household and each is verified separately against its own printed totals before anything is combined. If the statements are in different currencies you choose the reporting currency, and nothing is combined until you do.

What about statements with no holdings table?

Some documents are activity statements that never print a position list. Open positions are reconstructed by replaying the ledger, and the reconstruction has to reconcile against the printed ending equity. Values there are cost basis rather than market value, because market prices are not in the document, and those rows are flagged with reduced confidence. Where a document provably cannot yield verified holdings at all, it fails fast and says so rather than guessing.

What comes out?

A client-ready proposal PDF, a one-page summary PDF, and an Excel workbook with the holdings, the allocation, the validation results and the returns appendix. There are no integrations today: PDFs go in, PDF and Excel come out.

Can I convert a brokerage statement to Excel with this?

Yes, that is part of what it does, but it is not a PDF-to-Excel converter. The workbook is produced from positions that have already been reconciled against the statement's printed totals, and the validation results travel with them in their own sheet.