# How to add AI agents to Sage 100

> Source: https://netray.co/integrations/sage-100-ai-agents
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Integrations

## Short answer

Add AI agents to Sage 100 by giving the agent a small set of tools: read-only SQL over the Sage 100 ODBC driver (or SQL Server in Premium), and write tools that call Business Objects through the Business Object Interface. Keep every write behind a human approval step and run the model on your own hardware if the data must stay in-house.

## System

Sage 100

## Capability

ai-agents

## Intro

Sage 100, still called MAS 90 or MAS 200 by many of the people who run it, sits at the center of thousands of small and mid-size distributors and light manufacturers. The people who live in it are usually a handful of buyers, schedulers, accountants and customer service reps who spend their day in Sales Order Entry, Purchase Order Entry and Inventory Inquiry. The work is repetitive, the data is clean enough, and the team is small, which makes it a good place for agents.

An agent is not a chatbot. It is a loop: look at something in the system, decide what to do, call a tool, check the result, and stop or ask a person. On Sage 100 that means the agent needs a defined way to read (SQL against the data files or SQL Server) and a defined way to write (Business Objects, never raw SQL inserts), plus a queue where a person approves anything that changes a record.

Because Sage 100 is frequently installed on a local server with no inbound internet access, the design question is usually where the model runs. Open-weight models served with vLLM or Ollama on a single GPU server are enough for the document-style and lookup-style work most Sage 100 agents do.

## Use Cases

### Late purchase order chasing

**Description:** The agent reads open PO lines past promise date, groups them by vendor, drafts the chase email with the PO number and item, and queues it for a buyer to approve and send.

### Reorder suggestions

**Description:** It compares on-hand, on-order and committed quantities by warehouse against usage history, then proposes draft purchase orders with reasons. A buyer approves before anything is created.

### Backorder triage

**Description:** When a shipment lands, the agent finds sales orders waiting on that item, ranks them by ship date and customer terms, and proposes the allocation order.

### Credit hold review

**Description:** For orders held for credit, it pulls AR aging and recent payment behavior and writes a two-line recommendation for the credit manager.

### Price and cost exception sweep

**Description:** Nightly, it flags items where the last purchase cost moved enough that the standard price or margin no longer holds, and lists them for review.

### Month-end subledger checks

**Description:** It looks for invoices in AR or AP not yet posted, unusual open balances and out-of-balance conditions before the accountant starts the close.

## System Surface

Sage 100 ODBC driver: a read-oriented ODBC data source over the ProvideX data files. Good for agent lookups, but joins on large files can be slow and the driver is not meant for heavy concurrent use.

SQL Server (Premium edition): tables such as AR_Customer, CI_Item, SO_SalesOrderHeader, SO_SalesOrderDetail, PO_PurchaseOrderHeader and IM_ItemWarehouse can be queried directly with a read-only login. Exact table names vary by version and enabled modules.

Business Object Interface (BOI): the supported way to create or change records. Objects such as the sales order or purchase order business objects run validation exactly as the screens do, accessed through COM or ProvideX scripting on a machine with the Sage 100 client installed.

Visual Integrator: scheduled imports and exports of delimited files into business objects, useful as a safe, auditable write path for agent-proposed batches.

Business Alerts and Sage 100 Web Services or REST options in newer versions: availability depends on version and licensing, so confirm what your release supports before designing around them.

## How It Works

### Pick two or three narrow jobs

**Detail:** Start with late PO chasing and reorder suggestions. Narrow tasks are easier to test and easier for the team to trust.

### Stand up a read-only data path

**Detail:** Create a dedicated read-only SQL login (Premium) or an ODBC data source with a restricted Sage 100 user role. Never give the agent the admin user.

### Write tools, not prompts

**Detail:** Expose functions like get_open_po_lines, get_item_availability and get_customer_aging. Each returns a small, structured result with the SQL logged.

### Add a proposal queue for writes

**Detail:** Agent writes go to a table or a Visual Integrator import file as proposals. A person reviews the diff and approves.

### Execute approved changes through BOI

**Detail:** A small service on the Sage 100 application server picks up approved proposals and calls the business objects, so Sage validation still applies.

### Run the model locally and test on a copy

**Detail:** Point an open-weight model at the tools, replay real last-month scenarios against a restored company copy, and review outputs before going live.

### Log everything

**Detail:** Store the prompt, tool calls, SQL, proposal and approver, so an auditor can answer why a PO was created.

## Example Flows

### Weekly late PO sweep

**Trigger:** A schedule fires Monday at 7 am.

**Steps:**

- Agent queries open PO detail lines with a required date earlier than today.
- It groups lines by vendor and checks for earlier chase emails in its own log.
- It drafts one email per vendor listing PO number, item, quantity and original date.
- Drafts appear in a review queue for the buyer.

**Result:** Buyers approve ten drafts in a few minutes instead of building them by hand.

### Reorder proposal

**Trigger:** Nightly job after the inventory snapshot.

**Steps:**

- Agent pulls on-hand, on-PO and committed quantities for stocked items.
- It computes days of supply from recent sales history.
- Items below the threshold become draft PO lines grouped by preferred vendor.
- A buyer approves, edits or rejects each draft before BOI creates the order.

**Result:** Purchase orders are created through the normal validation path with a clear paper trail.

## On Prem

Sage 100 is most often a local server install, so the agent stack can sit beside it: an orchestration service on the application server or a small VM, and an open-weight model served with Ollama or vLLM on a GPU box in the same network. Nothing needs to leave the building. Keep the model host on a segment that can reach the SQL or ODBC source and the BOI service but has no outbound route. Update models by importing weights through a controlled transfer rather than letting the server pull from the internet.

## Security

- Use a dedicated Sage 100 user with the narrowest roles; the agent never uses an interactive staff login.
- Read access over a read-only SQL login or restricted ODBC DSN; writes only through BOI after human approval.
- Log prompts, tool calls and SQL for each run and keep them under the same retention rules as your financial records.
- Mask or exclude fields such as bank account numbers and tax IDs from the tools the model can call.
- Rate-limit tool calls so a runaway loop cannot hammer the ODBC driver during business hours.

## Options

### Sage Copilot and built-in features

**Fit:** Enough if you only want summaries or simple help inside Sage products and your version supports it.

**Effort:** Low, subject to licensing and version.

### Build in-house with BOI and ODBC

**Fit:** Good if you have a developer who knows ProvideX or COM automation and a few well-defined jobs.

**Effort:** Several weeks for a first agent including testing.

### Partner such as Netray with your Sage reseller

**Fit:** Good when you want a private model, approval queues and audit trails built around your customizations.

**Effort:** A scoped pilot of a few weeks, then iterate.

## Pitfalls

- Writing straight into data files or SQL tables bypasses Sage validation and can corrupt related records; always use BOI.
- The ODBC driver can be slow on large joins, so pre-aggregate or snapshot data for analytics-style questions.
- Customizations through Customizer or third-party add-ons change screens and sometimes fields; test agents against your real company, not a demo.
- Version differences affect object names and available APIs, so verify against your exact release and patch level.
- Letting the agent act without an approval queue in month one loses trust fast after a single wrong PO.

## Faq

### Can an AI agent write to Sage 100 safely?

**Answer:** Yes, if it writes only through the Business Object Interface and only after a person approves a proposal. BOI runs the same validation as the data entry screens, so the agent cannot create records the system would normally reject. Direct database writes are not recommended.

### Do I need Sage 100 Premium with SQL Server?

**Answer:** No. You can start with the ODBC driver on Standard or Advanced. Premium and SQL Server make read queries faster and easier to secure, so it helps for heavier analytics, but it is not required for basic agents.

### Which model should the agent use?

**Answer:** For lookups, drafting and classification, mid-size open-weight models such as Qwen or Llama class models are usually adequate. Choose by testing on your own data. Hosted frontier models work too when your policy allows data to leave the network.

### How long does a first agent take?

**Answer:** A narrow read-heavy agent, such as late PO chasing with drafted emails, is typically a few weeks including testing on a company copy. Agents that create or change transactions take longer because of the approval and BOI work.

### What if we run an old MAS 90 version?

**Answer:** Older releases may lack newer APIs and may run on unsupported platforms. ODBC reads often still work. Consider an upgrade plan first, since an agent project will lean on a supported BOI and a supported Windows server.

## Search terms

sage 100 ai agents, ai agents for sage 100, mas 90 ai automation, mas 200 ai agent, sage 100 purchasing automation ai, sage 100 business object interface ai, sage 100 reorder automation, agentic ai sage 100, sage 100 on-prem ai, automate sage 100 with ai

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
