Extensiv adapter - setup and reference

Extensiv adapter - setup and reference

What this adapter provides

Orders (create, amend with optimistic concurrency, cancel before allocation), despatch write-back with tracking, available stock with lot and expiry detail, item create and update, ASNs as receivers, goods received confirmations, facility and carrier lookups.

Not offered by the Warehouse Manager API, and therefore hidden on Extensiv instances: order holds, the supplier master, ASN cancellation and returns. Webhooks exist but are configured in the Extensiv web app rather than over the API, so the connector polls.

Prerequisites

  • The 3PL Connector core app, installed and licensed.
  • API access granted by your warehouse. They issue five values: client id, client secret, a user login id for your integration, the TPL GUID (their tenant) and your Customer ID (your record inside it).
  • Your warehouse's facility ids for the warehouses you fulfil from.

Installation

Install LataSys 3PL Connector: Extensiv Adapter alongside the core app. The provider appears in the instance form's Provider list as soon as the module is installed - no configuration is needed to register it.

Connection setup

Field Value
Provider Extensiv 3PL Warehouse Manager
Base URL https://secure-wms.com (override only if your warehouse runs a dedicated host)
API Key the OAuth client id
API Secret the OAuth client secret
Username the user login id issued for your integration
TPL GUID on the Extensiv Options tab - the warehouse tenant
Customer ID on the Extensiv Options tab - your record in that tenant

Press Test Connection. A successful test lists the facilities with their numeric ids and echoes back the Customer ID it is using.

The connector exchanges the credentials for a Bearer token that lasts 30 to 60 minutes, caches it on the instance and refreshes it before expiry. If the warehouse revokes a token early, the next call re-authenticates once automatically rather than failing the run.

Mappings

Warehouses. Press Fetch Warehouses and put the numeric facility id in each warehouse mapping's remote code. A default facility can be set on the Extensiv Options tab for warehouses without their own mapping.

Carriers. Press Fetch Carriers to fill the carrier map. The carrier and mode are sent on the order's routing info.

Statuses. Press Load Missing Defaults. Extensiv reports its process status numerically; the connector maps 0-5 onto Pending, Open, Picked, Packed, Shipped and Cancelled. Shipped triggers the despatch write-back.

Extensiv Options tab

Field Meaning
TPL GUID The warehouse tenant's GUID, issued with your API credentials.
Customer ID Your customer record inside that tenant. Items, stock and receivers are all scoped to it.
Default Facility ID Facility used when an Odoo warehouse has no mapping of its own. Leave empty to require an explicit mapping.

Provider-specific behaviour

The Customer ID is the one to get right. A wrong but valid Customer ID does not error - it returns another customer's catalogue, which is empty from your point of view. That is why the adapter refuses to run catalogue and stock calls until it is set, and why Test Connection shows you the value in use.

Amendment uses optimistic concurrency. Extensiv returns an ETag when you read an order and expects it back as If-Match when you write. The adapter re-reads the order immediately before amending and sends the ETag. If the warehouse edited the order first, Extensiv refuses the write rather than letting you overwrite their change, and the next status poll brings their version into Odoo.

HAL collections. Responses use application/hal+json and nest rows under _embedded with a key that differs per endpoint. The adapter reads rows without hard-coding those keys, so an endpoint naming its collection differently still works.

Available, not on hand. Stock sync reports AVAILABLE - on hand less what Extensiv has already allocated to warehouse orders - so units committed to another order are never offered twice.

Troubleshooting

Symptom Cause and fix
"Extensiv credentials missing" One of API Key, API Secret or Username is blank. All three come from your warehouse.
Empty catalogue and no stock, no error Wrong Customer ID. Confirm it with your warehouse - the id is valid, it just belongs to someone else.
"Extensiv returned no access token" Client id, secret or user login id is wrong. Ask the warehouse to re-issue.
Amendment fails with a 412 The warehouse changed the order first. Let the next status poll bring their version in, then decide.
"cannot be amended safely" Extensiv did not return an ETag on the read. Amend the order in the Extensiv UI.
"No Extensiv facility for Odoo warehouse..." Map the warehouse to a numeric facility id, or set a default facility.

Part of the LataSys 3PL Connector. Support: support@latasys.com | Help Center