Order push, despatch write-back with tracking, available stock per location, catalogue import and stock location lookups.
Deliberately not offered: product push (the warehouse masters the catalogue in Linnworks). Also not part of this integration: order cancellation and amendment, purchase orders and ASNs, GRNs and returns.
Install LataSys 3PL Connector: Linnworks 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.
| Field | Value |
|---|---|
| Provider | Linnworks |
| Base URL | leave as https://api.linnworks.net - the real host is discovered at authentication |
| API Key | the Application Id |
| API Secret | the Application Secret |
| Installation Token | on the Linnworks Options tab - the permanent token from installing the application |
Press Test Connection. Authentication returns a session token and the regional server your account lives on; the connector stores the server and sends every later call there.
Warehouses. Press Fetch Warehouses to list Linnworks stock locations and put the location id in each mapping's remote code. A default location can be set for unmapped warehouses; it also scopes the open-order poll.
Carriers and services. Map delivery methods onto Linnworks postal service names, or set a Default Postal Service. The value must match a postal service configured in Linnworks.
Statuses. Press Load Missing Defaults: Open, Paid, Parked, Processed, Cancelled.
| Field | Meaning |
|---|---|
| Installation Token | Permanent token from installing your application on the account. Not the session token. |
| Regional Server | Read-only. Discovered at authentication and refreshed automatically. |
| Default Location ID | Stock location for unmapped warehouses; also scopes the open-order poll. |
| Default Postal Service | Postal service name sent when no mapping resolves one. |
The regional server matters. Linnworks shards accounts across regional servers (eu-ext, us-ext and so on) and authentication tells you which one your account lives on. Every later call must go there; calling the wrong host simply fails authentication. The connector handles this - do not override the Base URL unless Linnworks tell you to.
Sessions expire on inactivity. Not on a fixed clock. A 401 re-authenticates once automatically and the run continues.
Rate limit: 150 requests a minute on the order methods. A 429 is logged as a retryable error with any retry-after value, and the next scheduled run picks it up.
The catalogue stays in Linnworks. Product push is deliberately not offered: your warehouse owns SKU governance there, and pushing from Odoo would fight their master data. Use Product Import to match your Odoo products to theirs.
Available, not on hand. Stock is on hand less what Linnworks has allocated to open orders, filtered to the mapped location where there is one.
Reconciliation reads open orders. Despatched orders leave the open-orders list - that is how Linnworks models the hand-off.
| Symptom | Cause and fix |
|---|---|
| "Linnworks credentials missing" | One of Application Id, Application Secret or Installation Token is blank. |
| "did not return a session token and server" | The application is not installed on the account, or the installation token is stale. Re-install and copy the new token. |
| Rate limit errors | Expected under heavy load; they are retryable and clear on the next run. Lower the sync cadence if persistent. |
| Product push greyed out | By design - match products with Product Import instead. |
| Stock looks too high | Check the warehouse mapping's location id: with no mapping the connector sums every location. |
Part of the LataSys 3PL Connector. Support: support@latasys.com | Help Center