Decide the columns before the first run
Write the columns you need for reconciliation, not everything an invoice might contain. A practical set is vendor, invoice number, invoice date, amount, currency, due date, and the source message.
Add a status column from day one: extracted, needs review, approved. Status is what makes the table usable by someone other than the person who built it.
Pull the attachment, keep the message
Each row should keep the message ID and the attachment name. When a number looks wrong, you need to open the original email, not a copy of a copy.
Handle the three common shapes separately: the invoice in the body, the invoice as a PDF attachment, and the invoice behind a vendor portal. The third one needs a sign-in, which is a manual step by design.
Read the fields, then flag the gaps
Ask AI to fill the row from the attachment and leave a cell empty when the field is missing. An empty cell is a signal; a guessed amount is a liability.
Then run the checks that catch most errors: the amounts add up, the invoice number is not a duplicate, the date is not in the future, and the currency matches the vendor. A row that fails a check goes to review, not to the books.
Review in one sitting
Batch review beats piecemeal review. Open the review queue once a day, sort by amount and due date, and approve in bulk where the checks pass.
Keep the reason for each manual correction. After a month, the corrections show you which vendor format needs a new rule, and which field is consistently missing.
Where this breaks
Extraction breaks on scanned invoices, multi-page tables, and vendors that change their layout. It also breaks when one mailbox mixes customer mail with vendor mail.
Split the mailbox by sender domain before you add more rules. Then add one rule per broken layout instead of one prompt that tries to handle everything.
How to run it on Sigla
Keep the mailbox, the extracted table, and the source messages in one workspace. Ask AI to process a batch, then review the flagged rows in the render view. When the format is stable, add a scheduled task that runs the extraction and leaves the review to you.
For the sorting layer, read the AI email triage workflow. For the finance side, the AI investment research workflow shows how the same evidence habit applies to research notes.
FAQ
Can AI read scanned invoices?
Only after OCR, and even then the table layout often breaks. Flag scans for manual review instead of trusting the first extraction.
What should I do when a field is missing?
Leave it empty and send the row to review. A missing due date is information; a guessed due date is a payment error.
Is the source email kept?
Yes. Keep the message ID and attachment name with every row so any number can be traced back to the original message.
Can it match invoices to payments?
It can propose a match from amount and date. Confirm the match yourself before it changes a balance.
Next step
Pick one vendor, extract ten invoices, and check the rows against the original messages before you widen the batch.