Skip to content
Auboros

The AI Inventory Exception Agent: How It Finds Stockouts and Excess Stock in Odoo and MYOB Acumatica

What an AI inventory exception agent finds in Odoo and MYOB Acumatica, the transfers and write-down lists it drafts, and why a person approves every move.

By Bill Alvarez, Practice Manager, Auboros ·

Every stocktake finds them. A pallet of slow stock nobody remembers ordering, parked two aisles from a pick face that’s been empty since Tuesday. Most inventory reports treat the empty bin and the full rack as separate problems. More often they’re the same problem: the cash that should have bought the stock you’re missing is tied up in the stock you can’t sell.

An AI inventory exception agent is software that reads stock levels, sales history, reservations and open orders across every warehouse in your ERP, hunts for the situations your reorder settings can’t see, and drafts a proposed fix for a person to approve. It doesn’t move stock, doesn’t write anything off and doesn’t place orders. It finds the oddities, builds the case with evidence, and waits for a human decision.

The interest from Australian businesses is real. MYOB’s ERP Trends research found 78% of wholesale distribution businesses plan to use AI in their ERP, and ABS figures show 12% of Australian businesses were using AI by 2024-25. Inventory is a sensible place for that adoption to land, because the data already sits in one system and the cost of getting it wrong is easy to count.

What an AI inventory exception agent actually looks for

A reordering rule watches one number for one product in one location. Exceptions live in the gaps between those numbers. The ones we see most in Australian warehouses:

  • The coexistence problem. The same SKU is out of stock at one site and overstocked at another. Neither location’s report is wrong, and neither shows you the transfer that would fix both.
  • Stock that exists but doesn’t. The system shows 200 units on hand, all reserved against an order that hasn’t shipped in five weeks. Available stock is zero, the reorder rule hasn’t fired, and sales keep promising those units to other customers.
  • Excess on autopilot. A line hasn’t sold in six months, but its reordering rule is still live and quietly topping it up every quarter.
  • Superseded products. The new part number sells, the old one sits, and both carry stock and active rules because nobody linked them.
  • Records that can’t be true. Negative stock, zero costs, locations holding stock that was written off last year. These are process faults wearing an inventory costume, and they corrupt every report downstream.

None of these are exotic. They’re invisible to threshold logic because each one only looks like a problem once two or more pieces of data are read together.

What Odoo and MYOB Acumatica already catch on their own

Both platforms ship real replenishment machinery, and you should have it configured before any agent goes near your stock.

Odoo 19 covers the per-product layer well. Reordering rules trigger purchases or manufacturing orders when forecast stock falls below a minimum, and the replenishment report puts everything needing action on one screen. It’s dependable, and it’s strictly per product, per location. We keep a local copy of the v19 Enterprise source code and checked before writing this post: none of the AI modules Odoo ships touch inventory. The exception layer is wiring you add, not a box you tick. Our guide to Odoo inventory management covers the foundations.

MYOB Acumatica goes further per warehouse. Replenishment settings sit on the stock item and can be overridden for each warehouse, and a warehouse can name another warehouse as its replenishment source, so transfer-based resupply is native. The Distribution Edition carries the full set. On the AI side, MYOB’s AI Studio is in technology preview: user-initiated, unable to create records, with no committed release date for the ANZ product. Nothing shipping today watches your stock for exceptions.

What neither platform does is investigate. They’ll tell you a number crossed a threshold. They won’t tell you why, whether it matters, or that the fix for this warehouse’s problem is sitting on a shelf in another one.

Where the agent adds judgement: a worked example

Here’s the pattern on a mid-sized Queensland distributor running two warehouses, Brisbane and Townsville. Once a week the agent runs with read-only access and produces an exception list, each line carrying its evidence.

One line shows the coexistence problem: forty units of a fitting untouched in Townsville while Brisbane holds a backorder queue for the same SKU. The agent drafts an internal transfer and attaches the maths, transfer freight against the cost and lead time of a new supplier order. Another line flags those 200 reserved units: the customer order holding them has been stuck on credit hold for five weeks, so the agent routes a question to sales rather than proposing a move. A third catches a superseded part number with a live reordering rule still buying stock, and drafts the rule’s deactivation with the replacement part’s sales history attached. The last is a list: fourteen SKUs with no sales in 180 days, presented as markdown or clearance candidates with landed cost and last sale date on each.

The operations manager works through it before the Friday ordering run. She approves the transfer, holds the markdown list for the sales meeting, and rejects the rule deactivation because the old part is contracted to one customer until March, which the agent had no way to know. That rejection is not a failure. It revealed that the contract lived in someone’s inbox instead of the ERP, and that’s now fixed.

“Every warehouse has stock the system says is fine and the forklift driver knows is dead. The agent’s job is to put numbers behind what the floor already suspects, and to surface it before the stocktake turns it into a write-off surprise.”

Bill Alvarez, Practice Manager, Auboros

Excess stock has a tax angle, and an exception list feeds it

There’s a use for the aged-stock list that most inventory content never mentions. The ATO requires a stocktake as close as possible to the end of each income year, and its trading stock rules let you value each item using one of three methods: cost, market selling value, or replacement value. You can choose a different method for different items each year, and a fall in your total trading stock value over the year counts as an allowable deduction.

That choice is only usable if you know which items are worth less than they cost you. Fourteen SKUs with no sales in 180 days, each with landed cost and a realistic selling price attached, is exactly the evidence your accountant needs to decide which items justify a market selling value below cost, and whether any qualify for the ATO’s separate treatment of obsolete stock. The agent must never make that call. Valuation methods are your accountant’s territory, and none of this is tax advice. But walking into the end-of-financial-year conversation with an evidenced list beats a shrug and a round number, and the agent can keep that list current all year.

Why a person approves every move, and how to start

Language models make mistakes. In inventory terms that means misreading a unit of measure, treating a data-entry error as a demand collapse, or drafting a transfer for stock a technician already pulled this morning. On a chat reply those are shrugs. On stock movements they’re freight paid to send the wrong pallet north, then paid again to bring it back.

So the controls are the design, the same drafts-first pattern we use across our AI agent work. The agent’s ERP access is read-only and scoped to what a stock controller could see anyway. Everything it proposes lands as a draft in the ERP’s own transfer or adjustment workflow, so approvals, permissions and the audit trail are native rather than bolted on. Every line carries its evidence, so when a human disagrees you learn something about your data. One quiet advantage of starting here: stock data holds almost no personal information, which makes an inventory exception agent one of the lower-risk first agents a business can run.

Start with one warehouse pair or one product category. Run the exception list weekly alongside your existing reports for a full cycle and count how many exceptions were real. If the hit rate is high, widen the coverage. If it’s low, you’ve usually uncovered the data problems that were making your reports lie anyway. An exception agent also pairs naturally with the replenishment agent that drafts purchase orders and the channel sync agent that watches price and stock drift across your sales channels. Same data, same guardrails, different jobs.


Stock in the wrong places, cash in the wrong stock?

We’re a Brisbane-based ERP consultancy implementing Odoo and MYOB Acumatica across Queensland and beyond, and we run drafts-first AI agents over both platforms. If you want to see what an exception list built from your own stock data would look like, book a free consultation. If a saved report would do the same job, we’ll say so and save you the build.

FAQ

Frequently asked questions

What is an AI inventory exception agent?

It's software that reads stock levels, sales history and reservations across every warehouse in your ERP, finds problems your reorder settings can't see, and drafts a fix for a person to approve. Typical finds include the same SKU out of stock at one site and overstocked at another, aged stock still being reordered, and stock locked against stalled orders. It never moves stock on its own.

Can Odoo detect stockouts and excess stock automatically?

Odoo 19's reordering rules and replenishment report catch products falling below their minimums, one product and one location at a time. What Odoo doesn't do is connect a stockout in one warehouse with excess of the same product in another, or notice a live reordering rule on a line that stopped selling. That cross-checking is the agent layer, added alongside Odoo rather than switched on inside it.

Does MYOB Acumatica have AI for inventory management?

Not today. Its replenishment engine is statistical: minimum and maximum settings per item per warehouse, with transfers from a source warehouse supported natively. MYOB's AI Studio is in technology preview, is user-initiated, cannot create records, and has no committed release date for the ANZ product, so treat AI inventory claims for the platform as roadmap rather than shipped.

Can an AI agent move stock between warehouses on its own?

Technically it could, and we recommend never allowing it. A misread reservation or unit of measure turns into real freight costs. The safe pattern gives the agent read-only access, has it draft the transfer with its evidence attached, and lets a person approve it inside the ERP's own workflow so the audit trail stays intact.

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.