Clarus WMS adapter - setup and reference
Everything you need to connect the LataSys 3PL Connector to Clarus
WMS: prerequisites, connection setup, mappings, capabilities and
provider-specific behaviour.
What this adapter provides
| Flow |
Supported |
| Order push and despatch write-back |
Yes |
| Order amendment |
Yes - while the order is PENDING; line changes are ADD-only |
| Order cancellation |
Yes - while the order is PENDING |
| Order hold / release |
No - Clarus has no hold API; pause orders inside Clarus |
| Inventory sync |
Yes - available quantity (no batch detail) |
| Product match and push |
Yes |
| Supplier push |
Yes |
| ASNs (goods-in receipts) |
Yes - create and amend; no cancel endpoint |
| GRNs |
Yes - received/completed receipts matched by reference |
| Returns |
No - Clarus has no returns API; handle returns inside Clarus |
| Proof of delivery |
No |
| Warehouse list fetch |
Yes |
| Carrier list fetch |
Yes |
| Webhooks |
No - the automations API is undocumented; polling only |
Prerequisites
- The LataSys 3PL Connector (core app) installed and licensed.
- Your Clarus tenant's API subdomain
(
https://<subdomain>.api.clarus.ws) - there is no shared host and
no sandbox; ask your Clarus contact.
- A dedicated API user in Clarus (email + password). Clarus allows
one concurrent session per user - logging into the Clarus web
app with the same user kicks the API session - so never share this
user with a person.
- Your Clarus Account ID (the 3PL client account this instance
acts for) and the numeric warehouse ids (Fetch Warehouses lists
them).
Installation
Install the LataSys 3PL Connector: Clarus WMS Adapter module. The
provider then appears in the provider list when creating a 3PL
instance, along with its provider card (API operations reference)
under Configuration - Providers.
Connection setup
- Set the Base URL to your tenant's subdomain
(
https://<subdomain>.api.clarus.ws). The field is mandatory -
every call fails with a clear error until it is set.
- Enter the dedicated API user's email as the username and its
password. The adapter signs in itself
(
POST /users/sign_in), caches the token and re-signs-in once on
a 401 (the single-session rule means any other login invalidates
the token).
- Set the Account ID (shown next to the environment, and in the
Clarus Options tab) - it is required on every push.
- Press Test Connection - Draft moves to Connected.
Mappings
- Warehouses - press Fetch Warehouses to list Clarus's
warehouses; the mapping's remote code is Clarus's numeric
warehouse id (orders and receipts are keyed on it, not the code).
- Carriers - press Fetch Carriers to pull the carrier
catalogue (one line per carrier plus one per carrier + service).
At order push the mapped carrier/service codes are resolved
against the catalogue to the numeric
carrier_id /
carrier_service_id Clarus expects; unmapped orders let Clarus
choose the carrier.
- Statuses - press Load Missing Defaults to seed the standard
Clarus goods-out codes (PENDING / ALLOCATED / PICK in progress,
DISPATCHED / COMPLETED despatched, CANCELLED). Clarus statuses
are tenant data - your tenant may define its own codes; add them
on the Statuses tab, otherwise they are treated as in-progress.
- Requested Methods - press Load Requested Methods to pull
the carrier services and map each requested-delivery-method value
to one; mapped values win over the carrier mapping.
Clarus Options tab
| Field |
What it does |
| Account ID |
The Clarus account (3PL client) this instance acts for - required on every push and used to scope stock reads |
| Receipt Location ID |
Optional Clarus location id stamped on goods-in receipts; empty lets Clarus decide |
| Country Code Overrides |
Comma-separated ISO=Clarus pairs for Clarus's regional country codes. GB=GB-UKM is always applied; add further variants if your tenant uses them |
Provider-specific behaviour
- SKU resolution - Clarus order and receipt lines take Clarus
product ids, not SKUs. Before every push the adapter resolves the
order's SKUs in one products query; if any SKU is unknown at
Clarus, the push fails listing every missing SKU - push those
products first (Product Push) or create them in Clarus.
- References - the Clarus goods-out id is the remote reference;
reference carries the configured order reference and
external_system_reference1 the Odoo order number.
- Despatch detail - the goods-out's lines and pick reference lead
to the pick list (carrier, despatch date) and its shipments
(tracking numbers and URLs, one per package). Lines arrive
un-batched: Clarus has no first-class lots, so keep "Products
Use Batch/Lot Tracking" off on Clarus instances.
- Amendments - Clarus only accepts changes while the order is
PENDING, and its documented line change is ADD-only: the adapter
updates the header (address, carrier, notes, dates) and adds new
products, but cannot change or remove the quantity of an existing
line - the sync log reports any skipped quantity change so it can
be adjusted inside Clarus.
- Stock - the synced quantity is Clarus's available balance
(allocated, picked, held and non-pickable stock is excluded).
- No returns / holds - both are worked entirely inside Clarus;
the connector hides those flows on Clarus instances.
Troubleshooting
| Symptom |
Likely cause |
| "needs the instance's Base URL" |
The per-tenant subdomain is not set - there is no default host |
| 401 on every call despite correct credentials |
Someone logged into Clarus with the API user - one concurrent session per user; use a dedicated API user |
| "Clarus has no product record for SKU(s)" |
The products are not in Clarus's item master - push or create them first |
| Order stuck "in progress" after despatch |
Your tenant uses custom status codes - add them on the Statuses tab with the right canonical meaning |
| Amendment rejected |
The order is no longer PENDING - amend it inside Clarus |
See also: Clarus WMS adapter - process maps for the end-to-end flow
diagrams.
Clarus WMS is a trademark of its respective owner; the name is used
solely to identify the service this module interoperates with.
Related Articles
Clarus WMS adapter - process maps
How every flow in the LataSys 3PL Connector runs when the Clarus WMS adapter is installed. Transport: hybrid - writes are JSON:API REST under /api/..., reads are GraphQL via POST /graphql, both on the tenant's own subdomain ...
MintSoft adapter - setup and reference
Everything you need to connect the LataSys 3PL Connector to MintSoft (Mintsoft OMS/WMS): prerequisites, connection setup, mappings, capabilities and provider-specific behaviour. What this adapter provides Flow Supported Order push and despatch ...
ShipBob adapter - setup and reference
Everything you need to connect the LataSys 3PL Connector to ShipBob: prerequisites, connection setup, mappings, capabilities and provider-specific behaviour. ShipBob's Developer API is versioned REST/JSON (this adapter speaks the 2026-07 version). ...
Huboo adapter - setup and reference
Everything you need to connect the LataSys 3PL Connector to Huboo: prerequisites, connection setup, mappings, capabilities and provider-specific behaviour. The adapter speaks Huboo's public REST API v2. What this adapter provides Flow Supported Order ...
ShipHero adapter - setup and reference
Everything you need to connect the LataSys 3PL Connector to ShipHero: prerequisites, connection setup, mappings, capabilities and provider-specific behaviour. What this adapter provides Flow Supported Order push and despatch write-back Yes Order ...