Pick list (PL)
Pick lists are the basis of picking activities, all picking from AutoStore should be initiated by sending a pick list to eManager. Pick lists should be sent to eManager as soon as possible. eManager will prioritize the pick lists and ensure that AutoStore's potential to prepare for planned picking is maximized. Items should only be included in a pick list if records in the ERP/WMS system indicate there is sufficient quantity of those items stored in AutoStore to fulfil the pick list. If a pick list includes items that are not stored in AutoStore, eManager will send an External Balance Correction to inform the ERP/WMS system that the item is not available.
Pick lists implicitly contain two levels of data:
- Order level: Describes common attributes for the whole pick list. Fields related to the order level must be identical on all lines in the message.
- Order line level: Details the specific items that are to be picked.
When a pick list is for items that are to be sent directly to customers, each pick list should belong to only one customer, and all items on the pick list should be shipped together. If a customer order contains both items stored in AutoStore and items stored elsewhere in the warehouse, only the items stored in AutoStore should be included in the pick list that is sent to eManager.
Pick lists should also be used for items that are to be transferred out of AutoStore to a different warehouse zone. In this case a separate order type should be used, so the pick lists can be distinguished from those that represent customer orders.
Data structure
Core
Field name | Type | Length | Mandatory | Identical for all lines | Description |
---|---|---|---|---|---|
TransactionId | Integer | 32-bit | No | Yes | Unique transaction identifier for the message. Used for traceability. Should be included in the file name when using file transport. |
ExtPicklistId | String | 50 | Yes | Yes | Unique identifier for the pick list |
ExtOrderId | String | 50 | No | Yes | Unique identifier for the order |
SpeditorId | String | 50 | No | Yes | Freight forwarder identifier – link order to stop time and request time for priority of the pick list |
SpeditorText | String | 50 | No | Yes | Freight forwarder name |
CustId | String | 50 | No | Yes | Unique identifier for the customer |
CustName | String | 50 | No | Yes | Customer name |
OrderTypeId | String | 50 | No | Yes | Unique identifier for the order type |
OrderTypeText | String | 50 | No | Yes | Order type name |
Info1 | String | 50 | No | Yes | Info field on order level |
Info2 | String | 50 | No | Yes | Info field on order level |
ExtOrderlineId | Integer | 32-bit | Yes | No | Unique identifier for the order line within the order |
ExtProductId | String | 50 | Yes | No | Unique identifier for the product |
BatchId | String | 50 | No | No | Unique identifier for the product batch |
Quantity | Decimal | 18,3 | Yes | No | Quantity to be picked |
OrderLineNote | String | 4000 | No | No | Info field on order line level. Operator can see this field in AutoStore interface while picking. |
OrderLineNote2 | String | 4000 | No | No | Info field on order line level. Operator can see this field in AutoStore interface while picking. |
ExtPicklistLineId | Integer | 32-bit | No | No | Unique identifier for the line within a pick list |
ExtOrderlineSubId | Integer | 32-bit | No | No | Used if a product in the external system consists of several different products in eManager. In this case the order line must be split up. Each of the resulting lines must have a unique ExtOrderLineSubId. |
PackValidationScanCode | String | 250 | No | Yes | Scan label at pack: If non-empty string, the operator must scan the completed shipment before proceeding to the next taskgroup. |
ExpiryDateFilter | String | 50 | No | No | Used for limiting the stock assignment to range of expiry dates. This can be expressed as a specific date or a range/interval of dates, either specific dates in ISO format (yyyy.mm.dd) or as relative as an integral value relative to the current day it's actually used - like "-5..-1", meaning from current day -5 days to current day -2. Both days are inclusive. |
TMS integration
The following fields are typically used to integrate eManager directly with a TMS system. These fields are not used in eManager, but can be passed through to an external system.
Field name | Type | Length | Description |
---|---|---|---|
DelName | String | 50 | Delivery name |
DelAddr1 | String | 50 | Delivery address line 1 |
DelAddr2 | String | 50 | Delivery address line 2 |
DelPostCode | String | 50 | Delivery post code |
DelCity | String | 50 | Delivery city |
DelCountry | String | 50 | Delivery country |
DevName | String | 50 | Sender name |
DevAddr1 | String | 50 | Sender address line 1 |
DevAddr2 | String | 50 | Sender address line 2 |
DevPostCode | String | 50 | Sender post code |
DevCity | String | 50 | Sender city |
DevCountry | String | 50 | Sender country |
InvCompCode | String | 50 | Sender company code |
InvName | String | 50 | Invoice to name |
InvAddr1 | String | 50 | Invoice to address line 1 |
InvAddr2 | String | 50 | Invoice to address line 2 |
InvPostCode | String | 50 | Invoice to postcode |
InvCity | String | 50 | Invoice to city |
InvCountry | String | 50 | Invoice to country |
SenderMail | String | 50 | Sender e-mail address |
SenderPhone | String | 50 | Sender phone number |
ReceiverMail | String | 50 | Receiver e-mail address |
ReceiverPhone | String | 50 | Receiver phone number |
TmsCustomerId | String | 20 | Identifier for the sender in the TMS system |
IncoTerm | String | 3 | Code of the freight rule |
IncoTermText | String | 50 | Description of the freight rule |
Transport
The API reference contains more details about how to send a PL using HTTP transport: ImportPicklist.
Examples
XML
<?xml version="1.0" encoding="UTF-8"?>
<ImportOperation>
<Lines>
<PicklistLine>
<TransactionId>1506265</TransactionId>
<ExtPicklistId>800025089</ExtPicklistId>
<ExtOrderId>4087</ExtOrderId>
<SpeditorId>73</SpeditorId>
<SpeditorText>DHL</SpeditorText>
<CustId>100042</CustId>
<CustName>Kari Nordmann</CustName>
<OrderTypeId>15</OrderTypeId>
<OrderTypeText>Levering</OrderTypeText>
<Info1>First line of order information</Info1>
<Info2>Second line of order information</Info2>
<ExtOrderlineId>10</ExtOrderlineId>
<ExtProductId>214323</ExtProductId>
<BatchId>50</BatchId>
<Quantity>2.000</Quantity>
<OrderLineNote>First line of order line information</OrderLineNote>
<OrderLineNote2>Second line of order line information</OrderLineNote2>
<ExtPicklistLineId>20</ExtPicklistLineId>
<ExtOrderlineSubId>1</ExtOrderlineSubId>
<DelName>Kari Nordmann</DelName>
<DelAddr1>Example road 42</DelAddr1>
<DelAddr2>Apt 404</DelAddr2>
<DelPostCode>AB-1234</DelPostCode>
<DelCity>Exampletown</DelCity>
<DelCountry>Norway</DelCountry>
<DevName>Element Logic AS</DevName>
<DevAddr1>Dyrskuevegen 26</DevAddr1>
<DevAddr2></DevAddr2>
<DevPostCode>2040</DevPostCode>
<DevCity>Kløfta</DevCity>
<DevCountry>Norway</DevCountry>
<InvCompCode>982519292</InvCompCode>
<InvName>Ola Nordmann</InvName>
<InvAddr1>Example road 42</InvAddr1>
<InvAddr2>Apt 404</InvAddr2>
<InvPostCode>AB-1234</InvPostCode>
<InvCity>Exampletown</InvCity>
<InvCountry>Norway</InvCountry>
<SenderMail>example@elementlogic.no</SenderMail>
<SenderPhone>+47 63 94 73 50</SenderPhone>
<ReceiverMail>kari.nordmann@example.com</ReceiverMail>
<ReceiverPhone>+47 123 45 678</ReceiverPhone>
<TmsCustomerId>3824</TmsCustomerId>
<IncoTerm>CPT</IncoTerm>
<IncoTermText>Carriage Paid To</IncoTermText>
</PicklistLine>
<PicklistLine>
<TransactionId>1506265</TransactionId>
<ExtPicklistId>800025089</ExtPicklistId>
<ExtOrderId>4087</ExtOrderId>
<SpeditorId>73</SpeditorId>
<SpeditorText>DHL</SpeditorText>
<CustId>100042</CustId>
<CustName>Kari Nordmann</CustName>
<OrderTypeId>15</OrderTypeId>
<OrderTypeText>Levering</OrderTypeText>
<Info1>First line of order information</Info1>
<Info2>Second line of order information</Info2>
<ExtOrderlineId>10</ExtOrderlineId>
<ExtProductId>323412</ExtProductId>
<BatchId>66</BatchId>
<Quantity>4.000</Quantity>
<OrderLineNote>First line of order line information</OrderLineNote>
<OrderLineNote2>Second line of order line information</OrderLineNote2>
<ExtPicklistLineId>20</ExtPicklistLineId>
<ExtOrderlineSubId>2</ExtOrderlineSubId>
<DelName>Kari Nordmann</DelName>
<DelAddr1>Example road 42</DelAddr1>
<DelAddr2>Apt 404</DelAddr2>
<DelPostCode>AB-1234</DelPostCode>
<DelCity>Exampletown</DelCity>
<DelCountry>Norway</DelCountry>
<DevName>Element Logic AS</DevName>
<DevAddr1>Dyrskuevegen 26</DevAddr1>
<DevAddr2></DevAddr2>
<DevPostCode>2040</DevPostCode>
<DevCity>Kløfta</DevCity>
<DevCountry>Norway</DevCountry>
<InvCompCode>982519292</InvCompCode>
<InvName>Ola Nordmann</InvName>
<InvAddr1>Example road 42</InvAddr1>
<InvAddr2>Apt 404</InvAddr2>
<InvPostCode>AB-1234</InvPostCode>
<InvCity>Exampletown</InvCity>
<InvCountry>Norway</InvCountry>
<SenderMail>example@elementlogic.no</SenderMail>
<SenderPhone>+47 63 94 73 50</SenderPhone>
<ReceiverMail>kari.nordmann@example.com</ReceiverMail>
<ReceiverPhone>+47 123 45 678</ReceiverPhone>
<TmsCustomerId>3824</TmsCustomerId>
<IncoTerm>CPT</IncoTerm>
<IncoTermText>Carriage Paid To</IncoTermText>
</PicklistLine>
<PicklistLine>
<TransactionId>1506265</TransactionId>
<ExtPicklistId>800025089</ExtPicklistId>
<ExtOrderId>4087</ExtOrderId>
<SpeditorId>73</SpeditorId>
<SpeditorText>DHL</SpeditorText>
<CustId>100042</CustId>
<CustName>Kari Nordmann</CustName>
<OrderTypeId>15</OrderTypeId>
<OrderTypeText>Levering</OrderTypeText>
<Info1>First line of order information</Info1>
<Info2>Second line of order information</Info2>
<ExtOrderlineId>30</ExtOrderlineId>
<ExtProductId>214324</ExtProductId>
<BatchId>67</BatchId>
<Quantity>2.000</Quantity>
<OrderLineNote>First line of order line information</OrderLineNote>
<OrderLineNote2>Second line of order line information</OrderLineNote2>
<ExtPicklistLineId>30</ExtPicklistLineId>
<ExtOrderlineSubId>1</ExtOrderlineSubId>
<DelName>Kari Nordmann</DelName>
<DelAddr1>Example road 42</DelAddr1>
<DelAddr2>Apt 404</DelAddr2>
<DelPostCode>AB-1234</DelPostCode>
<DelCity>Exampletown</DelCity>
<DelCountry>Norway</DelCountry>
<DevName>Element Logic AS</DevName>
<DevAddr1>Dyrskuevegen 26</DevAddr1>
<DevAddr2></DevAddr2>
<DevPostCode>2040</DevPostCode>
<DevCity>Kløfta</DevCity>
<DevCountry>Norway</DevCountry>
<InvCompCode>982519292</InvCompCode>
<InvName>Ola Nordmann</InvName>
<InvAddr1>Example road 42</InvAddr1>
<InvAddr2>Apt 404</InvAddr2>
<InvPostCode>AB-1234</InvPostCode>
<InvCity>Exampletown</InvCity>
<InvCountry>Norway</InvCountry>
<SenderMail>example@elementlogic.no</SenderMail>
<SenderPhone>+47 63 94 73 50</SenderPhone>
<ReceiverMail>kari.nordmann@example.com</ReceiverMail>
<ReceiverPhone>+47 123 45 678</ReceiverPhone>
<TmsCustomerId>3824</TmsCustomerId>
<IncoTerm>CPT</IncoTerm>
<IncoTermText>Carriage Paid To</IncoTermText>
</PicklistLine>
</Lines>
</ImportOperation>