QAD and Anaplan integration
QAD runs manufacturing and finance. Anaplan runs connected planning for budgets, forecasts, and workforce and supply chain models. Connecting the two means the actuals recorded in QAD, such as GL balances and cost center spend, flow into Anaplan planning modules without manual exports, and the approved plan values flow back to QAD as a reference for reporting. ml-connector reads QAD through its REST business document APIs and moves data into and out of Anaplan through that platform's bulk import and export actions. Because Anaplan is a planning tool and not an accounting system, the integration is a scheduled data sync rather than a write of named records.
What moves between them
The flow runs in both directions. ml-connector reads posted actuals from QAD, including GL account balances, cost center spend, and supplier invoice totals, formats them as files, and loads them into the matching Anaplan lists and modules through a named import action. In the other direction it runs an Anaplan export action to pull approved budget and forecast values out as files and makes them available to QAD for plan against actual reporting. Reference data such as GL accounts and cost centers is aligned so each Anaplan list member maps to a real QAD dimension. Cadence is scheduled, typically a periodic actuals load tied to your close calendar plus a budget refresh after planning cycles, since neither system pushes events.
How ml-connector handles it
ml-connector stores both credential sets encrypted. On the QAD side it accepts the full tenant URL per customer, since QAD publishes no shared base address, and validates entity paths against that instance. On the Anaplan side it authenticates with Basic auth or an OAuth2 grant, caches the 35 minute token and refreshes it before expiry rather than per call, and uses the configured lowercase workspace ID and uppercase model ID on every request. Because both systems are pull-only, it polls QAD for new postings and drives Anaplan through the async task pattern: post the import or export action, poll the task until it reports complete or cancelled, then upload or download the file chunks. It discovers Anaplan action and list IDs at runtime since names vary per model, and serializes work against a single model because imports, exports, and writeback lock the model during execution. Anaplan enforces a tenant-wide limit of 600 requests per minute and returns HTTP 429 when exceeded, so the connector backs off with jitter and retries. Every record carries a full audit trail and can be replayed if a downstream call fails.
A real-world example
A mid-sized industrial manufacturer runs QAD Adaptive ERP for production, procurement, and finance, and its FP&A team builds the annual budget and rolling forecast in Anaplan across several cost centers and plants. Before the integration, an analyst exported trial balances and spend reports from QAD each month, reshaped them in spreadsheets, and uploaded them into Anaplan by hand, which delayed the monthly variance review and introduced mapping errors when cost centers changed. With QAD and Anaplan connected, each month's GL actuals and cost center spend load into the planning modules automatically against mapped list members, and the approved forecast flows back to QAD for reporting. The variance review starts with current actuals already in the model, and the manual reshaping step is gone.
What you can do
- Load QAD GL actuals, cost center spend, and supplier invoice totals into Anaplan planning modules through named import actions.
- Pull approved budget and forecast values out of Anaplan through export actions and make them available to QAD for reporting.
- Map QAD GL accounts and cost centers to Anaplan list members so actuals land on the correct planning dimensions.
- Authenticate Anaplan with Basic auth or an OAuth2 grant, cache the 35 minute token, and use the workspace and model IDs on every call.
- Drive Anaplan's async task pattern with task polling, serialized runs to respect model locking, retries on HTTP 429, and a full audit trail.
Questions
- Which direction does data move between QAD and Anaplan?
- Data moves in both directions. QAD actuals such as GL balances, cost center spend, and supplier invoice totals are imported into Anaplan planning modules, and approved budget and forecast values are exported from Anaplan back for QAD reporting. Reference lists like accounts and cost centers are aligned so each Anaplan member maps to a real QAD dimension.
- Can ml-connector write invoices or journals directly into Anaplan?
- No, because Anaplan is a planning platform and has no native invoice, vendor, or GL account objects. Data lives in lists, modules, and line items inside a workspace and model, so QAD records are loaded as data files through a named import action that a model builder created. The connector runs existing actions and aligns list members; it does not create model structure.
- How does the integration handle authentication and the lack of webhooks?
- ml-connector accepts the full QAD tenant URL per customer and authenticates Anaplan with Basic auth or an OAuth2 grant, caching the 35 minute Anaplan token and refreshing it before expiry. Neither system supports outbound webhooks, so it polls QAD for new postings and drives Anaplan through the async task pattern, posting an action and polling the task until it completes. It also backs off and retries on Anaplan's 600 requests per minute rate limit.
Related integrations
More QAD integrations
Other systems that connect to Anaplan
Connect QAD and Anaplan
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started