# Epicor ERP 10 AI Integration Without Cloud: Private Architecture

> Source: https://netray.co/erp-help/private-ai-layer-epicor-erp-10-on-prem-architecture
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: ERP Help

## Short answer

Epicor ERP 10 can feed a private AI assistant through its REST service layer, executable BAQs and a read-only copy of the SQL Server database, with the model served locally on your GPUs. The limits are version-specific: check which REST generation and security features your 10.x release has before you design the tool layer, and plan for the upgrade path to Kinetic.

## Kind

advanced

## System

epicor

## Erp

Epicor ERP 10 (on-premises)

## Module

Integration / REST / Service Connect / SQL Server

## Query

Epicor ERP 10 AI integration without cloud

## Alternate Queries

- how to add AI to Epicor 10 on-premises
- Epicor 10 private LLM chat with data
- Epicor ERP 10 REST API AI assistant
- Epicor 10 natural language query BAQ

## Applies To

Epicor ERP 10.1 and 10.2 on-premises (SQL Server, Erp schema); REST v2 and token features depend on the 10.2.x release, so verify on your build

## Steps

### How to add a private AI layer to Epicor ERP 10 on-prem

**Items:**

Record your exact 10.x release and patch level. REST v1 is broadly available on 10; OData v2 behaviour and token-based authentication arrived in later 10.2.x releases, so confirm what your server exposes under /api/.

List the first five questions to answer (open jobs by due date, parts short for a job, shipments due this week, vendor late deliveries, inventory by warehouse) and build an executable BAQ for each.

Create a dedicated Epicor user and a reduced security group for the integration, with access only to those BAQs and the read methods you need. Do not reuse a manager login.

Create a read-only SQL Server copy (readable secondary, log shipping or nightly restore) of the Epicor database for bulk reads and for building the retrieval index.

Extract documents and attachment references (job travelers, drawings, certs, SOPs) to a staging share, embed them locally, and store company, plant and security tags with each chunk.

Put a small tool server between the model and Epicor. It owns the credentials, applies row caps and column allow lists, and returns JSON to the model.

Serve an open-weight model with vLLM or Ollama on local GPUs and log every request, tool call and result size to an append-only audit store.

Start read-only, add drafts next, and only then wire approved writes through the business objects, with a person confirming each one.

## Sections

### What ERP 10 exposes

**Body:**

ERP 10 stores data in SQL Server under the Erp schema, with tables such as Erp.JobHead, Erp.JobMtl, Erp.JobOper, Erp.PartTran, Erp.Part, Erp.OrderHed, Erp.OrderDtl, Erp.POHeader and Erp.PODetail. The application layer exposes business objects as services (Erp.BO.JobEntrySvc and similar), consumed through REST and, in older integrations, through SOAP-style service endpoints.

BAQs are the other supported read path. A BAQ marked for API use can be executed through the BAQ service, which makes it a good unit of review: the business can read the query, and the integration cannot return more than it defines. Epicor Service Connect, the workflow and integration engine in 9 and 10, remains useful for scheduled extracts and for message-style integrations.

In 10, REST v1 URLs take the form /api/v1/Erp.BO.JobEntrySvc/JobHeads with an OData-style $filter. If your release offers v2, prefer it, but do not assume it is present on an older 10.1 install.

**Code:**

GET https://erp10.example.local/ERP10/api/v1/Erp.BO.JobEntrySvc/JobHeads?$filter=Company eq 'EPIC03' and JobClosed eq false&$top=50
Authorization: Basic <integration user>
Accept: application/json

-- Replica query: recent inventory movements for a part
SELECT TOP 100 pt.TranDate, pt.TranType, pt.PartNum, pt.TranQty, pt.JobNum
FROM Erp.PartTran pt
WHERE pt.Company = 'EPIC03'
  AND pt.PartNum = 'PN-48213'
ORDER BY pt.SysDate DESC, pt.SysTime DESC;

### Reference architecture and air-gapped option

**Body:**

Run a read-only SQL Server copy of the ERP database, a document extractor, a local vector store, a tool server, a model server and a gateway with audit logging, all on your network. The replica carries the heavy analytics so model-driven queries never compete with shop floor transactions in production.

A change feed keeps the index fresh. On the replica, SQL Server change tracking or CDC on selected tables (job, part transaction, PO and order tables) drives incremental re-embedding of the text and structured summaries you search over. For documents, a file watcher on the attachment share queues new and modified files.

In an air-gapped plant, stage weights, containers and packages through a controlled transfer, pin versions, and run the embedding model locally as well. Because ERP 10 is already an on-prem system, this pattern fits sites where Defense or export-controlled data is not allowed to leave the building.

### Permissions and write-back

**Body:**

ERP 10 security works through security groups, menu and method access, and company and plant assignments. If your release supports user-level authentication on the REST layer, call as the user so these rules apply unchanged. If not, run the integration under a restricted service account and enforce the user's entitlements in the tool server using a mapping you maintain from groups to allowed companies, plants and BAQs.

For the retrieval index, tag each chunk with company, plant and sensitivity, and filter before retrieval. A chunk with no tag is excluded. Review the mapping whenever you add a plant or reorganise groups.

Write-back should go through business objects or Service Connect workflows, never by SQL. The assistant drafts the transaction, a person approves it, and the call runs so BPM directives and audit fields still apply. Start with reversible, low-risk actions such as saving a draft purchase requisition.

### Sizing, phases and honest limits

**Body:**

Typical sizing for 50 to 250 named users is one 24 GB to 48 GB GPU for a 7B to 14B parameter model, scaling to two for larger models or heavier concurrency, with a modest vector store (tens of GB for hundreds of thousands of document pages). Ranges move with context length, so size on peak concurrent requests and tokens per answer.

Phase one is read-only Q&A on BAQs and the replica; phase two adds summaries and drafts; phase three adds narrow approved actions. Expect most of the value in phase one, where the assistant removes ad hoc BAQ requests and spreadsheet exports.

Be honest about the ceiling. ERP 10 is an older release line, REST capabilities vary by build, and you may find that the effort is better spent combining AI work with an upgrade to Kinetic. If your needs are a handful of fixed reports, Epicor's own BAQ dashboards are enough and an assistant adds little.

## Pitfalls

- Assuming REST v2 and token authentication exist on every 10.x build without testing the server.
- Running the assistant under a manager login so it inherits broad access.
- Pointing analytics at the production database during shift hours and slowing transactions.
- Letting the model generate free-form SQL instead of calling reviewed BAQs.
- Indexing attachments without company and plant tags.

## Ai Angle

ERPray connects to Epicor through the supported service layer and reviewed queries, shows exactly what it ran, and can be deployed fully on-prem. For ERP 10 sites, the same work often doubles as an inventory of BAQs and integrations that makes a later Kinetic upgrade easier to scope.

## Faq

### Does Epicor ERP 10 have an API I can use for AI?

**Answer:** Yes. ERP 10 exposes business objects through REST and has executable BAQs, and the SQL Server database can be read through a replica. Which REST generation and authentication options you get depend on the 10.x release, so verify against your installed build first.

### Is it safe to let a language model query the ERP 10 database?

**Answer:** Only through a controlled layer. Use reviewed BAQs or parameterised queries on a read-only replica, cap rows and columns, and log every call. A free-form SQL tool on production is the risky pattern to avoid.

### Should we upgrade to Kinetic before adding AI?

**Answer:** Not necessarily. A read-only layer over BAQs and a replica works on ERP 10 today and the work carries over. If you are already planning an upgrade, sequence the integration so tools point at stable BAQ names that survive the move.

### Can the assistant post transactions to Epicor 10?

**Answer:** It can prepare them. Posting should run through supported business objects after a person approves the exact payload, under that person's identity. Start with drafts and low-risk, reversible actions, and keep direct database writes off the table.

## Search terms

Epicor ERP 10 AI integration, Epicor 10 on-prem AI, Epicor 10 REST API, Epicor 10 chat with data, Epicor 10 BAQ natural language, private LLM Epicor 10, Epicor Service Connect integration, air-gapped Epicor AI

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