AdvancedEpicor ERP 10 (on-premises)Integration / REST / Service Connect / SQL Server

Epicor ERP 10 AI Integration Without Cloud: Private Architecture

Question
Epicor ERP 10 AI integration without cloud

Also searched as

  • 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

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.

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

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

  1. 1Record 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/.
  2. 2List 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.
  3. 3Create 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.
  4. 4Create 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.
  5. 5Extract 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.
  6. 6Put 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.
  7. 7Serve 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.
  8. 8Start read-only, add drafts next, and only then wire approved writes through the business objects, with a person confirming each one.

What ERP 10 exposes

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.

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

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

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

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.

Try it here, free

Epicor ERP 10 Private AI Layer Blueprint Generator

Open full tool

Generate a private AI architecture plan for Epicor ERP 10 on-prem, covering REST and BAQ access, replica, retrieval, local model serving, security and rollout.

Common 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.

How an ERP-grounded AI assistant handles this

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.

Frequently asked questions

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

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?

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?

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?

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.

Related

How-to

Fixing a Slow Epicor BAQ (Business Activity Query)

A slow BAQ in Epicor is usually caused by unindexed join columns, a subquery or calculated field forcing a table scan, or the BAQ pulling far more rows than the dashboard actually displays before filtering client-side. Fix it by reading the SQL Server execution plan Epicor generates, moving filters into the BAQ criteria instead of the dashboard filter panel, and replacing subqueries with joins where possible.

How-to

Epicor REST API v2: OData Filter, Select and Expand Examples

Epicor Kinetic REST v2 exposes business objects at /api/v2/odata/{Company}/{Service}/{Entity} and BAQs at /api/v2/odata/{Company}/BaqSvc/{BAQId}/Data. Send an API key in the x-api-key header plus credentials, and use standard OData options: $filter, $select, $top, $skip, $orderby and $expand.

How-to

Preserving Customizations When Upgrading to Epicor Kinetic

Epicor Kinetic's web UI does not simply inherit classic smart-client customizations - most need to go through the Update Customization / Application Studio conversion process, and some WinForms-specific customizations cannot convert directly and must be rebuilt in the Kinetic designer. Plan the upgrade as a customization inventory and rework project, not a single technical cutover step.

Advanced

How to Add AI to Epicor Kinetic On-Premises Without Moving Your Data

You can run a useful AI assistant on an on-premises Epicor Kinetic estate without sending data to a public cloud. Read through BAQs and the REST v2 OData layer (or a read-only SQL Server replica of the Erp schema), index documents locally, serve an open-weight model with vLLM or Ollama on your own GPUs, and route any write through supported Epicor business objects with a human approval step.

Advanced

AI for Epicor 9 and Vantage on Progress OpenEdge: A Private Architecture

Epicor 9 and Vantage store data in a Progress OpenEdge database, which can be read through the OpenEdge SQL-92 engine over ODBC or JDBC. The practical design replicates the data to a SQL Server or similar reporting copy, indexes documents locally, serves an open-weight model on your own GPUs, and keeps the legacy system read-only.

Error fix

Fixing Epicor BusinessObjectException: BPM Directive Errors

A BusinessObjectException that says "A Business Process Management (BPM) directive has raised the following error" means a directive on that business object stopped the transaction, either deliberately via a Raise Exception widget or accidentally via an unhandled .NET error in Custom Code. Expand the InnerException on the error dialog to see the real message and the directive name, then open BPM Designer for that object and method to find the widget that fired.

AI for ERP

AI for Epicor Kinetic, Beyond What Prism Covers

Add AI to Epicor Kinetic beyond Prism: private LLM over BAQs, BPM data, and REST v2, on-prem or private cloud, with honest guidance on when Prism already covers you.

AI for ERP

AI for Epicor Kinetic Job Shops: Quote History, Job Variance and Schedule Risk

Private AI for Epicor Kinetic job shops: quote-to-job history, JobHead and JobOper variance, subcontract delays and schedule risk, via REST and BAQs.

Stuck on Epicor ERP 10 (on-premises)?

Talk to engineers who work inside Epicor ERP 10 (on-premises) every week, and who build private AI that answers these questions from your own ERP data.

Keep exploring

Free tools

ERP fixes and how-tos

AI on your ERP

Integrations

Software