No middleware. No polling. No silent drift.
How WMS Intelligence integrates with Acumatica's latest version.
Webhooks in, OAuth REST out, ExternalRef idempotency on every post, and a
reconciliation pass every 30 minutes that catches what the webhooks miss.
Everything a solution architect needs, before scrolling.
If you are evaluating whether this is safe to put in front of a client's ERP, this table is the evaluation. The rest of the page is the evidence behind each row.
| Question | Answer |
|---|---|
| Supported ERP | Acumatica ERP, latest version. WMSi is built for Acumatica and nothing else. |
| Authentication | OAuth 2.0, Resource Owner Password Credentials, via a Connected Application in
Acumatica security. Token scope locked to api. |
| Inbound | Push notifications configured against Generic Inquiries. No scheduler, no polling interval. |
| Outbound | REST API with automatic release. Receipts, Shipments, Adjustments, Transfers and Assembly Orders. |
| Duplicate protection | ExternalRef on every post, plus a WMSi-side sync-status guard before the network call. |
| When it goes wrong | Reconciliation pass every 30 minutes. Discrepancies surface in the manager portal. |
| Where it runs | A dedicated VM per client. Own PostgreSQL, own Redis, own workers. No shared database. |
Twenty minutes with a WMSi specialist. Live webhook configuration, OAuth setup and the posting path, against a real instance. No slides.
You have bought an ERP integration before.
It was a nightly file drop that was already wrong by nine in the morning. Or it was a connector that a third party maintained until they stopped. Or it double-posted a receipt during a network blip and someone spent a week unwinding it in the GL.
The question is not whether the two systems talk. It is what happens on the day one of them doesn't answer.
Illustrative only. Each line shows one direction of the integration: an Acumatica push
notification arriving and pausing the affected pick session, an inventory receipt posted out over REST and
released with its ExternalRef, and the 30-minute reconciliation pass flagging a document whose
state does not agree. Document numbers are examples, not a customer's.
Two channels. One live picture.
By webhook
Acumatica fires a push notification the moment a Purchase Order is created or updated, a shipment is prepared, an item master changes, or an RMA is authorised. WMSi accepts it, queues the work asynchronously, and updates its own database. The scanner shows live data — never a cache from a polling interval that ran an hour ago.
What arrives before the truck doesBy REST
When a receiving session closes, a shipment is confirmed, a count variance is approved or a transfer executes, WMSi posts the result over OAuth 2.0 and then calls the release action. Inventory Receipts, Transfer Orders and Inventory Adjustments release in Acumatica with no manual step.
What posts at ship timeNothing is installed inside your Acumatica instance, and nothing is written to its database except through documented API endpoints. WMSi does not replace Acumatica's inventory sub-ledger — it feeds it.
The safety net runs every 30 minutes.
Real-time sync is the happy path. This is the other one.
Every 30 minutes WMSi queries Acumatica directly for purchase orders closed in Acumatica with no matching webhook on the WMSi side. Anything that does not agree is flagged in the manager portal for review. This is the current scope of the pass; it does not yet cover every document type WMSi posts — that is planned, not shipped.
The WMS and the ERP are never silently out of step. A gap surfaces on a dashboard, not in an audit finding.
This is the continuous pass. It is a separate mechanism from the nightly inventory comparison a finance team can export as audit evidence — that one is described, including how it is enabled and what it does and doesn't retain, on the compliance page.
- Purchase orders closed in Acumatica with no matching webhook
- Flagged for review, never silently corrected
The pass flags; a human dispositions. It runs automatically every 30 minutes and is not customer-configurable.
What syncs, in both directions.
Pushed in from Acumatica, by webhook
- Purchase Orders Creation and updates arrive before the truck does. See receiving.
- Sales Orders & Shipments WMSi diffs amended lines and updates the affected pick sessions. See fulfillment.
- Stock Items Descriptions, lot-tracking settings and UOM changes reach the scanner immediately. See inventory.
- Customer Returns (RMA) WMSi builds the return receiving workflow before the pallet arrives.
Posted out to Acumatica, by REST — then released automatically
- Inventory Receipts Posted and released when the receiving session closes. See putaway.
-
Shipment Confirmation
Shipped quantities, package contents and tracking numbers, then
ConfirmShipment. See pack & ship. - Inventory Adjustments Count variances, scrap and reject dispositions, corrections. See cycle counting and quality hold.
- Transfer Orders Zone-crossing moves. Single-zone moves update WMSi locally with no ERP document. See replenishment.
- Assembly Orders One per kitting transfer, released at the correct warehouse location. See kitting.
Locked scope. Idempotent posts.
OAuth 2.0, per client
Each installation is its own Connected Application with its own credentials, configured in Acumatica's
security settings. Tokens are cached and refreshed automatically — no manual token management, no outage
when one expires. Scope is locked to api; the integration holds no broader access than it
needs.
ExternalRef on every post
Every outbound document carries an identifier tied to the WMSi record. Retry it after a timeout and Acumatica recognises the reference instead of creating a second document. A WMSi-side guard checks sync status before the network call is made at all, so a record already marked synced will not repost however the task was triggered.
- Auth mechanism
- OAuth 2.0, Resource Owner Password Credentials, via an Acumatica Connected Application.
- Token scope
- Locked to
api. Tokens cached and refreshed without manual intervention. - Idempotency key
ExternalRef, carried on every outbound document and tied to the WMSi record.- Pre-flight guard
- Sync status is checked before the network call, so a synced record cannot repost.
- Editions and licences
- No minimum edition requirement — push notifications and a Connected Application are available on all current Acumatica licence tiers.
- Earlier releases
- The current build supports Acumatica's latest version. WMSi is tested against each major Acumatica release before we recommend customers upgrade.
- ISV status
- In progress — Marketplace application submitted, certification pending.
You choose when it posts.
- Pick complete
- Pack complete
- Ship complete
Outbound shipment transmission fires at pick complete, pack complete or ship complete — a portal setting, not a code change. Pick-to-ship operations use the combined trigger; pack-then-ship operations use the separate sequence. The same installation supports both.
The setting lives in the manager portal alongside every other behavioural rule, so changing it is a manager's decision rather than a change window.
A dedicated VM, per client.
Per-tenant isolation is not a diagram caption. It is the answer to the data-isolation question in a vendor security questionnaire.
Every customer runs on their own virtual machine with their own PostgreSQL database, their own Redis instance and their own background workers. Nothing is co-tenanted. There is no shared database to reason about in a security review, and the isolation answer in a vendor questionnaire is one sentence long.
The operational side of that VM — who runs it, where it lives, who backs it up and what the recovery commitment is — is a procurement question and it deserves a published answer: each customer runs on dedicated cloud infrastructure, US-based. Data is backed up nightly with encrypted snapshots retained for 30 days.
Acumatica's own machinery. Nothing bolted on.
WMSi is built for Acumatica and nothing else, and the current release supports Acumatica's latest version. The integration uses Acumatica's own machinery — Generic Inquiries, push notifications, the REST API and a Connected Application — rather than a middleware layer or a third-party connector between them. Nothing is installed inside your Acumatica instance and nothing is written to its database except through documented API endpoints.
Where this integration shows up on the floor
Receiving
POs arrive by webhook; the purchase receipt posts and releases on session close.
How it works OutboundFulfillment
Mid-pick Acumatica amendments are diffed against the live session, not discovered at ship time.
How it works OutboundPack & ship
Package contents and tracking numbers write to the Shipment, then
ConfirmShipment releases it.
Cycle counting
An approved variance posts as an Inventory Adjustment. No spreadsheet in between.
How it works PlatformManager portal
Where reconciliation discrepancies surface, and where the posting trigger is set.
How it works TrustCompliance & audit
What the reconciliation evidence looks like when an IT auditor asks for it.
How it worksTwenty minutes, against a real instance.
Live webhook configuration, OAuth setup and the posting path. No slides. We sell through Acumatica VARs — tell us how your floor runs and we will introduce you to the right partner.