The Scenario
It's the last working day of the month and you're the accounts payable coordinator. Forty supplier invoice PDFs have come in through email — different formats, different suppliers, different currencies. Your job is to get the structured data out of each one: total amount, due date, supplier name, VAT number, IBAN. Your Excel workbook already has the PDF URLs in column A. Everything else is empty.
The bad version:
- Open each PDF URL in a browser, upload it manually to Odoo's document module, wait for the OCR job to finish, then read the extracted fields off the screen and type them into columns C through F — one at a time, 40 times.
- Lose track somewhere around row 18 when a tab crashes, start back at the top of your count, and discover you've entered row 22's data into row 21.
- Finish at 6:30 PM, realize three invoices returned OCR errors you didn't notice, and have to go back through the full list to find which ones.
Month-end close doesn't wait, and re-entering 40 invoices is not the kind of work that fits in a to-do list alongside the actual accounting tasks.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Excel workbook. It reads your workbook structure, connects to Odoo through its built-in integration, and can submit every invoice URL for extraction, poll for results, and write the structured fields back — without you touching each row individually.
Read my Excel invoice-batch sheet (40 rows of PDF URLs in column A) and use Odoo Extract to parse every invoice — write total amount, due date, supplier name, and VAT number into the adjacent columns
What You Get
- Adjacent columns populate with extracted total, due date, supplier name, and VAT number for each row
- A status column notes any row where the OCR job returned an error rather than silently leaving it blank
- The full batch runs without manual intervention — you can check back when it's done
- The workbook is ready to hand off to the senior accountant without a second data-entry pass
What If the Data Is Not Quite Ready
The invoice PDFs are mixed formats — some scanned, some digital
For each PDF URL in column A, submit to Odoo Parse Invoice, write the token to column B, then poll results and write total, due date, and supplier to columns C through E — and in column F write 'LOW CONFIDENCE' for any row where no VAT number was extracted
Some rows already have results from a previous run
For each row in column A where column B is empty, submit to Odoo Parse Invoice, write the token to column B, then poll and write extracted fields to columns C through F — skip rows that already have a token
The currency field is sometimes missing and needs to default to EUR
Submit all invoice URLs in column A to Odoo Parse Invoice, poll for results, and write total, due date, supplier, and currency to columns C through F — where currency is missing or null, write 'EUR' as the default
Full cleanup + extraction + flagging in one shot
For each invoice URL in column A: submit to Odoo Parse Invoice, collect total, due date, supplier name, VAT number, and IBAN into columns C through G, write the document status to column B, and in column H mark 'REVIEW' for any row where total is empty, due date is before today, or IBAN is missing — then sort the workbook so REVIEW rows appear at the top
Running cleanup and extraction together saves a second pass through data you've already paid to process.
Try It
Get the 7-day free trial of SheetXAI and open any Excel workbook with a column of supplier invoice PDF URLs, then ask it to run the batch through Odoo and land the structured fields in adjacent columns. For related tasks, see invoice validation with anomaly flagging and querying Odoo ERP data directly into your workbook.
