The Scenario
You're a bookkeeper and three clients sent you bank statements to reconcile this week — PDFs from two different banks, covering accounts in different currencies. The URLs are sitting in a worksheet called "Statement Queue" in your Excel workbook. What finance needs is opening balance, closing balance, statement date, and each individual transaction line expanded into its own row in the "Reconciliation" worksheet. You've done this before by downloading each PDF and manually entering the data. That worked when you had two statements a month. Now you have ten.
The bad version:
- Download each statement PDF, open it, locate the balance fields and transaction table, then type each row into the reconciliation worksheet by hand.
- Miss a transaction on statement 4 because the PDF had a page break that split a table across two pages, and discover the discrepancy three days later during the client call.
- Spend the last hour before the client sync re-entering 23 transaction lines that belonged to statement 6 but got attributed to statement 5 because you lost your place.
Reconciliation is already the most cognitively demanding part of the job. Manual transcription on top of it is the part that shouldn't exist.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Excel workbook. It reads your worksheets, understands the structure, and through its built-in Odoo integration it can submit each bank statement URL for extraction, poll for results, and write balance fields and individual transaction lines into the right worksheet — without you transcribing a single row.
Read my Excel reconciliation prep sheet (bank statement URLs in column A) and use Odoo to extract all balance and transaction data from each statement, expanding transaction lines into separate rows
What You Get
- The Reconciliation worksheet fills with one row per transaction, with balance_start and balance_end at the top of each statement's block
- Statement date lands in a dedicated column so you can filter by period
- Transaction lines from multi-page statements are fully captured — no page-break truncation
- Rows where a statement fails to parse return a status note in the Queue worksheet rather than a silent gap in the Reconciliation worksheet
What If the Data Is Not Quite Ready
Some statement PDFs are scanned images rather than digital PDFs
For each statement URL in column A of the Queue worksheet, submit to Odoo Parse Bank Statement and poll for results — if extraction returns no transaction lines, write 'SCAN — MANUAL REVIEW' in column C instead of leaving it blank
Statements from multiple accounts need to be tagged with the account name
Process all statement URLs in column A of the Queue worksheet through Odoo Parse Bank Statement — expand transaction lines into the Reconciliation worksheet and in each transaction row include the account name from column D of the Queue worksheet as a reference column
Some statements have already been processed in a previous run
For each row in the Queue worksheet where column B is empty, submit to Odoo Parse Bank Statement, write the token to column B, then expand the transaction lines into the Reconciliation worksheet — skip rows where column B already has a token
Full reconciliation prep in one pass
For each statement URL in column A of the Queue worksheet: submit to Odoo Parse Bank Statement, write balance_start, balance_end, and statement date to columns C through E, expand all transaction lines into the Reconciliation worksheet tagged with the account name from column D, and in column F write 'DISCREPANCY' for any statement where balance_end minus balance_start does not match the sum of extracted transaction amounts
One prompt surfaces the balance discrepancies before the client call, not during it.
Try It
Get the 7-day free trial of SheetXAI and open your bank statement queue workbook, then ask it to run each URL through Odoo and land the transaction lines in your reconciliation worksheet. For related workflows, see vendor invoice batch extraction and expense receipt processing.
