AI chatbotAcumatica Agent view

How to add an AI chatbot to Acumatica

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.

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.

What teams use it for

Customer order status portal

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

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

Policy and procedure answers

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

Guided entry help

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

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

Acumatica integration 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

  1. 1

    Choose the audience first

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

  2. 2

    Resolve identity to an Acumatica role

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

  3. 3

    Define grounded tools

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

  4. 4

    Index documents separately

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

  5. 5

    Embed the chat

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

  6. 6

    Add handoff and feedback

    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?

  1. Bot identifies the customer account from the session.
  2. It calls the open orders tool filtered to that account.
  3. It matches valve kit lines and fetches the shipment record.
  4. 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?

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

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

Keeping data 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 checklist

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

Ways to get it done

Generic chatbot platform with an Acumatica connector

Effort: Days to weeks

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

In-house build

Effort: 6 to 10 weeks

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

Partner build, private model optional

Effort: Several weeks for a first release

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

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.

Frequently asked questions

Can the chatbot live inside the Acumatica interface?

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?

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?

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?

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?

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.

Want AI chatbot working on your Acumatica?

A free 30 minute assessment: we map the integration path for your version and setup, and where it should run.

Get a free assessment