Clarus goods out
Lesson 10 of 28 8 min read
Configure Warehouse Orders for Clarus WMS, including how addresses are sent, warehouse and bay defaults, carriers, contact checks and batch picking.
A Warehouse Order sent to Clarus becomes a goods out: an instruction to pick and despatch. Clarus and the transport systems behind it are strict, so Supply Lens checks a lot before sending. This lesson shows what is checked and how to configure the rest.
How the address is sent
Supply Lens sends the delivery address the way a warehouse reads it:
| Clarus field | What goes in it |
|---|---|
name | The recipient |
company_name | The company |
address_1 | The street |
address_2 | The second and third address lines, joined |
address_3 | The town or city |
| postcode and country | Their own fields |
address_4, address_5 | Nothing |
The recipient and company never go into the address lines.
Incomplete addresses fail before sending
An order missing a recipient or company name, street, town, postcode or country fails translation instead of being sent. Fix the address on the source order, then reprocess.
Decision 1: where is it despatched from?
| defaultWarehouseId | The Clarus warehouse id used when the order's fulfilment location has no Clarus warehouse id cross-referenced. Left unset with nothing cross-referenced, the order is sent without a warehouse and a warning is logged. Usually differs between test and live. |
|---|---|
| defaultLocationId | The Clarus location id, normally the warehouse's default goods out bay. Some warehouses require a location on every goods out. Left unset, the field is omitted. Usually differs between test and live. |
| defaultDeliveryInstructions | Static text added to the Delivery Notes field on every goods out. |
Decision 2: which carrier and service?
| carrierId | The Clarus carrier id. Either a constant for one default carrier, or read from the order with a JSON path such as $.shipping[0].carrierName and translated with field mappings, whose default covers anything unmapped. Left unset, the field is omitted. |
|---|---|
| carrierServiceId | The Clarus carrier service level id, such as a 24 or 48 hour service. Configured the same way as carrierId. |
| contactRequiredCarrierIds | Carrier ids that cannot deliver without the recipient's email and phone number, typically the warehouse's own pallet or distribution networks. An order for one of these carriers missing either detail fails translation, naming what is missing. |
A JSON path is a short address for a value inside a Document. $.shipping[0].carrierName
means "the carrier name on the first shipping entry".
Why fail early?
Without contactRequiredCarrierIds, an order with no phone number would be created in
Clarus and then fail to import into the warehouse's transport system, which is much harder
to spot. Failing in Supply Lens puts the problem where your team can see it.
Decision 3: who chooses the batch?
| sendBatchNumbers | When enabled, a line carrying batches is sent as one goods out line per batch, with the batch number in string1 and its expiry date in datetime2, so the warehouse picks those batches. Lines without batches are sent normally. Off by default. |
|---|
Leave it off where the warehouse chooses which batches to pick, for example first-expiry first-out. Turn it on when your ERP allocates batches and the warehouse must follow.
Oakmoor Foods' pallet orders
Oakmoor sends most orders on the warehouse's own pallet network, which needs a phone number for delivery booking. Its implementer:
- sets
carrierIdfrom$.shipping[0].carrierName, mapping Oakmoor's carrier names to Clarus carrier ids, with the pallet network as the default; - adds the pallet network's id to
contactRequiredCarrierIds; - sets
defaultLocationIdto the goods out bay, because this warehouse requires one; - leaves
sendBatchNumbersoff, because the warehouse rotates stock by expiry itself.
The first week, two orders fail translation for a missing phone number. Customer services adds the numbers and the orders are reprocessed, instead of failing silently in transport.
Recap
- Addresses go into fixed Clarus fields; incomplete addresses fail translation.
- defaultWarehouseId and defaultLocationId cover orders without a cross-referenced warehouse and set the goods out bay; both change at go-live.
- Carrier and service ids can be constants or mapped from the order with a JSON path and a default.
- contactRequiredCarrierIds catches missing email or phone before the order reaches Clarus.
- sendBatchNumbers makes the warehouse pick the batches your system chose.
Quick guides for this topic
Your progress is saved in this browser. Create a free account to keep it everywhere, take quizzes and earn certificates.