How to add AI agents to QAD Adaptive ERP
Short answer
Add AI agents to QAD by giving a model a small, typed tool layer: read-only queries against the OpenEdge database or a reporting copy, and write tools that go through QXtend inbound so QAD business logic still runs. Keep every write behind a human approval step and log every tool call.
Most QAD sites run discrete manufacturing on a Progress OpenEdge application that has been customised for years. Planners spend their day in MRP action messages, buyers chase purchase orders, and quality teams copy data between screens. That repetitive, rules-plus-judgment work is where agents earn their keep.
An agent is not a chatbot with a bigger prompt. It is a loop: read the situation, call tools, decide, propose an action, wait for approval. For QAD the hard part is not the model. It is exposing the right slice of the data model and the right controlled write path, because the application enforces rules in OpenEdge code that a raw SQL update would bypass.
This page describes a practical architecture for QAD Adaptive ERP, including on-prem installs where the model must run on your own hardware.
What teams use it for
MRP exception triage
The agent reads action messages (reschedule in, reschedule out, cancel), checks supply, demand and the item's lead time, and groups them into a ranked worklist with a recommended action for each.
Purchase order expediting
For POs past their need date, the agent pulls supplier history, open demand and any order notes, then drafts a supplier email and a proposed revised due date for the buyer to approve.
Shortage chasing for work orders
Before a work order releases, the agent checks the pick list against on-hand by site and location, flags shortages and suggests substitutes from the product structure where an alternate is defined.
Nonconformance drafting
From a receiving inspection reject or a shop floor scrap entry, the agent drafts the NCR text with item, lot, supplier and quantity filled in for the quality engineer to review.
Customer order promise checks
The agent answers whether a requested date is credible by reading open sales orders, available inventory and planned supply, and records its reasoning for the customer service rep.
Month-end clean-up
The agent lists open receipts not invoiced, aged work orders and negative-balance inventory records so finance can clear them before close.
QAD Adaptive ERP integration surface
- OpenEdge database: the application tables are readable via SQL-92 over JDBC or ODBC (item master pt_mstr, sales orders so_mstr and sod_det, purchase orders po_mstr and pod_det, work orders wo_mstr, inventory detail ld_det, product structure ps_mstr are typical names, though your version and customisations vary).
- QXtend: QAD's integration layer with inbound web service style entry points that call standard business logic, the safe route for creating or changing records.
- QAD APIs and business components exposed to the .NET UI and mobile apps; availability and naming depend on release and whether you are on QAD Cloud.
- Reporting copy: OpenEdge replication or a nightly extract into a separate database so agents never load the production primary.
- Event hooks: database triggers or QXtend outbound messages for events such as PO changes, if you want agents to react instead of poll.
- Customer extensions: custom tables and programs often hold the real business rules, so inventory them before you design tools.
How it works
- 1
Pick one narrow job
Start with a single decision such as PO expediting. A narrow scope makes the tool list short and the evaluation easy.
- 2
Stand up a read replica
Replicate the OpenEdge database or extract the relevant tables so queries cannot slow transaction processing or lock records.
- 3
Build read tools
Write functions such as get_open_pos(supplier), get_item_supply_demand(item, site), get_action_messages(planner). Return small structured results, not raw tables.
- 4
Build write tools through QXtend
Never write SQL updates. A propose_po_change tool creates a pending request; after approval a separate service submits it to the QXtend inbound service so validations run.
- 5
Add the approval step
Show the planner the evidence, the query and the exact change. Only an authenticated user with the right QAD role can approve.
- 6
Log and evaluate
Store each tool call, input, output and approver. Replay last quarter's exceptions to measure how often the agent agrees with your planners.
- 7
Widen gradually
Add a second workflow only after the first has a stable acceptance rate.
Example flows
Late purchase order expedite
Trigger: Nightly job finds POs where the due date is past and the item has open demand within the week.
- Agent calls get_open_pos and get_item_supply_demand for each flagged line.
- It checks the supplier's last six deliveries for typical slip.
- It drafts a supplier email and a proposed new due date.
- Buyer reviews the batch in a queue and approves or edits each line.
- Approved date changes are submitted through QXtend inbound; emails go out from the buyer's mailbox.
Result: Buyers review a prepared list instead of building it by hand, and every date change passes standard QAD validation.
Shortage alert before release
Trigger: A planned work order is within its release window.
- Agent reads the work order components and on-hand by location.
- It compares to other open allocations and inbound receipts.
- If short, it searches the structure for defined alternates.
- It posts the shortage list to the supervisor with a suggested action.
Result: Supervisors learn about the shortage before the kit is pulled, not at the line.
Keeping data on-prem
QAD is frequently installed on-prem or in a customer-managed hosting environment, and many QAD customers are in aerospace, automotive and defense supply chains with strict data handling. Run the agent loop on your own network: an open-weight model (Llama, Qwen, Mistral, gpt-oss class) served with vLLM or Ollama on a local GPU server, tool code on a small application server, and the OpenEdge reporting copy as the only data source. Nothing needs to leave the plant network. Size the GPU for the tool-calling model you choose and test latency with realistic result sizes. If you are on QAD Cloud, direct database access is generally not offered, so plan on QXtend or approved extracts and confirm what your agreement allows.
Security checklist
- Give agents a dedicated QAD user for reads and a different service identity for QXtend writes, each with least privilege.
- Read-only database credentials against the replica, never the production schema owner.
- Mask or exclude sensitive fields such as pricing and customer terms where the agent does not need them.
- Log every tool call with the approving user so audits can reconstruct a decision.
- Treat text from emails and order notes as untrusted input that could carry prompt injection; the tool layer, not the model, enforces what can be written.
Ways to get it done
Vendor AI features
Effort: Weeks, mostly configuration
Good when QAD's own assistant or analytics covers your question and you are on a supported cloud release. Check current capabilities with your account team.
Build in-house
Effort: 2 to 4 months for the first workflow
Fits teams with OpenEdge and Python skills who can own the tool layer and evaluation.
Partner such as Netray
Effort: Typically a few weeks for a scoped pilot
Useful when you want a private on-prem model, read-only tools and an approval flow without building the plumbing yourself.
Pitfalls
- !Letting the model write SQL against live tables. Use fixed, parameterised tools instead.
- !Ignoring customisations. A field that means one thing in standard QAD may be repurposed at your site.
- !Skipping domain and site scoping, so the agent mixes entities or plants.
- !Measuring by demo rather than replaying real exceptions with known planner decisions.
- !Auto-approving writes early. Keep a human in the loop until acceptance rates are proven.
Frequently asked questions
Can an AI agent write directly to QAD?
It can, but it should not do so with direct SQL. Route changes through QXtend inbound or another supported business-logic path so validations, audit fields and triggers run, and require human approval first.
Does this work on QAD Cloud?
Yes with limits. Direct database access is usually not available, so agents rely on QXtend, QAD APIs and approved extracts. Confirm access options with QAD and your hosting terms.
Which model should I use?
Use a model with reliable tool calling. For private installs, open-weight models served locally work for read-heavy workflows; test on your own exceptions before committing.
How do agents differ from QAD's reports?
Reports show data. Agents combine several data sources, apply judgment rules and draft the next action. If a saved report already answers the question, use the report.
How long does a first pilot take?
A scoped, read-only pilot with one workflow can be live in a few weeks if database access exists. Write-back with approvals adds time for QXtend mapping and testing.
Want AI agents working on your QAD Adaptive ERP?
A free 30 minute assessment: we map the integration path for your version and setup, and where it should run.
Get a free assessment