How to use ChatGPT with Acumatica
Short answer
There are three ways to use ChatGPT with Acumatica: paste or upload exports, give a custom GPT actions that call a thin proxy over the REST API, or call the OpenAI API from your own service. For anything beyond occasional analysis, put a proxy in front of Acumatica rather than exposing the ERP directly.
Most Acumatica users start with the simplest thing: export a Generic Inquiry to Excel, upload it to ChatGPT and ask for a summary. It works, and for one-off questions it is fine. The limits show up fast: the data is stale the moment it is exported, large files get truncated, and someone has to remember what was uploaded where.
The next step is live access. A custom GPT can call external APIs through actions described by an OpenAPI schema. Acumatica's REST API is real and well structured, but it is not something you should hand directly to a GPT, because of authentication, tenant handling and the shape of its payloads.
This page covers the realistic options and the controls to set before finance or supply chain data goes anywhere near a hosted model.
What teams use it for
Ad hoc variance explanations
Upload a Generic Inquiry export of actual versus budget by account and ask for the five largest drivers in plain English for a board pack.
Customer statement drafting
A custom GPT reads a customer's open invoices through a proxy action and drafts a polite collections email in the right tone.
Spreadsheet-style what-if on inventory
Export stock item levels and usage, then ask ChatGPT to model reorder points for slow movers using its data analysis tool.
Writing Generic Inquiry and report logic
Describe the join you need and have ChatGPT draft the inquiry design or an Acumatica Report Designer expression for review. It saves time even with no data access.
Import scenario cleanup
Paste the error log from an Import scenario run and get plain-language causes and fixes for column mapping problems.
Acumatica integration surface
- Generic Inquiries exported to Excel or CSV from the screen, or retrieved through OData at /OData/<tenant>/<inquiry>.
- Contract-based REST API (/entity/Default/<version>/...) for entities like Customer, SalesInvoice and StockItem; exact version strings differ by release.
- OAuth 2.0 via Connected Applications (SM303010); ChatGPT actions support OAuth, but pointing it straight at an on-prem instance is rarely acceptable.
- Webhooks and Push Notifications for outbound events to a service that then calls the OpenAI API.
- The OpenAI API (Responses or Chat Completions, with function calling) for server-side use, with tools mapped to your own proxy.
How it works
- 1
Decide which mode you need
Export and upload for occasional analysis, a custom GPT with actions for interactive use, or the API for embedding in your own process.
- 2
Build a read-only proxy
A small service authenticates to Acumatica as an integration user, exposes three to ten narrow endpoints and returns trimmed JSON. It is the only thing ChatGPT can reach.
- 3
Describe the proxy with OpenAPI
Write clear operation descriptions and enums. The model chooses actions based on those descriptions, so vague ones cause wrong calls.
- 4
Configure authentication
Use OAuth or an API key on the proxy, mapped to a per-user or per-team Acumatica identity. Avoid one shared super-user.
- 5
Apply workspace data controls
Use a business or enterprise workspace where your data is not used for training by default, and confirm retention and admin settings with your own agreement.
- 6
Test with a fixed question set
Keep 30 to 50 real questions with known answers and rerun them whenever you change the GPT or the proxy.
Example flows
Collections email from a custom GPT
Trigger: AR clerk asks: draft a reminder for customer C00123
- The GPT calls the proxy action get_open_invoices for that customer.
- The proxy queries an invoice inquiry and returns invoice numbers, dates and balances.
- The GPT drafts the email and lists the invoices.
- The clerk edits and sends from their own mailbox.
Result: A consistent, accurate reminder in under a minute, with no data copied by hand.
Monthly margin commentary
Trigger: Finance exports the gross margin inquiry after close
- Upload the CSV to a ChatGPT enterprise workspace.
- Ask for the top margin movements by product class.
- Request a short narrative and a table.
- Review against the ledger before sharing.
Result: A first-draft commentary that the controller verifies instead of writing from scratch.
Keeping data on-prem
ChatGPT is a hosted service, so on-prem Acumatica data has to leave your network to be used with it. If that is not acceptable, keep the same pattern but swap the model: an open-weight model served on your own GPUs behind the same read-only proxy gives you a chat experience without the data leaving the building. Netray builds this as a private assistant that talks to the Acumatica endpoint locally. A hybrid is common: ChatGPT for non-sensitive drafting and report logic, a private model for anything touching customers, pricing or cost.
Security checklist
- Never put the Acumatica admin credential or a long-lived token in a GPT's instructions or knowledge files.
- Use a proxy that enforces read-only scope, row limits and field allow-lists.
- Check export contents for personal data and bank details before uploading.
- Use a workspace plan with admin controls and confirm training and retention terms in your contract.
- Review who can use the custom GPT; sharing by link can expose actions to the wrong people.
Ways to get it done
Manual export and upload
Effort: Minutes, no build
Fits occasional analysis with low sensitivity data.
Custom GPT with proxy actions
Effort: 2 to 4 weeks including proxy and testing
Fits interactive Q&A for a defined team using read-only data.
Private model with the same proxy via a partner
Effort: Several weeks for a scoped pilot
Fits regulated or competitive data that cannot go to a hosted model.
Pitfalls
- !Trusting numbers the GPT computes from a truncated upload; always check row counts.
- !Giving the action broad filters so a prompt returns the entire customer table.
- !Letting the model guess entity field names; Acumatica custom fields appear under a custom block in the payload.
- !Skipping a test set, then discovering after an upgrade that the endpoint version changed.
Frequently asked questions
Is there an official ChatGPT connector for Acumatica?
I am not aware of a first-party one. Check the Acumatica Marketplace and OpenAI's app directory for current listings. Most teams use a custom GPT with actions or the OpenAI API against a small proxy they control.
Can ChatGPT write data back into Acumatica?
Technically yes through the REST API, but for finance and inventory documents it should only create drafts for human approval. Keep the GPT's actions read-only until you have a tested approval path.
Is my Acumatica data used to train ChatGPT?
Business and enterprise plans state that customer data is not used for training by default, while consumer plans differ. Verify the current terms and your workspace settings, and do not rely on a personal account for company data.
Why not point the GPT directly at Acumatica?
A direct connection exposes broad API permissions, makes tenant and version handling the model's problem, and is hard to rate limit. A proxy lets you narrow scope, trim payloads and log every call.
When should I choose a private model instead?
When the data includes cost structures, customer pricing, export-controlled technical data or contracts that forbid third-party processing. A private model on your hardware avoids the question.
Want ChatGPT 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