Skip to content
Auboros

AI Reconciliation Agents Inside ERP: How the Pattern Works for Australian Finance Teams

How an AI reconciliation agent matches bank lines, sorts exceptions and drafts entries in Odoo 19 and MYOB Acumatica, with a person approving every posting.

By Josh Craig, Managing Director, Auboros · · Updated

Updated 14 September 2026: added the short answer, an At a glance agent spec, four question headings and a captioned exception table; removed an unsourced match-rate figure; corrected the Odoo 19 section (rule-based matching, auto-created reconciliation models, the read-only Ask AI agent, no native MCP server) and the MYOB Acumatica section (Auto-Match relevance scoring, Bank Transaction Rules, AI Automation, formerly AI Studio, and Anomaly Detection, using MYOB’s own version numbers); the MYOB statistic now matches its source; ATO record-keeping linked; “Goes well with” added.

An AI reconciliation agent reads your bank feed and the open items in your ERP, matches what the platform’s rules miss, classifies each exception as a timing difference, a small variance or a missing document, and drafts the entry. A person approves every posting. Odoo 19 and MYOB Acumatica ship rule-based auto-matching today; the agent layer runs above them, drafts-first, like all our AI agents for ERP in Australia.

At a glance

  • Who it is for: finance teams on Odoo or MYOB Acumatica reconciling a few hundred to several thousand bank lines a month across bank feeds, ecommerce payouts, POS settlements and a warehouse or 3PL, where the matched lines are fine and the exceptions pile up until the Business Activity Statement (BAS) is due.
  • Problem it solves: the unreconciled pile. Rule-based matching clears the routine lines; the leftovers get investigated by hand, one screen at a time, usually in the last week before the BAS.
  • Platforms: Odoo 19 Enterprise (fixed matching rules, reconciliation models, bank synchronisation); MYOB Acumatica 2025.2 and 2026.1 (bank feeds, Auto-Match relevance scoring, Bank Transaction Rules, AI Automation); any external agent connected through the platform’s API under its own user account.
  • Trigger: a scheduled run after each bank feed import (daily for most businesses), plus an on-demand run before BAS preparation and month-end close.
  • Inputs read: unreconciled bank lines, open customer invoices and vendor bills, payments in transit, each partner’s payment history, ecommerce and POS settlement reports, credit notes still in draft, and the period-lock date.
  • What the agent drafts: a classification for every exception (timing difference, small variance, split or partial payment, missing document, possible control risk), the evidence it used, a proposed counterpart or write-off with a suggested tax code, and a one-line reason.
  • Approval gate: the reconciler or the AR or AP officer applies, edits or rejects each proposal in the ERP’s own reconciliation screen. Nothing the agent drafts posts on its own; tax codes and write-offs above the threshold need a named person every time.
  • Audit trail: every proposal is stored with its inputs, its reason, who approved it and when, alongside the ERP’s own record history, so an auditor can trace any reconciled line back to the evidence.
  • Typical cycle time: a review of the exception list after each feed import; how long it takes depends on your exception rate, which is the first number a pilot measures, so we leave the figure out until your data supplies it.
  • What it never does: post a journal entry or a payment, apply a tax code without a person confirming it, write into a locked period, hide or delete a bank transaction, or log in as an administrator.
  • Typical cost: a single scoped agent pilot typically starts from a few thousand dollars ex GST for discovery and sandbox build, per our AI agents for ERP in Australia page.
  • Typical timeline: 4 to 10 weeks from discovery to a drafts-first go-live, per the same page.
  • Last verified: 14 September 2026 against Odoo’s 19.0 bank reconciliation documentation, MYOB Acumatica’s Process Bank Transactions form reference and MYOB’s AI features page.

The rule in our AI practice is simple: the agent drafts, the human approves, the system posts. That sequence is non-negotiable for anything that touches the general ledger or the BAS. A reconciliation agent makes the sequence faster. It doesn’t make it optional.

Bank reconciliation is usually the first job Australian finance teams hand to an agent, and the reason is the pile, not the matching. MYOB reports that 45% of decision-makers say siloed systems limit growth, in an ERP trends article updated 13 July 2026, and reconciliation is where the silos meet: the bank, the ERP, the ecommerce payout report and the POS settlement all describe the same money differently. The platform’s rules clear the lines that agree. Everything else waits for a person with time, which in most businesses means the week before the BAS is due.

What does an AI reconciliation agent actually do?

It runs a five-stage pipeline on a schedule your finance team sets, usually once per bank feed import.

Ingest. The agent reads the unreconciled bank lines (from the feed or a file import) and the open items in the ERP: customer invoices, vendor bills, payments in transit and draft credit notes. Where the money came through a channel, it also reads the settlement report, because an ecommerce payout or an EFTPOS settlement is one bank line standing in for dozens of orders.

Normalise. Dates to one format, amounts stripped of symbols, references pulled out of the transaction description with patterns tuned to Australian bank statement formats. Dull, and where a good share of the failures come from.

Match. The deterministic rules run first: exact amount, known partner, reference present, date inside the payment-terms window. Both platforms do this natively, and the next two sections cover how. In the deployments we’ve scoped, those rules clear most of the volume before an agent sees a line; the exact share is the first number a pilot measures, and it depends on how many of your customers quote your invoice number when they pay.

Reason over exceptions. What didn’t match goes to the agent. It checks the partner’s payment history, compares the amount with the open documents within a tolerance, looks at how similar exceptions were resolved before, and classifies the line: timing difference, small variance, split or partial payment, missing document, possible control risk.

Draft and route. For each exception the agent produces a classification, the evidence, a proposed entry with a suggested tax code and a one-line reason, and routes it to the right person. It doesn’t post. It has no write access to a closed period, and it can’t hide or delete a bank line.

The five exception classes a reconciliation agent drafts for, what it checks, and who approves each one
Exception classWhat the agent checksWhat it draftsWho approves
Timing differenceExpected clearing date against the actual bank date inside the window; amount and partner agreeThe match to the open item, no write-offThe reconciler applies it
Small variance (bank fee, rounding, FX)Difference under the threshold; the fee pattern on that account; the currency of the original documentA write-off line to the fee or FX account with a suggested tax codeThe reconciler, one confirmation
Split or partial paymentOpen items whose total explains the amount, or a partial against one item; the remittance advice if one arrivedThe allocation across items, remainder left openThe AR or AP officer
Missing documentA receipt with no invoice or a payment with no bill; partner history; draft documents not yet postedA flag with the evidence and no entryAP or AR investigates; nothing posts
Possible control riskA duplicate payment, changed supplier bank details, a payee the ERP has never seenAn escalation with the evidenceThe financial controller

What can Odoo 19 reconcile on its own, and where does an agent fit?

Odoo 19 auto-reconciles bank transactions on fixed rules. With no partner on the line, the label is compared with the numbers and references of open invoices, bills and payments; with a partner set, the amount is matched in sequence (exact, discounted for early payment, amount found in the label), per Odoo’s 19.0 bank reconciliation documentation. Reconciliation models add your own rules, manual buttons or automated matches on journal, partner, amount and label (including regular expressions), generating the counterpart items and mapping partners, per the reconciliation models documentation. All of this is shipped and in production use.

Two details from the Enterprise source that most write-ups miss. When your team writes off the same kind of line to the same account a few times, Odoo 19 builds a reconciliation model from the shared label pattern and proposes it on the next line of that kind, for a person to validate. And when a receipt arrives up to about 3 percent short of the invoice it matched, Odoo proposes its bank fees model for the difference. So there is learning in the native module, but it is pattern matching on labels and amounts. It won’t notice that a customer has overpaid by the freight amount again.

AI in Odoo 19 is read-first. The Ask AI agent that ships with the AI app works from search, grouping and navigation tools; none of its standard tools touches a bank line. A custom agent can be given a server action as a tool, and those tools run with the rights of the person asking, not as an administrator, which is the right default and the reason we still put a person on the apply step. Odoo 19 doesn’t ship an MCP server: an external agent connects through Odoo’s JSON-RPC API with an API key on its own user, or through a third-party MCP module from the app store, and inherits that user’s access either way. Our guide to AI agents in Odoo covers what each route can and can’t do, and MCP for ERP covers how to scope the key.

A native agent that runs a multi-step process across modules on its own isn’t in Odoo 19. That’s the Odoo 20 conversation, and Odoo 20 is unveiled at Odoo Experience on 24 to 26 September 2026. Nothing about reconciliation write-backs is confirmed until it ships; we track confirmed against expected in our Odoo v20 roadmap breakdown.

One prerequisite before any of this: if your bank feed isn’t connected yet, start with bank feeds in Odoo. An agent over a statement file someone uploads monthly is an agent that runs monthly.

What does MYOB Acumatica match automatically, and what does its AI add?

MYOB Acumatica’s rule-based matching is more configurable than most people realise. On the Process Bank Transactions form, Auto-Match scores each bank line against open payments, invoices and expense receipts using weighted relevance (reference number, document date and payee, with an amount tolerance on corporate card accounts), a date window either side of the bank date, and two thresholds, an absolute relevance threshold with a default of 75 and a relative one with a default of 20, per MYOB’s form reference. Lines with no match can be turned into documents by Bank Transaction Rules, and you can create a rule from a line you have just handled by hand. Shipped, and worth tuning before you add anything above it.

One line in that reference matters for governance: payments the system creates while processing matched transactions are not subject to approval, even if you have an approval workflow set up. So the human gate has to sit before Process, on the match list itself, which is exactly where an agent’s proposals should land.

On the AI side, MYOB lists AI Assistant, AI Automation, AP bill entry, expense management, Anomaly Detection, production variance anomaly detection, a cross-sell assistant and auto complete as available features on its AI features page, as at 14 September 2026. Anomaly Detection learns what normal looks like across expenses, supplier invoices and other financial transactions and flags unusual activity. The features run inside your existing user permissions, MYOB says customer data isn’t used to train external models, and data is stored in Australia. AI Automation, previously called AI Studio, runs prompts through a MYOB-managed model connection on AWS Bedrock: on version 2025.2 an administrator sets the connection up, on 2026.1 it is available immediately, per MYOB’s setup article, and whether you have it depends on your licence, per MYOB’s LLM provider documentation.

What MYOB doesn’t ship is a reconciliation agent. Anomaly Detection flags; it doesn’t match or draft. The predictive “AI Advisor” layer is described in the future tense in MYOB’s own trends article, so treat it as roadmap. Acumatica’s global product page describes MCP access for external AI tools with inherited permissions, and MYOB hasn’t published an ANZ date for it, so that one is announced globally with ANZ timing unconfirmed. An external agent today connects through the platform’s API under its own user and role and drafts proposals for the match list. Our MYOB Acumatica AI guide tracks what ANZ customers can switch on.

How does the agent handle the exceptions your rules can’t?

If your agent matches 90 percent of transactions and routes the remaining 10 percent as one undifferentiated list, you haven’t solved the problem. You’ve moved the pile from the bank statement to a different inbox. The value is in how the leftovers are classified before a person sees them.

Timing differences make up the bulk of the leftovers in every ledger we’ve looked at. Payment sent before the bank clears it. Invoice dated the last day of the month, money received the next business day. The agent compares the expected date with the actual date inside a window (three to five business days is where we usually start) and confirms the amount and partner agree.

Small variances cover rounding, bank fees and the FX difference on an international payment. The agent drafts the write-off line with a suggested tax code and routes it for one confirmation. A common starting threshold is 1 percent of the transaction value or $50, whichever is lower; above it, the line goes to the standard exception queue.

Split and partial payments are where partner history earns its keep. A customer who always pays two invoices with one transfer, or short-pays by the freight they dispute, has a pattern the agent can read and a person can confirm in seconds.

Missing documents are the control-risk class. Money received with no invoice, or paid with no bill. The agent flags it with the evidence for AP or AR. It doesn’t try to resolve it, and it shouldn’t.

A well-configured agent presents each exception with its class, the evidence and a draft action. The reviewer sees context, not a raw line.

“The question I ask before scoping any reconciliation agent is: what is your current exception rate, and what happens to those exceptions today? If they pile up until the BAS deadline, the agent’s real value is in the exception workflow, not the match rate.”

Josh Craig, Director, Auboros

The Australian compliance layer: tax codes and the BAS

Every GST-registered business has a constraint the agent must respect: the tax code on a line decides its BAS treatment. The agent can suggest a code from the partner and the transaction type. It shouldn’t apply one without a person confirming it. A GST credit claimed on a line that was GST-free doesn’t just leave a reconciliation difference; it misstates your BAS.

The ATO requires GST records to be kept for five years, starting from when the record was prepared or the transaction completed, whichever is later. An agent that posts on its own, with no record of the human approval that preceded it, creates an audit-trail problem that outweighs the hours it saved.

The practical control is a tax code allowlist. The codes that carry most of your volume (standard 10% GST, GST-free and capital acquisitions, whatever your chart calls them) sit on the allowlist, and the agent may suggest them without escalation. Import, input-taxed and adjustment codes need a named person to confirm before the entry is even drafted. When the agent is uncertain, it escalates; it never guesses a code. The wider set of controls, including who owns the agent and how its permissions get reviewed, is in our guide to AI agent governance.

A worked example with an approval gate

A Queensland wholesale distributor runs Odoo 19 with a reconciliation agent connected through the API on its own user. On a Friday afternoon a $4,680 receipt lands from a regular customer, and the ERP has one open invoice for $4,680 dated 12 days earlier. Odoo’s own rules match it: same debtor, exact amount, inside terms. Nobody reviews it, and nobody needs to.

Two hours later a $4,950 receipt arrives from the same customer. There’s a second open invoice for $4,680 and nothing for $4,950, so the rules leave the line open and the agent picks it up.

It reads the customer’s history: twice this quarter the same debtor has paid $270 over the invoice, and both times a freight credit note followed a few days later. It classifies the line as a probable split, $4,680 against the open invoice and $270 as an unapplied receipt pending the credit note, and drafts both with the evidence attached and the tax treatment of the unapplied amount left for a person to set.

The proposal goes to the AR officer’s queue. Nothing posts. On Monday morning she opens the queue, reads the reasoning, checks that the credit note is sitting in draft, applies the split in the Bank Matching view and confirms the tax treatment. Both entries post under her user, with the agent’s proposal and her approval logged against the line. The agent was right, and a person made it so.

That’s the approval gate in a working deployment. The version to avoid is the one where the agent applies the split itself because it was right last time.

Three configuration decisions before you go live

The exception threshold sets what the agent may propose as a write-off and what it must escalate. Start conservative (1 percent or $50) and tune it after a quarter of data. Too generous on day one and the agent will wave through items your team should have seen.

The tax code allowlist constrains what the agent may suggest without escalation. Write it down before the pilot; it’s the step that gets skipped when a pilot is in a hurry, and it’s the one an auditor will ask about.

The locked-period rule stops the agent drafting into a closed period. Put it in the agent’s own configuration; the ERP’s period lock is a backstop, not a substitute, and the agent needs to know your close calendar. On MYOB Acumatica, remember that payments created by processing matched transactions skip the approval workflow, so the gate sits on the match list.

What to do next

On Odoo 19, get the native matching right first: our Odoo bank reconciliation guide covers models, feeds and ABA matching. Then measure your exception rate for a month. That number, plus your chart of accounts and your tax codes, is the scope of the agent.

On MYOB Acumatica, tune the Auto-Match thresholds and the Bank Transaction Rules before adding anything; a fair share of the unreconciled list turns out to be a settings problem.

For the wider picture, AI agents for Australian businesses: what actually works covers the range of agents and the governance model behind them.

Goes well with


Reconciliation exceptions piling up until BAS week?

Auboros designs and runs drafts-first reconciliation agents over Odoo and MYOB Acumatica from Brisbane, with the tax code allowlist, the exception taxonomy and the approval gate built into the scope. If you want to know what your exception rate would look like with an agent working the pile, book a free consultation. Bring a month of bank lines and we’ll tell you what the agent would draft and what it should never touch.

FAQ

Frequently asked questions

Can an AI reconciliation agent post journal entries automatically in Odoo?

It could be built to, and we don't build it that way. In Odoo 19 the shipped Ask AI agent has read and navigation tools only, and a custom agent can be given a server action as a tool that runs with the rights of the person asking. Our pattern keeps the agent to drafts: it proposes the match or write-off and a person applies it in the Bank Matching view. Native multi-step agents are on Odoo's v20 roadmap, not in Odoo 19.

What is the difference between a reconciliation model and a reconciliation agent?

A reconciliation model is a fixed rule: if the label contains this text and the amount is under this figure, book it to this account with this tax code. Odoo 19 ships default models and can build one from a repeated pattern; MYOB Acumatica has Bank Transaction Rules and weighted Auto-Match. An agent reasons over the lines the rules leave behind, using partner history, open documents and how earlier exceptions were resolved, and drafts a classified proposal for a person to approve.

Does MYOB Acumatica have AI for bank reconciliation in Australia?

MYOB Acumatica ships rule-based Auto-Match with relevance scoring and Bank Transaction Rules, and as at September 2026 its AI features include AI Assistant, AI Automation (formerly AI Studio) and Anomaly Detection, which flags unusual financial transactions. None of them is a reconciliation agent. An agent layer connects through the API under its own user and drafts proposals for the Process Bank Transactions screen, where a person processes them.

What BAS risks does a reconciliation agent introduce?

The main one is a wrong tax code. A write-off booked with a GST credit on a line that was GST-free misstates your Business Activity Statement. The control is a tax code allowlist: common codes the agent may suggest, everything else confirmed by a person before the entry is drafted, and every suggestion and approval logged, because the ATO requires GST records to be kept for five years.

How long does it take to set up a reconciliation agent?

Typically 4 to 10 weeks from discovery to a drafts-first go-live, per our AI agent services page: 1 to 2 weeks of discovery, 2 to 6 weeks building and measuring against a copy of your data, and 1 to 2 weeks to go live with role-scoped credentials. Most of the calendar time goes into your exception taxonomy and tax code allowlist, not the model.

Want help with your own implementation?

We're a Brisbane-based Odoo Silver Partner and MYOB Acumatica Partner. Book a free consultation and get a straight answer.