User Manual
Help Center/User Manual/Connect Epicor Kinetic: pull orders and customers in, check inventory

Connect Epicor Kinetic: pull orders and customers in, check inventory

Last updated 2026-11-01

Create a service account and an API Key in Epicor Kinetic, fill in the server base URL, Company ID, username, password and API Key in Integration, test, map, activate — sales orders and customers come in and inventory can be checked.

The Epicor Kinetic connector pulls sales orders and customers from your Epicor Kinetic ERP into this system, and can check inventory quantities held in Epicor. It reads from Epicor: it does not push inventory changes back to Epicor. Every request uses two credentials together — the service account for Basic sign-in and the API Key — so both are always required. One connection per Epicor instance and company.

Epicor Kinetic connection steps: both credentials first, then fill in, then a real dual-credential test, then mapping, then activate.

Prerequisites#

  • An Epicor Kinetic instance you can sign in to, and its server base address — for cloud, a form like https://mycompany.epicorsaas.com/MyInstance; for an on-premise install, https://<server>/<instance name>.
  • Your Company ID, for example EPIC06. It is the company segment in the v2 OData address, so it must match the company you want to pull from exactly.
  • A dedicated Epicor service account, created in User Account Security Maintenance, with access to that company. Its username and password are one half of the credentials.
  • Permission to create a key in API Key Maintenance, and to give that key an Access Scope covering Erp.BO.SalesOrderSvc, Erp.BO.CustomerSvc and Erp.BO.PartSvc.

Get your credentials#

  1. Create or confirm the dedicated service account in User Account Security Maintenance, and make sure it has access to the company you will pull from. Note its username and keep its password ready.
  2. Open Epicor Kinetic → API Key Maintenance → New Key and create a new API Key.
  3. Give the key an Access Scope that covers all three services: Erp.BO.SalesOrderSvc, Erp.BO.CustomerSvc and Erp.BO.PartSvc. A key whose scope misses a service cannot read that kind of data.
  4. Copy the API Key at the moment it is shown — it is shown only once. If you lose it, create a new key instead of looking for the old one.
  5. Note the other two values at the same time: the server base address without any /api suffix, and the Company ID, for example EPIC06.
Two credentials, two different jobs: the service account username and password handle the Basic sign-in, and the API Key is sent on every request as well. Filling only one of the two never connects — the test needs both, every time.

Fill it into Integration#

  1. Open Integration → Connector Marketplace → Epicor Kinetic → New connection.
  2. base_url — required, Epicor server base URL: your instance address, for example https://mycompany.epicorsaas.com/MyInstance. Do not add an /api suffix — the system builds the rest of the address itself.
  3. company — required, Company ID: the company segment, for example EPIC06. It must be the company the service account can access.
  4. username — required, Service account username: the username of the dedicated service account from User Account Security Maintenance.
  5. password — required, Service account password: the password of that same service account. It is a password-type field and is stored as a secret.
  6. api_key — required, REST API key: paste the API Key copied from API Key Maintenance → New Key, with its Access Scope covering Erp.BO.SalesOrderSvc, Erp.BO.CustomerSvc and Erp.BO.PartSvc. It is a password-type field and is stored as a secret.

Test the connection#

Click Test connection. The test first checks that all five fields are filled in — if base_url is missing it stops with MISSING_BASE_URL, and any other missing field also stops the test before anything is sent. It then makes one real, read-only request with both credentials together: it asks the SalesOrder service for a single sales order, sending the service account as Basic sign-in and the API Key on the same request. A 200 answer counts as a pass. The error tells you which credential to look at: 401 means the service account username or password was refused, while 400 or 403 means the API Key itself was refused or its Access Scope does not cover the service. The test gives up after about 12 seconds if the instance does not answer.

Mapping / pick a template#

Pick the Epicor Kinetic standard mapping. It works with the three services the API Key scope covers: sales orders come from Erp.BO.SalesOrderSvc, customers from Erp.BO.CustomerSvc, and inventory checks read Erp.BO.PartSvc. After the test passes, run one pull and check a real order side by side — order number, customer, lines and quantities — and check one part quantity against what Epicor shows, before activating. If a field on your instance differs, adjust that field in the mapping instead of renaming anything in Epicor.

Epicor Kinetic data flow: sales orders and customers are pulled in, and inventory is read from Epicor.

Activate#

After activation, the connection pulls sales orders and customers from Epicor Kinetic into this system on the schedule you set, and inventory checks read the current quantities from Epicor. Watch the first pulls in Runs / Logs and compare them with Epicor before leaving the connection unattended.

What this connection does not do: it does not push inventory changes back to Epicor Kinetic. Quantities in Epicor stay under Epicor control — this connection only reads them. Keep maintaining inventory in Epicor itself.

FAQ#

Test fails with 401

Epicor refused the Basic sign-in: the service account username or password does not match, or that account cannot access the company in the company field. This error is about the service account — not about the API Key.

Check username and password against the account in User Account Security Maintenance, confirm that account has access to the company you filled in, then test again. Do not change the API Key for a 401.

Test fails with 400 or 403

The API Key itself was refused, or its Access Scope does not cover the service the test called. The service account may be perfectly fine — this error is about the key and its scope, the second half of the credentials.

In API Key Maintenance, check the key you pasted and its Access Scope: it must cover Erp.BO.SalesOrderSvc, Erp.BO.CustomerSvc and Erp.BO.PartSvc. If the key was copied incompletely or the scope is short, fix the scope or create a new key, paste it in full into api_key, and test again.

Test stops with MISSING_BASE_URL or another missing-field message

One of the five required fields is empty, so the test stopped before sending anything. All five — base_url, company, username, password and api_key — are required, because every request needs both credentials and the company address.

Fill in all five fields from the fill-in step, save, then test again. For base_url, use the full instance address with nothing missing at the start.

Every value looks right, but the test still fails

A common cause is the address: if base_url ends with an /api suffix, the system adds its own address parts after it and the request goes to a wrong address. The company value causes the same kind of miss — it is part of the address, so a wrong Company ID points the test at a company that does not answer for these credentials.

Remove any /api suffix from base_url so it is exactly the instance address, for example https://mycompany.epicorsaas.com/MyInstance, and re-check company against the Company ID of the company the service account can access. Save and test again before changing any credential.

Orders pull in, but customers or inventory do not

The connection itself is working — the test passed on the SalesOrder service. The missing kind of data points at the API Key scope: each service needs its own coverage, and a scope that covers SalesOrderSvc but misses CustomerSvc or PartSvc reads orders while the other two stay empty.

In API Key Maintenance, extend the key Access Scope so it covers all three: Erp.BO.SalesOrderSvc, Erp.BO.CustomerSvc and Erp.BO.PartSvc. If the scope cannot be changed on the existing key, create a new key with the full scope, paste it into api_key, test again, then run a pull.

Connected, but no sales orders are pulled in

The connection is working — the test read the SalesOrder service for real — but there is nothing new to pull: the company in Epicor has no new sales orders in the pull range, or the orders there belong to a different company than the one in the company field.

Create or confirm one sales order in Epicor under the same Company ID the connection uses, then run a manual pull and confirm the order appears in the preview or in Runs / Logs.