Connector directory: ERP, external WMS & operations platforms
ERP systems, external WMS platforms, fleet/telematics, container tracking and last-mile delivery platforms: the exact fields each connection wizard asks for and where to get them.
ERP & accounting systems#
The ERP connectors sync the same document families in both directions: customers, items and sales orders flow between Docklify and the ERP, and invoices / bills created from shipments and receipts can be posted back to the ERP’s ledger. Each connector below lists the exact fields its connection wizard asks for and where to get them. Tip: if your ERP offers a sandbox or test company, create the connection there first to check the fields and flows, then switch it to your live company.
QuickBooks Online

QuickBooks Online is Intuit’s cloud accounting platform for small and mid-size businesses. It syncs the standard ERP document set — customers, items and sales orders both ways, invoices posted back to QuickBooks — through the official QuickBooks API. Connection method: OAuth2 — you paste an Access Token for your QuickBooks app together with your company Realm ID.
| Field | Required? | Where to get it |
|---|---|---|
| Realm ID (Company ID) | Required | QuickBooks → gear icon → Account and Settings → Billing & subscriptions → Company ID |
| Access Token | Required | Get it in the Intuit Developer portal (OAuth2 playground) for your QuickBooks app; it expires after 1 hour and is refreshed with the app’s Client ID / Secret |
| Environment | Optional | production (default) or sandbox |
Xero

Xero is a cloud accounting platform for small businesses and their accountants. It syncs the standard ERP document set through Xero’s official API. Connection method: OAuth2 — you paste an Access Token for your Xero app together with the Tenant ID of the organization to sync.
| Field | Required? | Where to get it |
|---|---|---|
| Tenant ID | Required | Returned by GET api.xero.com/connections after OAuth, or shown in your app at developer.xero.com |
| Access Token | Required | OAuth2 token for your Xero app; scopes must include accounting.transactions.read, accounting.contacts.read, accounting.settings.read |
Odoo

Odoo is a modular open-source ERP — sales, inventory, accounting and more — running on Odoo Online or your own server. It syncs the standard ERP document set through Odoo’s external API. Connection method: your instance Base URL and database, signing in with a username plus an API Key that Odoo treats as the password.
| Field | Required? | Where to get it |
|---|---|---|
| Base URL | Required | Your Odoo address, e.g. https://mycompany.odoo.com |
| Database | Required | The Odoo database name; on Odoo Online it is usually the subdomain |
| Username | Required | The Odoo user the API key belongs to |
| API Key | Required | Avatar → My Profile → Account Security → New API Key; used in place of the password |
Note: on Odoo Online, external API access needs the Custom plan.
NetSuite

NetSuite is Oracle’s cloud ERP for larger and multi-entity operations. It syncs the standard ERP document set through NetSuite’s REST web services. Connection method: OAuth2 — your Account ID plus an Access Token from a NetSuite integration record (the older Token-Based Authentication is not supported).
| Field | Required? | Where to get it |
|---|---|---|
| Account ID | Required | NetSuite → Setup → Company → Company Information (sandbox accounts look like 1234567_SB1) |
| Access Token | Required | An OAuth2 access token for a NetSuite integration record with the rest_webservices scope. Token-Based Authentication (TBA) is not supported — use OAuth2 |
Microsoft Dynamics 365 Business Central

Microsoft Dynamics 365 Business Central is Microsoft’s cloud ERP for small and mid-size companies. It syncs the standard ERP document set through the Business Central API. Connection method: a Microsoft Entra app registration — Tenant ID, Client ID and Client Secret (client-credentials sign-in).
| Field | Required? | Where to get it |
|---|---|---|
| Tenant ID | Required | Microsoft Entra admin → App registrations → your app → Directory (tenant) ID |
| Client ID | Required | Same app registration page (Application ID) |
| Client Secret | Required | Entra → Certificates & secrets; shown once. In Business Central, also create the Entra app record and assign its permission set |
| Environment | Optional | Usually "production" |
| Company | Optional | Business Central company name; leave empty to use the first company |
Sage Intacct

Sage Intacct is a cloud financial-management platform for finance-led and multi-entity companies. It syncs the standard ERP document set through the Intacct REST API. Connection method: the Client ID / Client Secret of your app in the Sage developer portal; multi-entity companies also set the entity to post into.
| Field | Required? | Where to get it |
|---|---|---|
| Client ID | Required | Sage developer portal → your app (REST API credentials) |
| Client Secret | Required | Same app page |
| Entity ID (Company) | Optional | Only for multi-entity companies: the entity to post into |
Use a dedicated integration user for Intacct. Logging into the Intacct web UI as that user invalidates its REST token (error REST-2102) — if sync suddenly fails with that error, re-issue the token and do not log in as that user.
Acumatica

Acumatica is a cloud ERP for mid-size distribution, manufacturing and commerce businesses. It syncs the standard ERP document set through Acumatica’s contract-based REST API. Connection method: sign in to your Acumatica site and company with a username / password that has API access.
| Field | Required? | Where to get it |
|---|---|---|
| Base URL | Required | Your Acumatica site address without the /entity part, e.g. https://erp.example.com/AcumaticaERP |
| Company | Required | The Acumatica company (tenant) name to sign in to |
| Username | Required | An Acumatica user with API access |
| Password | Required | That user’s password |
| Branch | Optional | Branch to post into, if your company uses branches |
| Endpoint Name / Version | Optional | Usually name "Default" and a version matching your Acumatica release, e.g. 24.200.001 |
Microsoft Dynamics 365 Finance & Supply Chain

Microsoft Dynamics 365 Finance & Supply Chain Management is Microsoft’s enterprise ERP. It syncs the standard ERP document set through the environment’s OData services. Connection method: a Microsoft Entra app registration — Tenant ID, Client ID and Client Secret — against your Environment URL.
| Field | Required? | Where to get it |
|---|---|---|
| Environment URL | Required | Your F&SCM environment address without /data, e.g. https://<env>.operations.dynamics.com |
| Tenant ID | Required | Microsoft Entra → App registrations → Directory (tenant) ID |
| Client ID | Required | Same app registration. Also register the app inside F&O: System administration → Microsoft Entra ID applications, and bind it to a user / role |
| Client Secret | Required | Entra → Certificates & secrets; shown once |
SAP S/4HANA

Syncs via the S/4HANA OData APIs. There is no default address — Cloud and on-premise systems differ — and two authentication styles: fill either the Basic pair (username / password) or the OAuth2 triple (client ID / secret / token URL), not both.
| Field | Required? | Where to get it |
|---|---|---|
| Base URL | Required | Your S/4HANA host address (from your SAP basis team / BTP destination) |
| SAP Client | Optional | The SAP client number, if your system uses several |
| Username / Password (Basic) | Optional | A communication user in S/4HANA — use this pair OR the OAuth2 triple below |
| Client ID / Client Secret / Token URL (OAuth2) | Optional | Cloud systems: from the BTP service key of your integration instance |
SAP Business One

SAP Business One is SAP’s ERP for small and mid-size companies. It syncs the standard ERP document set through the Business One Service Layer. Connection method: sign in with the Company Database, Username and Password of a Business One user with API access.
| Field | Required? | Where to get it |
|---|---|---|
| Service Layer URL | Required | Your Service Layer address without /b1s/v2, e.g. https://<host>:50000 |
| Company Database | Required | The company database name, e.g. SBODemoUS |
| Username | Required | A Business One user with API access |
| Password | Required | That user’s password |
Oracle Fusion ERP (Cloud)

Syncs via the Fusion REST API. Fill either a Basic pair (username / password) or a pre-obtained OAuth token — a filled token takes precedence.
| Field | Required? | Where to get it |
|---|---|---|
| Base URL | Required | Your Fusion environment address, e.g. https://<pod>.fa.<region>.oraclecloud.com |
| Username / Password (Basic) | Optional | A Fusion user with the integration roles — or use the token below instead |
| OAuth Token | Optional | A pre-obtained Bearer token from your OCI / IDCS identity domain |
| API Version | Optional | Default 11.13.18.05; change only if your Fusion release uses another |
Cin7

Cin7 is a cloud inventory and order-management platform for product businesses selling across channels. It syncs the standard ERP document set through Cin7’s API. Connection method: the API Username / API Password pair set on an API connection inside your Cin7 account.
| Field | Required? | Where to get it |
|---|---|---|
| API Username | Required | Cin7 → go.cin7.com → API connections → your connection’s username |
| API Password | Required | Set on the same API connection |
Epicor Kinetic

Epicor Kinetic is an ERP built for manufacturers and distributors. It syncs the standard ERP document set through Kinetic’s REST services. Connection method: sign in with a username / password, plus an API Key from Kinetic’s API Key Maintenance whose access scope covers the sales-order, customer and part services.
| Field | Required? | Where to get it |
|---|---|---|
| Base URL | Required | Your Kinetic server address without /api, e.g. https://<host>/Kinetic |
| Company | Required | The company code, e.g. EPIC06 |
| Username | Required | A Kinetic user for the integration |
| Password | Required | That user’s password |
| API Key | Required | Kinetic → API Key Maintenance → New Key (shown once). Its Access Scope must cover SalesOrderSvc, CustomerSvc and PartSvc |
Fishbowl

Fishbowl is an inventory-management system widely used by product businesses that run their books on QuickBooks. It syncs the standard ERP document set through Fishbowl’s server API. Connection method: sign in with a username / password under an App Name — after the first sign-in you approve that app once in Fishbowl under Settings → Integrated Apps.
| Field | Required? | Where to get it |
|---|---|---|
| Server URL | Required | Your Fishbowl server address, e.g. http://192.168.1.10:80 — it must be reachable from the internet or via VPN |
| Username | Required | A Fishbowl user for the integration |
| Password | Required | That user’s password |
| App Name | Required | The name this integration logs in as. After the first login, approve it in Fishbowl: Settings → Integrated Apps |
| App ID | Optional | Assigned in Integrated Apps after approval, if your setup uses one |
Brightpearl

Brightpearl is a retail operations platform — orders, inventory and accounting — for multichannel sellers. It syncs the standard ERP document set through Brightpearl’s API. Connection method: OAuth — an Access Token obtained for your app via the Authorization Code Grant, together with your Account, Datacenter, App Ref and Dev Ref.
| Field | Required? | Where to get it |
|---|---|---|
| Account (subdomain) | Required | The subdomain of your Brightpearl address, e.g. "acme" in acme.brightpearl.com |
| Datacenter | Required | The api_domain returned by the OAuth flow, e.g. use1.brightpearlconnect.com |
| App Ref | Required | Your app’s reference in the Brightpearl developer setup |
| Dev Ref | Required | Your developer reference from the same setup |
| Access Token | Required | Obtained via the Authorization Code Grant for your app |
External WMS#
External WMS connections work the other way round from sales channels: Docklify (OMS / control tower) sends orders and ASNs to a warehouse system that is not Docklify WMS, and receives inventory and shipment confirmations back.
Item WMS (UNIS)

Connects Docklify to an Item WMS / UNIS warehouse: orders and ASNs go down, inventory and shipment status come back. All the IDs below are assigned by UNIS — you cannot create them yourself.
| Field | Required? | Where to get it |
|---|---|---|
| Username | Required | Your Item WMS login username |
| Password | Required | Your Item WMS login password |
| Company ID | Required | Assigned by the UNIS system administrator; sent with almost every API call |
| Customer ID | Required | Assigned by UNIS Finance |
| Facility ID | Required | The warehouse ID assigned by your ITEM CSR |
| Base URL | Optional | Defaults to the production endpoint https://wms.item.com/api/public/v1/public |
Logiwa

Connects Docklify to a Logiwa warehouse: orders go down, inventory and shipment confirmations come back. Authentication is the Logiwa account’s email / password pair, exchanged for a session token automatically.
| Field | Required? | Where to get it |
|---|---|---|
| Username (email) | Required | The email of a Logiwa user with API access |
| Password | Required | That user’s Logiwa password |
Oracle WMS Cloud

Connects Docklify to Oracle WMS Cloud (LogFire): orders go down, inventory and shipment confirmations come back. Authentication runs through your Oracle IDCS identity domain with an OAuth2 client-credentials triple; the exact values come from your Oracle WMS instance setup.
| Field | Required? | Where to get it |
|---|---|---|
| Client ID | Required | IDCS confidential application for your WMS instance |
| Client Secret | Required | Same IDCS application |
| Token URL | Required | The OAuth token endpoint of your IDCS domain |
Fleet, telematics & maps (TMS)#
Samsara

Pulls fleet, vehicle and driver data (locations, stats) from Samsara into TMS for dispatch and live tracking.
| Field | Required? | Where to get it |
|---|---|---|
| API Token | Required | Samsara Dashboard → Settings → API Tokens — generate a token with read access to fleet / vehicles / stats |
| Base URL | Optional | API region: default https://api.samsara.com; EU customers use https://api.eu.samsara.com |
Motive

Pulls fleet and vehicle data from Motive (KeepTruckin) into TMS. Motive uses an OAuth 2.0 authorization-code flow: complete the authorization first, then paste the exchanged access token here.
| Field | Required? | Where to get it |
|---|---|---|
| Access Token | Required | The token exchanged via gomotive.com/oauth/authorize → gomotive.com/oauth/token |
| Base URL | Optional | Default https://api.gomotive.com; change only for a regional endpoint |
FedEx Freight

LTL rating and shipment booking with FedEx Freight from TMS, using the same FedEx Developer Portal app model as parcel — but with your Freight account number.
| Field | Required? | Where to get it |
|---|---|---|
| Client ID | Required | FedEx Developer Portal → your app → Client ID |
| Client Secret | Required | Same app page |
| Freight Account Number | Required | Your FedEx Freight account number (used for LTL rating and billing) |
| Test Mode | Optional | "true" (default) uses the sandbox https://apis-sandbox.fedex.com with sandbox credentials; "false" uses production https://apis.fedex.com |
Google Maps (Routes)

Route and distance calculations for TMS / LastMile planning, via the Google Routes API.
| Field | Required? | Where to get it |
|---|---|---|
| API Key | Required | Google Cloud Console → create a project → enable the Routes API → create an API key (restrict it to the Routes API and your IPs) |
Mapbox

Route and distance calculations for TMS / LastMile planning, via the Mapbox Directions API — an alternative to Google Maps; connect one of the two.
| Field | Required? | Where to get it |
|---|---|---|
| Access Token | Required | account.mapbox.com → Access Tokens |
Container tracking (Drayage)#
Terminal49

Container milestones, vessel schedules and terminal availability for Drayage, pulled from Terminal49. The key is self-service and the free Developer Key already tracks up to 100 containers.
| Field | Required? | Where to get it |
|---|---|---|
| API Key | Required | app.terminal49.com/developers/api-keys — create a key there |
Vizion

Container tracking events and milestones for Drayage, pulled from Vizion. There is no self-service signup — keys are issued by Vizion sales.
| Field | Required? | Where to get it |
|---|---|---|
| API Key | Required | Issued by Vizion sales when your account is opened (sent as the X-API-Key header) |
Last-mile delivery platforms#
These two connections let LastMile dispatch orders to on-demand courier networks. Both need your pickup location on the connection itself, because every delivery is created from that pickup point.
DoorDash Drive

DoorDash Drive is DoorDash’s on-demand courier network for your own orders: LastMile creates deliveries from your pickup location and follows them to the customer’s door. Connection method: API credentials from the DoorDash Developer Portal — requests are signed as JWTs with your Developer ID, Key ID and Signing Secret.
| Field | Required? | Where to get it |
|---|---|---|
| Developer ID | Required | DoorDash Developer Portal → Credentials page |
| Key ID | Required | Same Credentials page (pairs with the signing secret) |
| Signing Secret | Required | Same Credentials page (base64; used to sign the JWT) |
| Pickup Address | Optional | Single-line pickup address. Required unless you fill the External Business ID + External Store ID below (a registered store’s address then overrides it) |
| External Business ID / External Store ID | Optional | If your business and store are registered in DoorDash, fill both together instead of the address |
| Pickup Business Name | Optional | The name the dasher sees at pickup |
| Pickup Phone Number | Optional | A phone number the dasher can call at pickup |
Uber Direct

Uber Direct is Uber’s on-demand courier network for your own orders: LastMile creates deliveries from your pickup location and follows them to the customer’s door. Connection method: OAuth2 client credentials — the Client ID / Client Secret of your app on direct.uber.com, under your Customer ID.
| Field | Required? | Where to get it |
|---|---|---|
| Client ID | Required | direct.uber.com → Developer → your app → API credentials |
| Client Secret | Required | Same page; shown once |
| Customer ID | Required | direct.uber.com → Developer → Customer ID (it appears in the API path /v1/customers/{customer_id}/deliveries) |
| Pickup Address (JSON) | Required | Your store / warehouse address as a JSON string, e.g. {"street_address":["20 W 34th St"],"city":"New York","state":"NY","zip_code":"10001","country":"US"}. Needed to create deliveries (not for the connection test) |
| Pickup Name | Optional | Store / merchant name shown to the courier (defaults to "Merchant") |
| Pickup Phone | Optional | A phone number the courier can call at pickup |
Marketplace fulfillment#
Amazon FBA

This connection powers the platform-fulfillment views: FBA inventory sync, unified stock across your own warehouses and Amazon, and replenishment alerts. It uses the same Selling Partner API credential set as the Amazon SP-API channel connection above — with one extra requirement: your SP-API app must be authorized for the “Amazon Fulfillment” role, or the FBA inventory calls are refused. If you already run an Amazon SP-API connection, you can reuse the same Seller ID, LWA pair, refresh token and AWS keys.
| Field | Required? | Where to get it |
|---|---|---|
| Seller ID (Merchant Token) | Required | Seller Central → Settings → Account info → Merchant Token |
| Marketplace ID | Required | US marketplace: ATVPDKIKX0DER |
| LWA Client ID / Secret | Required | Your SP-API app in Seller Central → Apps and Services → Develop apps (app must have the Amazon Fulfillment role) |
| Refresh Token | Required | From the Amazon authorization flow (Seller Central → Apps and Services → Authorize) |
| AWS Access Key ID / Secret | Required | AWS IAM keys used for SigV4 signing (secret shown once at creation) |
| IAM Role ARN | Optional | Only if you sign via STS AssumeRole; leave empty to sign directly with the keys above |
Returns platforms#
Returns platforms run the shopper-facing returns portal and decide what happens to each return. Connecting one brings its returns into Docklify’s returns management (RMS): your warehouse sees which returns are on their way, processes them on arrival, and follows the platform’s disposition decisions for what happens next.
Happy Returns

Happy Returns (a UPS company) runs a returns portal built around in-person Return Bar drop-offs plus mail-in returns. The connection keeps Docklify’s returns (RMS) in step with Happy Returns: return status changes are pushed to Docklify as shoppers start returns and as returns are approved and received. Connection method: an API key issued during onboarding, sent as the “X-Hr-Apikey” header.
| Field | Required? | Where to get it |
|---|---|---|
| API Key | Required | Issued by your Happy Returns account manager during onboarding (API setup page) |
| API base URL | Optional | Your merchant API host is assigned during onboarding. You can leave it empty for now and fill it in once onboarding gives you the address |
Loop Returns

Loop Returns is a returns portal for ecommerce brands: shoppers start and track returns in Loop, and the connection lets your warehouse work those returns in Docklify’s returns management (RMS) — flagging returns as they arrive and processing them at the bench. Connection method: an API key from the Loop admin, sent as the “X-Authorization” header.
| Field | Required? | Where to get it |
|---|---|---|
| API Key | Required | Loop admin → Returns Management → Tools & integrations → Developer Tools: create a key with the “returns” scope |
ReturnGO

ReturnGO is a returns portal that manages the whole return journey, from the shopper’s request to the refund. The connection syncs its return orders (RMAs) into Docklify’s returns management (RMS), so the warehouse can look up any return and see what is coming back before it arrives. Connection method: an API key plus your shop domain, sent as headers on every call, together with the API server URL from ReturnGO’s API documentation.
| Field | Required? | Where to get it |
|---|---|---|
| API Key | Required | ReturnGO dashboard → Settings → API: generate a key (one key can manage multiple stores) |
| Shop domain | Required | Your shop domain as registered in ReturnGO, e.g. demo-store.myshopify.com (sent as the “x-shop-name” header) |
| API server URL | Required | Copy the server URL from the Servers section of the official ReturnGO API documentation (Swagger) |
| API key header name | Optional | In most cases x-api-key. If ReturnGO gives you a different header name when you connect, use that instead |
Optoro

Optoro decides where each return should go next — resale, liquidation, return to vendor, donation — so returned stock recovers the most value. The connection brings Optoro’s disposition decisions into Docklify, where they drive the outbound shipments that move returned items to the chosen channel. Connection method: OAuth 2.0 client credentials issued by Optoro’s Client Success team.
| Field | Required? | Where to get it |
|---|---|---|
| Client ID | Required | Issued by the Optoro Client Success team when your API access is provisioned |
| Client Secret | Required | Issued together with the Client ID by the Optoro Client Success team |