How to add WhatsApp to Acumatica
Short answer
Acumatica has no built-in WhatsApp channel, but its Business Events can push a webhook on any change and its contract-based REST API can take a reply back. Put a small middleware service between Acumatica and the WhatsApp Business Platform (Cloud API or a BSP), send pre-approved template messages, and write replies into the ERP through the API with an approval step.
Most Acumatica customers in distribution and light manufacturing already live in email and the portal, yet their customers, drivers and suppliers live in WhatsApp. Order status questions, delivery slot confirmations and supplier ship dates all get handled through personal phones, and none of it lands in the sales order or purchase order activity trail.
Acumatica is a good candidate for this because it is open by design: every screen sits on an entity that can be exposed through a web service endpoint, and Business Events can fire outbound calls when a record meets a condition. You do not need a plug-in inside the ERP to start. You need a message layer outside it that respects WhatsApp's template and opt-in rules.
This page walks through the realistic architecture, from event to template message to reply, for both Acumatica Cloud and on-premises installs on IIS and SQL Server.
What teams use it for
Shipment notifications to customers
When a shipment is confirmed, send a template message with the shipment number, carrier and tracking link to the contact on the sales order.
Order status on request
A customer messages an order number and receives status, promised date and invoice state, read from the sales order through the REST API.
Supplier ship date confirmation
Send open purchase order lines nearing their promised date to the supplier contact and capture the replied date as a proposed change for the buyer to approve.
Approval nudges for managers
Notify an approver that a purchase order or expense claim is waiting, with a link into Acumatica; keep the actual approval inside the ERP.
Delivery proof from drivers
Drivers reply with a photo of the signed delivery note, which is attached to the shipment record as a file.
Acumatica integration surface
- Business Events (a screen under System, typically SM302050): subscribe to a Generic Inquiry or a record change and choose a web hook or email as the outcome. This is the cleanest outbound trigger.
- Push Notifications on Generic Inquiries: Acumatica can push changed rows to a configured destination, useful for polling-free alerting.
- Contract-based REST API (/entity/Default/<version>/ for the default endpoint, or a custom endpoint from Web Service Endpoints): read SalesOrder, Shipment, PurchaseOrder, Contact and write notes, files and status changes.
- OData and Generic Inquiries: expose a read-only inquiry such as open orders by customer contact, queried by the middleware for status requests.
- OAuth 2.0 via Connected Applications: use a registered client with a scoped user so the middleware acts as a named integration account, not an admin.
How it works
- 1
Pick the WhatsApp channel
Use the WhatsApp Business Platform Cloud API directly or through a Business Solution Provider. Register a business number, verify the business and decide who owns the template catalogue.
- 2
Capture opt-in on the contact
Add a custom field on Contact for WhatsApp number and opt-in date and source. Messages outside a customer service window need a pre-approved template and a recorded opt-in.
- 3
Define Business Events
Create events on shipment confirmation, PO due-date proximity and approval pending. Point each at a webhook URL on your middleware with a signed secret and a small JSON payload of keys only.
- 4
Build the middleware
A service that receives the event, fetches the full record from the REST API, picks a template, fills variables and calls the WhatsApp send endpoint. Queue and retry on failure.
- 5
Handle inbound replies
Receive the WhatsApp webhook, match the sender number to a Contact, and classify the reply as a status question, a confirmation or free text.
- 6
Write back with guardrails
Post replies as an activity or note on the document. For changes such as a new ship date, create a proposed change for a buyer to approve instead of editing the order directly.
Example flows
Shipment confirmation to customer
Trigger: A shipment moves to Confirmed on the Shipments screen.
- Business Event fires a webhook with the shipment number.
- Middleware reads the shipment and linked sales order through the REST API.
- It finds the contact with an opt-in and maps carrier and tracking to template variables.
- The approved template message is sent through the Cloud API.
- Delivery status from WhatsApp is logged back as an activity on the shipment.
Result: The customer gets the tracking link the moment the shipment confirms, with a record in Acumatica.
Supplier confirms a late line
Trigger: A purchase order line is within three days of its promised date and not receipted.
- A scheduled Generic Inquiry lists the lines and the buyer approves the batch.
- Middleware sends each supplier contact a template naming PO and line.
- The supplier replies with a date.
- The reply is parsed, validated as a date and stored as a proposed change.
Result: The buyer reviews and accepts the new promise date in one click, rather than chasing by phone.
Keeping data on-prem
Acumatica on-premises usually sits behind a firewall, and WhatsApp needs a public HTTPS webhook. Put the middleware in a DMZ or small cloud tenant that receives WhatsApp callbacks, and let it call back into Acumatica over a restricted route or a site-to-site VPN. Business Events can reach the middleware outbound, so you never expose the ERP itself. Keep message content minimal: references and status, not pricing or drawings. If a language model interprets free-text replies, run an open-weight model on your own server so supplier and customer text does not leave the building.
Security checklist
- Run the integration as a dedicated Acumatica user with a role limited to the entities it needs, and review it like any service account.
- Sign and verify webhooks in both directions and reject unsigned calls.
- Store the WhatsApp access token and OAuth secret in a vault, never in a customization package.
- Treat WhatsApp as an untrusted channel: no pricing, margins or credit limits in outbound messages.
- Keep an audit trail of every inbound and outbound message against the document it concerns.
Ways to get it done
Marketplace or BSP connector
Effort: Days to configure, plus per-message fees.
Simple order and shipment notifications with no reply logic. Check the Acumatica Marketplace for current messaging apps; availability varies.
Build the middleware in-house
Effort: A few weeks for a first notification and reply flow.
Teams with a developer comfortable with REST, webhooks and the Acumatica customization platform.
Partner build with Netray
Effort: Scoped per flow, typically several weeks including template approval.
When you want replies parsed and mapped to ERP transactions, or when the language model must stay on your own hardware.
Pitfalls
- !Template approval by Meta can take days and rejections are common; draft templates early and keep wording plain.
- !Customer phone numbers stored in free text will not match WhatsApp IDs; normalise to international format first.
- !A reply received more than 24 hours after your last inbound message cannot be answered with free text, only a template.
- !Sending from a personal-looking number or without opt-in risks the number being blocked.
- !Letting a chat reply edit the sales order directly bypasses Acumatica approvals and creates audit gaps.
Frequently asked questions
Does Acumatica have a native WhatsApp integration?
Not as a core feature as far as we know. You connect it through Business Events and the REST API with a middleware, or through a third-party app if one exists on the Acumatica Marketplace for your version. Check current listings before you build.
Can we use WhatsApp with Acumatica on-premises?
Yes. The ERP only needs outbound calls to your middleware and a controlled inbound path for reads and writes. The middleware sits where it can receive WhatsApp's public webhooks, so the ERP does not have to be exposed to the internet.
Is WhatsApp allowed for order and invoice messages?
Transactional messages are allowed through approved templates, provided the recipient opted in. Marketing content follows stricter rules. Confirm the current policy and local privacy law for the countries you serve before launch.
Can a customer place an order over WhatsApp?
Technically yes, but we suggest creating a draft sales order or a quote for a salesperson to review rather than posting directly. Parsing quantities and part numbers from chat is error prone without confirmation.
What does it cost?
Costs are per conversation or per message depending on category and country, plus any BSP fee and the build effort. Pricing changes, so check the current WhatsApp Business Platform rate card rather than relying on a quote from memory.
Want WhatsApp 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 assessmentTry it here, free
Acumatica Sales Order REST JSON Template
Generate the PUT request URL and JSON body to create a sales order with two lines through Acumatica's contract-based REST API.
Keep exploring
Free tools
- Acumatica Sales Order REST JSON TemplateGenerate the PUT request URL and JSON body to create a sales order with two lines through Acumatica's contract-based REST API.
- Acumatica REST API Python Script GeneratorProduce a ready-to-run Python script for the Acumatica contract-based REST API: login, PUT a record, then logout.
- Acumatica REST API URL BuilderGenerate contract-based REST URLs and the login call for any Acumatica entity, with $filter, $select, $expand, $top and $skip filled in for you.
ERP fixes and how-tos
- How to Create a Generic Inquiry in AcumaticaStep-by-step guide to building an Acumatica Generic Inquiry: add tables, set join relations, add filters and results, then expose it as an inquiry, dashboard, or OData feed.
- Acumatica Manufacturing Data Collection: Labor and Production EntryHow shop floor data collection works in Acumatica Manufacturing: clock, labor, move and material entry, who should enter what and how to keep data clean.
- Acumatica Manufacturing: Scheduling, Kiosk and EstimatingHow Acumatica Manufacturing handles production scheduling, the schedule board, shop floor kiosk entry and estimating, and what to set up first.
AI on your ERP
- AI for Acumatica Manufacturing Edition, Built on Your Own DataAdd AI to Acumatica Manufacturing Edition without giving up control of your shop and cost data. Private LLMs and agents grounded in your Acumatica instance.
- AI for Acumatica Inventory and Purchasing: Stock, Reorder and Vendor Questions AnsweredAI for Acumatica inventory and purchasing: reorder risk, receipts, vendor lead times and stock questions answered in plain English via the REST API, read-only.
Integrations
- How to add Slack to AcumaticaConnect Acumatica to Slack with Business Events, a Slack app, slash commands and interactive approval messages. Includes REST API patterns and on-prem notes.
- How to add Microsoft Teams to AcumaticaSend Acumatica approvals and alerts into Microsoft Teams with adaptive cards, a bot, Entra ID sign-in and the contract-based REST API. Cloud and on-prem notes.
Software
- AcumaticaWhat Acumatica is, how its manufacturing, distribution and financial modules work, how its REST API integrates, and which ERP alternatives to compare.
- Oracle NetSuiteOracle NetSuite explained for manufacturers: modules, SuiteScript, SuiteTalk and SuiteQL, cloud deployment, limits, alternatives and where AI helps.