SynthesisLogic

AI agent for invoice processing

An agent that reads supplier invoices from your AP inbox, checks them against purchase orders and receipts, and queues clean ones in your accounting system for approval. A person approves every payment.

A morning with this agent
  1. Collected 14 invoices from the accounts inboxDone
  2. Matched 12 invoices to purchase orders and receiptsDone
  3. Invoice from a packaging supplier is 4% above the PO priceAsks a person
  4. 12 entries prepared in the accounting systemAwaiting approval

An example. Your agent is built around your own work.

How it works

  1. Collect

    Invoices arrive in a shared accounts-payable mailbox, a supplier portal or a scan folder. The agent saves each file with its sender and the time it arrived, so nothing is lost and nothing is counted twice.

  2. Read and check

    It reads the supplier, invoice number, dates, currency, lines, tax and total, including from scans and photos. Then it checks that the lines add up, that the supplier is in your vendor list, and that the invoice is not a duplicate.

  3. Match

    Where you use purchase orders, it compares the invoice with the order and the goods receipt. Matches go forward. Differences in price, quantity or tax are listed for a person.

  4. Queue for approval

    The agent creates a draft bill in your accounting system with the PDF attached and routes it to the approver for that amount and cost centre. Payment stays with your team.

New to AI agents? How they work, in plain words

Real examples, setup steps and tool connections for this agent

An example conversation

An example of how a conversation runs. The grey lines show what the agent does in your systems meanwhile.

  1. CustomerMorning. Can you process everything that came into the accounts inbox since Friday?
  2. Read 14 invoices from the accounts inbox (11 PDFs, 2 phone photos, 1 Excel file). Extracted supplier, number, lines, tax and total from each.
  3. Checked all 14 against the vendor list and last quarter's invoices. No duplicates. Matched 12 to open purchase orders and goods receipts in the ERP.
  4. Agent12 invoices are matched and waiting as draft bills for approval: 9 are under the limit you set for the finance assistant, 3 go to Mr Rahimi because of the amount. Two need a look from you.
  5. CustomerWhat's wrong with the two?
  6. AgentInvoice 4471 from Parsa Packaging bills 600 cartons, but the goods receipt shows 540. Invoice 0093 from a new supplier is not in the vendor list. I have not created either one.
  7. CustomerAsk Parsa for a credit note for the 60 cartons. Hold the new supplier until procurement confirms them.
  8. Drafted an email to Parsa Packaging asking for a credit note for 60 cartons, saved for your review. Added invoice 0093 to the hold list and sent a note to procurement.
  9. AgentDone. The email to Parsa is in your drafts, and procurement has been asked about the new supplier. I will check the inbox again at 2 pm.

How it is built

Where the invoices come from
The agent reads a mailbox through the mail provider's API or standard email access, watches a folder, or collects files from a supplier portal. If a portal has no API, it can open it in a browser with a login you control. Each file is stored untouched next to what was read from it.
Reading the document
Scans and photos go through document reading (OCR) first. A language model then fills a fixed form: supplier, invoice number, date, currency, lines, tax, total. For every value the agent keeps its position on the page, so a reviewer sees the number and the spot it came from side by side.
Your rules do the checking
The model reads. Code and your rules decide: lines must sum to the total, the supplier must be in your vendor master, the same supplier, number and amount cannot appear twice, and an invoice with a new number but the same amount and date within a window is flagged. Where you buy against purchase orders, the agent runs a two-way or three-way match against the order and the goods receipt.
A short, fixed list of actions
The agent can read invoices, look up vendors and orders, create a draft bill, attach the PDF, route it for approval, and email a supplier or colleague as a draft. It cannot release a payment and it cannot change a supplier's bank details. A changed bank account on an invoice is a common fraud route, so such invoices stop and go to a person who calls the supplier on a number already on file.
Doubt goes to a person
When a value is unclear, a total does not match, or the supplier is unknown, the invoice goes to a review queue instead of being guessed. Your team fixes it there, and the fix is logged.
Approval and logging
Approval follows your own thresholds by amount and cost centre, kept in your accounting system or ERP and not in the agent's instructions. Every extracted value, every check and every change by a person is logged, with who did it and when.
Where it runs, and keeping documents in your network
Prices and open orders are read live from your systems when needed, not from the model's memory. The whole agent can run on your own servers: the agent, its database, its logs and the language model itself, using open models such as Llama, Qwen or Mistral, so documents never leave your network. Open models you host yourself are smaller than the largest cloud models. For reading invoices, extracting fields and sorting them they are usually enough, and we test on your own cases before choosing. Email still passes through your mail provider, and a supplier portal still sees your login.

What you can connect to it

Gmail or Outlook
Reads the accounts inbox, saves attachments, and sends supplier queries as drafts or after approval.
QuickBooks Online
Creates draft bills with the PDF attached and reads vendors and accounts, through its API.
Xero
Creates bills and attachments and looks up contacts, through its API.
SAP
Reads purchase orders and posts supplier invoices as drafts where your SAP exposes its APIs.
Odoo
Matches vendors and creates vendor bills with attachments through its external API.
Microsoft Dynamics 365 Business Central
Reads purchase orders and vendors and creates purchase invoices through its API.
ERP or accounting software without an API
Works through exports and imports, or through the screens in a browser with a limited account.
Google Sheets or Excel
Keeps the exception list and a log of every invoice, or acts as the accounting record if that is what you use today.
Supplier portals
Downloads invoices that suppliers publish on their own sites, using a login you provide.
Scanners and shared folders
Picks up scanned paper invoices as soon as they land in a folder.

Connects to your tools. You stay in control.

Works with what you have
Gmail, Outlook, QuickBooks Online, Xero, SAP, Odoo, Microsoft Dynamics 365 Business Central, supplier portals, scanners and shared folders, Excel and Google Sheets.
A person approves what matters
Payments, orders, discounts or anything you choose wait for approval. Every action is logged.
Can run on your own servers
The agent, its data, its logs and even the language model (open models such as Llama, Qwen or Mistral) can run on your servers, so documents and customer data stay inside your network. How that works

What it does not do

  • It does not pay invoices or release a payment batch. It prepares entries and payment lists, and a person approves and releases them.
  • It does not change a supplier's bank details, and an invoice that shows different bank details from your vendor record goes to a person.
  • It does not post an invoice it is unsure about. Unreadable, mismatched or unknown-supplier invoices wait in a queue.
  • It does not approve its own work. Approvals follow your thresholds and are made by the people you name.
  • It does not decide tax treatment on its own. It applies the codes and rates your accountant has set up.

Questions

How does an AI agent process invoices?

It reads each invoice, checks it against your vendor list, purchase orders and goods receipts, and creates a draft bill for approval. A language model does the reading. Your rules do the checking, and a person approves.

Does the agent pay invoices?

No. It prepares entries and payment lists, and a person approves every payment. Releasing money is not one of the actions the agent has.

What about scanned or photographed invoices?

It reads them. Scans and phone photos go through OCR before the language model sees them. If a value is not clear, the invoice goes to a person instead of being guessed.

How accurate is it, and what happens when it is wrong?

It depends on the quality of the documents, so it is measured on your own invoices before anything is posted. Checks catch most errors: lines that do not add up, unknown suppliers, duplicates, mismatches with the order. A wrong guess waits in the review queue with the page position shown, and every correction is logged.

Can it put invoice data into Excel or QuickBooks?

Yes. It can add one row per invoice to an Excel table, or create a draft bill in QuickBooks, Xero or your accounting software with the PDF attached. A "needs review" column or status stops anyone from trusting an unchecked total.

Can it also issue sales invoices?

Yes. It can prepare sales invoices from shipped orders in your accounting software, for a person to check and send. It uses the invoice functions of your accounting system and does not build its own invoice format.

Do we have to change our accounting software?

No. It works with the software you have, through its API or exports. If the software has neither, it can use the screens in a browser with a limited account.

Is our invoice data safe?

The agent runs in the cloud or on your own server, as you choose, and uses an account with only the rights this job needs. Each action is logged. We explain where data is stored and who can see it before you start.

How much does an agent like this cost?

It depends on the task and the systems it connects to. After a first call we give you a clear estimate of cost and time.

Want this agent built around your work?

Tell us in a few lines what the job looks like today and we will set up an online intro call.

Type of organisation