# How to add an AI chatbot to Acumatica

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

## Short answer

An Acumatica chatbot answers questions from live ERP data and attached documents, using the logged-in user's role to decide what it may show. Embed it in a customer or staff portal, or as a side panel via a customization, and ground every answer in a tool call or a retrieved document.

## System

Acumatica

## Capability

ai-chatbot

## Intro

Staff ask the same questions all day: where is this order, do we have stock, what did we quote last time. Customers ask the same ones through email. A grounded chatbot removes that load, but only if it answers from the system, not from a model's guess.

Acumatica has a customer portal and a web UI that can be extended, which gives you real places to put a chat widget. The harder part is identity: the bot must know who is asking and limit answers to what that person may see.

This page covers the two audiences, the architecture, and how to run it privately.

## Use Cases

### Customer order status portal

**Description:** A signed-in customer asks where order SO-004512 is and gets lines, ship dates and tracking numbers, limited to their own account.

### Internal quick lookup

**Description:** Sales and service reps ask for customer balance, last prices and open quotes without navigating screens.

### Policy and procedure answers

**Description:** Retrieval over SOPs, return policies and price lists answers questions like what is the process for a drop-ship return.

### Guided entry help

**Description:** A new clerk asks how to create a purchase receipt against a partial delivery, and the bot explains the steps using your own procedure documents.

### After-hours supplier questions

**Description:** Vendors ask for PO status through a portal chat, and the bot returns only their own open orders.

## System Surface

- Contract-based REST API and OData Generic Inquiries as the grounding data tools, called with the user's own context.
- Acumatica's customer portal, which can be extended, or a separate web app that authenticates against Acumatica.
- Customization projects (UI extensions, custom screens or a site map entry) to embed a chat panel inside the Acumatica UI.
- Role and access rights model, which should drive what each tool returns; Acumatica's own screen-level rights are the source of truth.
- Attached files on documents (the Files feature) as a source for retrieval, subject to your indexing rules.

## How It Works

### Choose the audience first

**Detail:** Internal staff and external customers have different identity and risk. Build the internal bot first, then reuse its tools for customers with tighter scoping.

### Resolve identity to an Acumatica role

**Detail:** Use single sign-on or portal login, map the user to a contact or employee, and pass that identity to every tool call.

### Define grounded tools

**Detail:** Order status, stock, invoice list, shipment tracking. Each returns data filtered to the user's account or role.

### Index documents separately

**Detail:** Put SOPs and price lists in a retrieval index with access tags. Answers cite the source document.

### Embed the chat

**Detail:** Add a widget to the portal, or a panel in Acumatica via a customization or a browser side panel pointing at your service.

### Add handoff and feedback

**Detail:** When confidence is low, create a case in Acumatica or notify a rep with the conversation attached. Collect thumbs up and down for tuning.

## Example Flows

### Customer asks where their order is

**Trigger:** Signed-in customer types: where is my order for the valve kits?

**Steps:**

- Bot identifies the customer account from the session.
- It calls the open orders tool filtered to that account.
- It matches valve kit lines and fetches the shipment record.
- It replies with ship date, carrier and tracking link.

**Result:** The customer self-serves in seconds, and support sees fewer status emails.

### Rep checks credit before a quote

**Trigger:** Rep asks: can we extend terms to customer Delta Tooling?

**Steps:**

- Bot checks the rep's rights to view customer financials.
- It reads credit limit, balance and aging buckets.
- It summarises risk and links the customer screen.
- Rep decides; nothing is changed in the ERP.

**Result:** A quick, accurate credit view without waiting on finance.

## On Prem

Run the whole chatbot stack inside your network: an open-weight model on a local GPU, a vector index for documents, and a small service that calls the on-prem Acumatica instance. For customer-facing use, expose only the chat service through your reverse proxy, never the ERP itself. Smaller local models can handle lookup and summarisation well but may struggle with ambiguous multi-part questions, so keep tools explicit and give the bot a clear way to say it does not know.

## Security

- Pass the end user's identity to each tool and enforce account scoping server-side.
- Do not give the bot a master credential and rely on the prompt to restrict it.
- Redact bank details, cost and margin from anything customers can reach.
- Rate limit and bot-protect public endpoints to prevent scraping through the chat.
- Keep conversation logs under the same retention policy as other customer data.

## Options

### Generic chatbot platform with an Acumatica connector

**Fit:** Fits simple FAQ bots; check what the connector reads and how it handles per-user permissions.

**Effort:** Days to weeks

### In-house build

**Fit:** Fits teams with web developers and a clear audience; you own the identity mapping.

**Effort:** 6 to 10 weeks

### Partner build, private model optional

**Fit:** Fits customer-facing or regulated use needing grounding, audit and on-prem hosting.

**Effort:** Several weeks for a first release

## Pitfalls

- Letting the bot answer from model memory when a tool returns nothing, producing confident invented order dates.
- Using one service account for all users, which silently exposes other customers' data.
- Indexing attachments without access tags, so a confidential contract appears in a public answer.
- No fallback path, leaving the user stuck when the bot is unsure.

## Faq

### Can the chatbot live inside the Acumatica interface?

**Answer:** Yes, usually through a customization that adds a panel or custom screen, or a browser-side widget pointing at your service. The exact approach depends on your version and how strictly you control customizations.

### How does it avoid showing the wrong customer's data?

**Answer:** By passing the signed-in identity into every tool and filtering server-side by account. The prompt is not a security control. Test with two customer accounts and attempt cross-account questions before release.

### Does it need training on my data?

**Answer:** Usually not. Grounding through live tools and retrieval over documents works better and stays current. Fine-tuning is rarely needed for lookup and policy answers.

### Can it take actions like creating orders?

**Answer:** It can, but start with answers only. Add actions such as raising a return request as drafts or cases that staff confirm. Direct transaction posting from a chat should be rare.

### Can it run without any cloud AI?

**Answer:** Yes. A local open-weight model, a local index and a service calling your Acumatica instance keep everything on your network. Test answer quality on your own question set before rollout.

## Search terms

acumatica chatbot, ai chatbot for acumatica, acumatica ai assistant, acumatica customer portal chatbot, acumatica conversational ai, chat with acumatica data, acumatica virtual assistant, on-prem chatbot acumatica, add chatbot to acumatica

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