Bank Statement Ingestion — End-to-End Visual Guide

What you see in TAC from clicking "Bank Statements" through to the data being saved in the system

Complete Flow at a Glance

1
Navigate to
Bank Statements
2
Holdings tab
(default view)
3
Open Upload
tab, select bank
4
Drop PDF,
click Upload
5
Wait for
Claude Vision
6
Review &
Link holdings
7
Save to
Database
8
Done — visible
in Portfolio
Step 1 of 11
Navigate to Bank Statements
In the left sidebar, under OPERATIONS, click Bank Statements.
carretrm.alphacalibration.com
Page loads after clicking Bank Statements
Where to clickUnder OPERATIONS in the left sidebar — the item with an upload arrow icon labelled "Bank Statements".
What loadsThe Bank Statements hub with five tabs: Holdings, Transactions, Upload, History, and Connections.
Step 2 of 11
Holdings Tab — Default View
The page opens on the Holdings tab, showing all extracted holdings across every statement that has been committed to the database.
carretrm.alphacalibration.com
Bank Statements
Upload statements, view holdings and transactions, and manage bank connections.
Holdings
Transactions
Upload
History
Connections
SecurityISINAsset ClassQtyMarket ValueCCYBankDate
Apple IncUS0378331005Equities10018,500.00USDUBS31 Mar 2026
HSBC Holdings PLCGB0005405286Equities3008,200.00USDJulius Baer28 Feb 2026
iShares Core MSCI WorldIE00B4L5Y983Funds506,200.00USDUBS31 Mar 2026
Page 1 of 4
Holdings tabShows every holding extracted from all committed statements. Filter by bank, date range, or client to narrow results.
Connections tabOnly visible to admin and elevated users. Ordinary users will not see it.
Step 3 of 11
Transactions Tab — Cash Movements and Trades
Click the Transactions tab to view all cash movements, dividends, coupons, and trades extracted from every committed statement.
carretrm.alphacalibration.com
Bank Statements
Upload statements, view holdings and transactions, and manage bank connections.
Holdings
Transactions
Upload
History
Connections
Exec DateBankClientTypeSecurityAmount (Local)CCYStatus
31 Mar 2026UBSJohn SmithDividendApple Inc185.00USDSettled
28 Feb 2026Julius BaerMary LeeCouponHSBC 5.5% 20282,750.00USDSettled
30 Apr 2026BOSPeter ChanPurchaseiShares Core MSCI World2,480.00USDSettled
Page 1 of 2 (18 rows)
What "Type" meansEach row is a single cash event pulled from the statement: Dividend (income paid on a holding), Coupon (interest on a bond), Purchase or Sale (a trade), or Transfer (cash movement between accounts).
Same filters as HoldingsUse Bank, date range, and Client/Account to narrow results. Both tabs share the same filter bar — switch tabs to toggle between viewing positions and cash flows for the same period.
Export CSVClick ⬇ Export CSV to download all rows matching the current filter. Useful for reconciling against the paper statement.
Step 4 of 11
Upload Tab — Select a Bank
Click the Upload tab. Step 1 of 3 appears. Choose the bank from the dropdown before doing anything else.
carretrm.alphacalibration.com
Bank Statements
Upload statements, view holdings and transactions, and manage bank connections.
Holdings
Transactions
Upload
History
Connections
1 Upload
2 Review & Link
3 Save to Database
Upload bank statement
Select a bank to get started.
Bank
Drop files here or click to browse
PDF · CSV · XLSX — max 50MB each
Bank must come firstSelect the bank before dropping a file. If you click Upload without selecting a bank, you will see an error (shown in Error 1).
Button is greyed outThe "Upload & Extract" button stays disabled until both a bank is selected and a file is loaded.
If something goes wrong: Error 1 — No Bank Selected ↓
Step 5 of 11
Upload Tab — File Selected, Ready to Upload
After choosing a bank and dropping a PDF into the zone, the file name appears and the Upload & Extract button becomes active.
carretrm.alphacalibration.com
Bank Statements
Upload statements, view holdings and transactions, and manage bank connections.
Holdings
Transactions
Upload
History
Connections
1 Upload
2 Review & Link
3 Save to Database
Upload bank statement
Select a bank to get started.
Bank
Drop files here or click to browse
PDF · CSV · XLSX — max 50MB each
Selected files:
📄 UBS_statement_2026-03.pdf
Button is now activeBoth conditions are met — bank selected + file loaded. Click "Upload & Extract" to send the PDF to the server.
Drop zone turns blueThe dashed border turns solid blue to confirm a file has been accepted.
Step 6 of 11
Processing — Claude Vision is Reading the PDF
After clicking Upload, the button is disabled and a spinner appears while the system reads the PDF. This takes 60–90 seconds for PDF statements.
carretrm.alphacalibration.com
Bank Statements
Upload statements, view holdings and transactions, and manage bank connections.
Holdings
Transactions
Upload
History
Connections
1 Upload
2 Review & Link
3 Save to Database
Upload bank statement
Select a bank to get started.
Bank
📄 UBS_statement_2026-03.pdf
Extracting holdings…
Processing with Claude Vision (60–90s)…
Do not close the pageKeep this tab open while the spinner is running. Closing the browser will interrupt extraction.
Why it takes 60–90 secondsTAC sends the PDF to Claude Vision which reads each page as an image. This is more accurate than text extraction but takes longer.
Step 7 of 11
Step 2 of 3 — Review & Link Holdings
Extraction is complete. Review every row in the table, check the match status chip on each holding, and resolve any unmatched rows before saving.
carretrm.alphacalibration.com
Holdings
Transactions
Upload
History
Connections
1 Upload
2 Review & Link
3 Save to Database
15 Holdings
8 Transactions
2 Unmatched ⚠
SecurityISINQtyMarket ValueMatchLinked Security
Apple IncUS0378331005100$18,500✓ 99%Apple Inc [US0378331005]
HSBC Holdings PLCGB0005405286300$8,200~ 72%HSBC Holdings [GB0005405286]
iShares Core MSCI WorldIE00B4L5Y98350$6,200LinkediShares Core MSCI World ETF
Unknown Bond XYZXS1234567890200$45,000Unmatched— not linked —
Cash Account$12,000skipped
Total$89,900
Skip unmatched records
Stats barShows totals for this extraction. The red "2 Unmatched" pill means 2 rows need attention before you commit.
Unmatched rows (pink)Rows highlighted pink could not be matched to a security in the master list. Decide: Link it or Skip it.
Skip unmatched recordsChecked by default. Leave it ticked if the unmatched row is a cash balance or fee line that doesn't belong in the portfolio.
Reviewer Guidance — Understanding Match Status Chips
ChipColourMeaningWhat to do
✓ 99% Green System matched this holding to a security in the master list with ≥95% confidence (name + ISIN comparison) No action needed — verify the name in "Linked Security" looks right
~ 72% Amber Matched, but below 95% confidence — the tooltip reads "lower confidence, needs review" Check the "Linked Security" column. If it's the wrong security, click Link to correct it
Linked Blue You manually linked this holding to a security in a previous step No further action needed
Unmatched Red System could not find this security in the master list at all Click Link to search and select manually, OR leave "Skip unmatched records" ticked to exclude this row from the commit
Grey Row was deliberately skipped by the parser (e.g. a cash or fee line) No action needed

Expected state before committing: Most rows should be green. Amber rows need a second look. Red rows need a decision (link or skip). If more than a handful of rows are red or amber, something may be wrong — wrong bank selected, corrupted file, or a security not yet in the master list.

If something goes wrong: Error 2 — Unmatched Holdings ↓
Step 8 of 11
Link Panel — Manually Match an Unmatched Row
Click Link on an unmatched row. A side panel opens where you search for the security by name, ISIN, or ticker.
carretrm.alphacalibration.com
15 Holdings
8 Transactions
2 Unmatched ⚠
SecurityISINMatchAction
Apple IncUS0378331005✓ 99%
HSBC Holdings PLCGB0005405286~ 72%
iShares Core MSCIIE00B4L5Y983Linked
Unknown Bond XYZXS1234567890Unmatched
Cash Account
Link to Securities Master
Unknown Bond XYZ
XS1234567890 — XYZ Bond 2028
XS1234567890 — Unknown Bond XYZ 5.5% 2028
XS9876543210 — Bond XYZ Series B
Skip unmatched records
Search by anythingType any part of the security name, ISIN, or ticker. Results appear from the Securities Master.
Select, then LinkClick a result row to select it (it turns blue), then click the Link button. The chip on that row changes to blue "Linked".
Search returns "No results"?The security doesn't exist in the Securities Master yet and must be created before you can link it. See Error 6 for the step-by-step process.
Step 9 of 11
Step 3 of 3 — Import Complete
After clicking Save to Database, the system commits the holdings. A green confirmation screen appears.
carretrm.alphacalibration.com
Holdings
Transactions
Upload
History
Connections
1 Upload
2 Review & Link
3 Save to Database
Import complete
15 holdings and 8 transactions committed to PMS.
Holdings are now liveThe extracted data is in the database. It will appear on the Portfolio page the next time it loads for this client.
Next steps"View statement history" takes you to the History tab where you can see the record of this upload. "Import another" resets the form.
Step 10 of 11
History Tab — All Uploaded Statements
The History tab shows every statement that has been uploaded to TAC, with its status and who uploaded it.
carretrm.alphacalibration.com
Bank Statements
Upload statements, view holdings and transactions, and manage bank connections.
Holdings
Transactions
Upload
History
Connections
All statements that have been uploaded to TAC.
BankClient / AccountStmt DateHoldingsTxnsStatusSourceUploadedActions
UBS John Smith – 0530-12345678-01 31 Mar 2026 158 Committed PDF 23 May 2026
Julius Baer Mary Lee – 12345678-CHF 28 Feb 2026 225 Committed SFTP 20 May 2026
BOS Peter Chan – 1000689228-1 30 Apr 2026 103 For Review PDF 23 May 2026
Green = already savedA green "Committed" badge means this statement's data is live in the database. No further action needed.
Amber = needs your attentionA "For Review" badge means the statement was uploaded but not yet reviewed and committed. Click Review to open it.
SFTP vs PDFSFTP statements are pulled in automatically. PDF statements are uploaded manually.
Step 11 of 11
Statement Review Panel — Check Before Committing
Clicking Review on a History row opens the detailed review panel. This is your last check before the data goes into the database.
carretrm.alphacalibration.com
bos_statement_2026-04.pdf
Bank
Bank of Singapore
Client
Peter Chan
Account No.
1000689228-1
Mandate
D
Statement Date
30 Apr 2026
10 holdings · 3 transactions · 2 unmatched
⚠ Holdings for this period already exist in the system (3 rows from a prior import). Download the Dry Run to compare before committing.
Holdings
Transactions
Show columns:
Market Price
Cost Price
Accrued Interest
SecurityISINAsset ClassProduct TypeQtyMarket ValueCCYSecurities Master
Apple IncUS0378331005EquitiesListed Equities10018,500.00USD✓ 99%
HSBC Holdings PLCGB0005405286EquitiesListed Equities3008,200.00USD~ 72%
Total40026,700.00USD
Check everything hereVerify the bank, client, account number, mandate type (D = Discretionary), and date match the paper statement you are holding.
Yellow banner visibleHoldings for April 2026 already exist. Download the Dry Run first to see what will be overwritten (see Error 5 for full guidance).
ERRORS — What to do when something goes wrong
Error 1
No Bank Selected — Error Toast
If you click "Upload & Extract" without selecting a bank first, a red error message appears in the corner.
carretrm.alphacalibration.com
Holdings
Transactions
Upload
History
Connections
1 Upload
2 Review & Link
3 Save to Database
Upload bank statement
Select a bank to get started.
Bank
📄 UBS_statement_2026-03.pdf
Please select a bank before uploading
What to doSelect the correct bank from the dropdown, then click Upload & Extract again. The toast disappears automatically.
Error 2
Review Step — Unmatched Holdings (Stats Bar Red)
When one or more holdings could not be matched to the Securities Master, the Unmatched pill turns red and those rows are highlighted pink in the table.
carretrm.alphacalibration.com
1 Upload
2 Review & Link
3 Save to Database
10 Holdings
3 Transactions
4 Unmatched ⚠
SecurityISINQtyMarket ValueMatchAction
Apple IncUS0378331005100$18,500✓ 99%
Unknown Bond AXS1111111111500$52,000Unmatched
Unknown Bond BXS2222222222200$31,000Unmatched
Unknown Bond CXS3333333333300$27,500Unmatched
Unknown Equity XHK12345678901000$9,800Unmatched
Skip unmatched records
Reviewer Guidance — Handling Unmatched Holdings

When you see unmatched rows (red chips, pink background), you have two choices for each row:

  • Link it — Click the "Link" button on that row. A side panel opens (Step 7 above) where you type the security name, ISIN, or ticker to search the Securities Master. Once you find and select the right match, click Link. The chip turns blue ("Linked") and the row is included in the commit.
  • Skip it — Leave the "Skip unmatched records" checkbox ticked (it is on by default). Unmatched rows will NOT be written to the database. Use this when the holding is a cash balance, fee accrual, or other non-security line that does not belong in the portfolio.
  • Create it (if the security doesn't exist yet) — If the link panel search returns "No results", the security is not in the Securities Master at all. You must create it first: navigate to the Securities Library in the sidebar, click "New Security", fill in the details, then return to the import and search again. See Error 6 for the full walkthrough.

When many rows are unmatched (more than a handful): This usually means either the wrong bank was selected, the PDF is corrupted, or multiple new securities are not yet in the Securities Master. Do not commit in this state — contact Julian or the system administrator.

ISIN formatting: If a security you know exists is showing as Unmatched, the ISIN may be formatted differently in the PDF versus the master list (e.g. with spaces or extra characters). Try searching by name in the Link panel instead of pasting the ISIN.

Error 3
History — All Four Statement Status Badges
The History table can show four different status badges, each meaning something different about whether a statement has been reviewed and committed.
carretrm.alphacalibration.com
Bank Statements
Upload statements, view holdings and transactions, and manage bank connections.
Holdings
Transactions
Upload
History
Connections
BankClient / AccountStmt DateHoldingsUnmatchedStatusSourceActions
BOSMary Lee – 1000689228-131 Mar 202620 Auto-committed SFTP
UBSJohn Smith – 0530-12345678-0128 Feb 202615 Saved to DB PDF
Julius BaerPeter Chan – 12345678-CHF31 Jan 202622 ⚠ 3 Pending Review PDF
LGTIrene Choi – LGT-8888830 Apr 202618 Ready PDF
Reviewer Guidance — Statement Status Badges
BadgeColourMeaningAction required
Auto-committed Green Automatically pulled in by the SFTP feed overnight — no user action was needed None — data is already in the database
Saved to DB Green You (or a colleague) already reviewed and committed this PDF None
Pending Review Amber The PDF was extracted but one or more securities could not be matched. The red ⚠ count in the Unmatched column tells you how many rows need attention Click Review, work through each unmatched row (Link or Skip), then click Save to Database
Ready Blue The PDF was extracted and all securities matched — nothing is blocking the commit Click Review to confirm the data looks right, then click Save to Database

When you open a Pending Review statement you will see red rows in the holdings table (see Error 2). Work through each one before committing.

Error 4
Review Panel — Skipped Sections Warning (Red Banner)
If the PDF contains page sections the parser doesn't recognise, those pages are dropped and a red warning banner appears in the review panel.
carretrm.alphacalibration.com
ubs_statement_2026-04.pdf
Bank
UBS
Client
John Smith
Account No.
0530-12345678-01
Mandate
D
Statement Date
30 Apr 2026
8 holdings · 2 transactions · 0 unmatched
⚠ Pages skipped — holdings may be incomplete
The following page headings were not recognised and were skipped during extraction. Holdings on these pages were NOT extracted:
  • Derivatives Summary
  • Forward Contracts
Holdings
Transactions
SecurityISINAsset ClassQtyMarket ValueCCYSecurities Master
Apple IncUS0378331005Equities10018,500.00USD✓ 99%
HSBC Holdings PLCGB0005405286Equities3008,200.00USD✓ 97%
Reviewer Guidance — Skipped Sections

What this means: The PDF has sections (pages or tables) that the system's parser rules do not cover. The holdings shown are only from the sections it did recognise — the data is incomplete.

What to check: Look at the skipped headings list. If you recognise them as real holdings sections (e.g. "Derivatives Summary" or "Structured Products"), the data in those sections has been lost and should not be committed.

What to do:

  • Do NOT click Save to Database.
  • Note the skipped headings and pass them to Julian or the system administrator, who can add parser rules for those sections.
  • Once the rules are added, re-upload the same PDF — the extraction will pick up the missed pages.

What you should see when it is working correctly: No red banner. All sections in the PDF should be covered, and the holdings count should match what you would expect from the paper statement.

Error 5
Review Panel — Duplicate Period Warning (Yellow Banner)
If holdings for this client account and statement date already exist in the database, a yellow banner warns you before you commit.
carretrm.alphacalibration.com
bos_statement_2026-04.pdf
Bank
Bank of Singapore
Client
Peter Chan
Account No.
1000689228-1
Mandate
D
Statement Date
30 Apr 2026
10 holdings · 3 transactions · 0 unmatched
⚠ Holdings for this period already exist in the system
(3 rows from a prior import). Download the Dry Run to compare before committing.
Holdings
Transactions
Show columns:
Market Price
Cost Price
Accrued Interest
SecurityISINAsset ClassQtyMarket ValueCCYSecurities Master
Apple IncUS0378331005Equities10018,500.00USD✓ 99%
HSBC Holdings PLCGB0005405286Equities3008,200.00USD✓ 97%
Total40026,700.00USD
Reviewer Guidance — Duplicate Period Warning

What this means: Holdings for this client account and statement date are already in the database. If you commit, the existing rows will be overwritten with the data from this PDF.

What to do first: Click "Download Dry Run" before committing. This gives you a multi-sheet Excel file showing exactly what will be written to the database. Compare it against the existing data (or the paper statement) to make sure the new data is correct.

Common causes:

  • The same PDF was uploaded a second time by mistake.
  • An automated SFTP feed already pulled in this month's statement, and someone is now uploading the PDF manually on top of it.

What you should see when it is working correctly: No yellow banner — this is the first time holdings for this account/period have been uploaded.

If you are unsure: Do not commit. Ask Julian or the administrator whether the existing data should be replaced.

Error 6
Security Not Found — Create It in Securities Library
If the link panel search returns "No results", the security does not exist in the Securities Master. You must create it before you can link the holding.
Screen A — Link panel shows "No results"
carretrm.alphacalibration.com
10 Holdings
3 Transactions
1 Unmatched ⚠
SecurityISINMatchAction
Apple IncUS0378331005✓ 99%
Novo Nordisk A/SDK0062498333Unmatched
Link to Securities Master
Novo Nordisk A/S
No results
Screen B — Navigate to Securities Library and click "New Security"
carretrm.alphacalibration.com
Securities Library
Browse, edit, and manage all securities in your securities master.
Security NameISINTickerAsset ClassProduct TypeCCYActions
Apple IncUS0378331005AAPLEquitiesListed EquitiesUSD
HSBC Holdings PLCGB0005405286HSBAEquitiesListed EquitiesHKD
iShares Core MSCI WorldIE00B4L5Y983IWDAFundsETFUSD
Screen C — Fill in the New Security form
carretrm.alphacalibration.com
New Security
Security Name *
ISIN
Ticker
Asset Class *
Product Type *
Currency *
Asset Wrapper *
Securities Library
Browse, edit, and manage all securities in your securities master.
Reviewer Guidance — Full Process for a Missing Security

Step-by-step when the link panel shows "No results":

  • 1. Note the details. Write down the security name and ISIN from the unmatched row before closing the link panel.
  • 2. Navigate to Securities Library. It appears in the sidebar under ADMIN (or OPERATIONS depending on your role). If you cannot see it, you may not have permission — ask Julian or the administrator to create the security on your behalf.
  • 3. Click "New Security" (blue button, top right of the Securities Library page).
  • 4. Fill in the form. Required fields are marked with a red asterisk: Security Name, Asset Class, Product Type, Currency, and Asset Wrapper. Add the ISIN and Ticker if you have them — they make future matching more reliable.
  • 5. Click "Save Security". The security is added to the master list immediately.
  • 6. Return to the import. Go back to the Upload tab, find the unmatched row, click Link, and search again. The new security will now appear in the results.

If you do not have access to Securities Library: Leave the row as Unmatched with "Skip unmatched records" ticked, then notify Julian with the security name and ISIN. He will create it and you can re-upload or manually add the holding once it exists.

Quick Reference — Tabs and Sections
Tab / SectionWhat it is forWho uses it
HoldingsView all extracted holdings from every committed statement. Filter by bank, date, or client.RMs, Operations
TransactionsView all extracted transactions (cash movements, trades) from committed statements.RMs, Operations
UploadUpload a new PDF or CSV and step through the extraction + review process.Operations
HistoryList of every statement uploaded. Shows status badges and a Review button for any that need attention.Operations
ConnectionsManage bank SFTP connections and API keys. Admin only.Admin only
Review panelOpened from the History tab by clicking Review. Final check before committing a statement to the database.Operations