Skip to content
Auboros

The AI Sales Order Agent: How Emailed Purchase Orders Become Draft Orders in Odoo and MYOB Acumatica

What an AI sales order agent does with emailed PDF purchase orders in Odoo and MYOB Acumatica, why a human approves every order, and how to start safely.

By Auboros ·

Every wholesale distributor and manufacturer we talk to has the same inbox. Customer purchase orders arrive as PDF attachments, sometimes as a photo of a printed page, sometimes as a spreadsheet nobody asked for. Someone on the sales desk retypes each one into the ERP, line by line, and the first data entry error of the day is usually waiting in row three.

An AI sales order agent removes the retyping without removing the judgement. The agent reads the inbound purchase order, extracts the customer, products, quantities and prices, matches them against your ERP’s live records, and drafts a sales order. A person reviews the draft and confirms it. The agent never posts an order on its own. That last sentence is the whole design, and it’s how we build this pattern at Auboros through our AI agent services.

The demand is real. In MYOB’s ERP Trends research, 78% of wholesale distribution businesses said they plan to bring AI into their ERP. Meanwhile the Australian Bureau of Statistics reports about 12% of Australian businesses were using AI as of the latest survey, rising to around 35% of large businesses. The gap between intent and adoption is exactly where order intake sits: it’s high volume, repetitive, and the cost of an error is visible on the loading dock within days.

What an AI sales order agent does

An AI sales order agent in an ERP context is software that watches an intake channel, reads whatever arrives, and turns it into a draft transaction a person can approve. In practice it has five jobs.

  • Watch the intake channel. Usually a dedicated email address or shared inbox where customers already send orders. Nothing about the customer’s habits has to change.
  • Read the document. PDFs, scans, spreadsheets and photos all carry the same information in wildly different layouts. The model’s job is extraction: customer, purchase order number, delivery address, line items, quantities, prices, dates and any free-text instructions.
  • Match against ERP records. Extracted text is only useful once it’s tied to your actual customer record, your product codes and your price list. The customer writes their part number; the agent has to find yours.
  • Validate. Does the price match the customer’s agreed pricing? Is the unit of measure sensible? Has this PO number been seen before? Is the customer on credit hold? Our post on AI credit management agents covers that last check in detail.
  • Draft and wait. The agent creates a sales order in draft, attaches the source document, writes a note about anything it wasn’t sure of, and stops. A person approves, edits or rejects.

Everything before the last step is mechanical. The last step is the control, and it stays human.

What Odoo gives you today

Odoo 19 ships document digitisation as a native, working feature: upload a document or email it to a journal alias and Odoo’s OCR and AI create a draft record with the fields filled in. That’s shipped today, and it runs on prepaid IAP credits, roughly one credit per document.

Here’s the honest catch: it’s built for the purchasing side. The documented targets are vendor bills, refunds and, with a settings change, customer invoices. There is no native switch that turns an emailed customer purchase order into a draft sales order. The intake pattern Odoo proves on vendor bills, an email alias feeding drafts into a journal, is exactly the pattern you want on the sales side, but getting it there means either a third-party module from the Odoo app store or an agent built against Odoo’s API. We build the agent version, with the model reading the PO and writing a draft order through role-scoped credentials. Odoo’s own v19 AI agents are also worth knowing about here, because they operate within the signed-in user’s access rights, a design we unpacked in our guide to AI agents in Odoo.

What MYOB Acumatica gives you today

On the Acumatica platform the shipped piece is again on the payables side: AP document recognition reads supplier invoices and drafts bills, and it has been in the product for years. The newer piece is AI Studio, which arrived with Acumatica 2025 R2 as an experimental feature. It connects the ERP to large language models and automates field-level updates inside documents. Read Acumatica’s own AI Studio FAQ closely, though: in 2025 R2 it cannot create new documents, records or line details. It can update fields on a sales order screen; it cannot create the order.

Two practical consequences for Australian businesses. First, the global-to-ANZ release lag applies, typically 6 to 9 months, so what Acumatica announces globally and what’s in your MYOB Acumatica instance are usually different versions. We track what’s shipped locally in our review of MYOB Acumatica’s AI features. Second, an order intake agent for MYOB Acumatica today is an integration build: the agent reads the PO, then creates a draft or on-hold sales order through the REST API, and your team releases it. That’s not a limitation to apologise for. It’s the same drafts-first shape we’d recommend even if a native feature existed.

A worked example: from inbox to approved order

Tuesday, 7:40am, at a fictional but familiar Queensland distributor. Twenty-eight purchase orders arrived overnight to orders@company address the agent watches. By 8am the agent has processed all of them.

Twenty-three were clean: every line matched a product record, prices agreed with each customer’s price list, and the agent drafted each sales order with the PDF attached. Five got flagged. On one, the customer ordered “6 x FLX-240” and the agent matched the product but noticed the customer’s last eight orders were in cartons of 24, so a quantity of 6 might mean 6 cartons. It drafted the order at 6 units and wrote a note recommending someone confirm. On another, line 12 used a customer part number with no cross-reference in the system, so the agent left the line unmatched and said so. One PO number had been seen three days earlier, a likely duplicate. Nothing was confirmed, nothing was reserved, nothing hit the warehouse.

At 8:30 the sales coordinator opens the draft queue, approves the clean ones in a few minutes, rings the customer about the carton question, adds the missing cross-reference, and deletes the duplicate. Every confirmed order was confirmed by her.

Nobody buys this because the agent types faster than a person. They buy it because the sales desk stops retyping the twenty-three clean orders and spends the morning on the five that needed a decision.

Josh Craig, Director, Auboros

Where it goes wrong, and the guardrails that catch it

Language models make errors, and order intake has sharp edges. The recurring failure modes are worth naming: customer part numbers that don’t map to your SKUs, unit-of-measure confusion between eaches and cartons, superseded or contract pricing the model can’t know about, duplicate POs sent by email and portal, free-text instructions like “part shipment OK” that never make it onto the order, and occasionally an extracted line that isn’t on the document at all, because models can hallucinate plausible text.

The guardrails are the same ones we apply across every agent pattern, and they’re covered in depth in our AI agent governance guide. Drafts-first, always: no agent-confirmed orders. Match, don’t trust: extracted values only enter the order once they’ve been tied to real ERP master data, so a hallucinated product can’t survive matching. Confidence routing: anything below a threshold goes to a person with the reason stated. Duplicate checks on customer PO numbers. A full audit trail from source PDF to draft to approver. And role-scoped permissions, so the agent holds the access of a sales clerk, never an administrator.

There’s a privacy job too. Purchase orders carry personal information: names, direct phone numbers, delivery addresses. Sending them to an AI model makes the Australian Privacy Principles part of your design conversation: where the model processes data, what’s retained, and what your privacy policy says about it.

Where to start

Data hygiene first, because matching is only as good as what it matches against. Tidy product codes, build the customer part number cross-reference for your biggest accounts, and confirm price lists in the ERP reflect what you’ve agreed. Then start narrow: one intake inbox, your top ten customers by order volume, running in a sandbox against copied data before it touches production. Measure minutes per order and error rate for a fortnight before and after. A drafts-only pilot at this scope is a matter of weeks, not months, and the first fortnight is mostly tuning matching rules rather than anything exotic.

Drowning in emailed purchase orders?

Auboros designs drafts-first order intake agents for Odoo and MYOB Acumatica from Brisbane, working with businesses across Queensland and beyond, and order drafting is the first pattern we usually build because the payback is quick and the risk is controlled. Book a free consultation and we’ll look at your order intake together, with no obligation either way.

FAQ

Frequently asked questions

Can Odoo create sales orders from emailed PDF purchase orders automatically?

Not natively. Odoo 19's document digitisation reads vendor bills and, optionally, customer invoices. Turning a customer purchase order into a draft sales order needs a third-party module or an agent built on Odoo's API, and either way the order should stay in draft until a person approves it.

Can MYOB Acumatica read emailed purchase orders and create sales orders?

Acumatica's shipped document recognition covers supplier invoices, and AI Studio in the 2025 R2 release is experimental and cannot create new records such as sales orders. Today an order intake agent for MYOB Acumatica is an API integration that creates draft or on-hold orders for your team to release. ANZ releases also lag global Acumatica by roughly 6 to 9 months.

Is it safe to send customer purchase orders to an AI model?

Purchase orders carry personal information, so the Australian Privacy Principles apply. Check where the model processes and stores data, keep the agent's ERP access role-scoped, and update your privacy policy to cover it. Handled that way, the risk is manageable and auditable.

How accurate is AI purchase order extraction?

No vendor should promise a fixed accuracy figure, because layouts and scan quality vary and language models make mistakes. Treat every extraction as a draft, validate it against ERP master data, and require human approval before an order is confirmed. Those controls matter more than any headline accuracy rate.

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.