Marketplaces / Virtual Stock FTP General Abstraction / John Lewis / John Lewis Stock FTP

John Lewis Stock FTP

Version Created / Updated Notes
1.0 Danail Deltchev
1.1 Aleksander Cvetkov Add folder for error files and update the logic for processing the response from JL.
1.2 Milen Markov Added mapping for tradedCode field

The Purpose of this document is to specify the details around Stock updates on John Lewis Marketplace

The Inventory is slightly different than the other flows as well. It is a standard .csv file that is also indicated by a leading “Inventory” in the naming. This flow does NOT require a .DONE file to be created. As soon as the Inventory.csv file is dropped in the correct folder The Edge will start reading it. This means that we should not employ any renaming strategies (as we do on our standard out of the box Hemi Exports)

Filename format: inventory-yyyymmddhhmmssnnnnnn.csv

Ftp Path Label for the setting: StockUpdate (/Inventory)

Ftp Path Label for the setting for getting errors: StockUpdateError (/Inventory/errors)

Example Mapping:

Integration Field Integration Notes Integration Format Hemi Mapping Hemi Notes
part_number An 8-digit numeric code allocated by JLP Buying, also called Stock Number. This can change occasionally when Buying need to restructure their assortment Part number Product Account > ChannelItemID Mandatory field. This is used for unique reference on JL marketplace. Should be filled in as part of the onboarding of a client process and should be provided by JL
tradedCode Suppliers’ product identifier Text (20) <v1.2> Product Account > Marketplace EAN / Product Details > EAN

OR Product Details > SKU</v1.2> | <v1.2> To be controlled by a new drop-down field called ‘Seller Product Code used’ with possible option of empty value (default), SKU or EAN (following the standard priorities - Marketplace EAN → EAN). If both EAN fields are empty we are to fill a null value in the field for the selected product </v1.2> | | current_lead_time_to_delivery_in_days | What the supplier's current lead time for delivery of this product is | Number | *Calculate | We should calculate this in days the same way we do in the Acknowledgement update of an order - taking the general Handling time and delivery time for the products: handling time (going through item_account Dispatch Time Max > If there is a Shipping template assigned to this item - > Default Shipping template: basically the same method we are using to determine handing time when we are listing a product) + delivery time (from the assigned Shipping template OR the default one we take the Shipping Method and take the “delivery time” (NEW FIELD). Expectation is for this Marketplace the Shipping templates will have only one Shipping Method. In case there are multiple the biggest delivery time should be used) = days for delivery which we should use in this field as a number | | standard_lead_timeto delivery_in_days | What the supplier's usual lead time for product delivery is | Number | Account John Lewis > Standard Lead Time To Delivery In Days | New field! I believe we should set this as one value for all and update only the current_lead_time | | fulfilmentType | How the supplier fulfils delivery of this product | Deliver to John Lewis Direct to customer | N/A | | | supplier_product_status | The status of the product according to the supplier, independent of JLP's product status e.g. if they consider it to be deleted | Active Deleted Discontinuing | <v1.2> “Active” </v1.2> | <v1.2> For now, this should be hardcoded as ‘Active’ </v1.2> | | free_stock | The current quantity of this product available for sale to all retailers (excludes any ring-fenced quantity for JLP). | Number | Product Account > Quantity | | | ring_fenced_units_for_jl | Ring fenced stock for JLP. | Number | N/A | | | date_expected_back_in_stock | For products that are out of stock, expected date when next delivery of stock will arrive | Date (yyyy-mm-dd) | N/A | |

Additional Information:

  • We want to employ our standard process for Stock updates as described here: Stock Update general requirements . As a quick recap (please check with the doc for full scope) - we are looking for products with update_quantity = pending and/or end_item = 1, follow all needed status requirements and update accordingly all needed fields back in Hemi
  • We should put the items pushed to JL on “sent” status as we are to wait and check if there is an error feed
  • If the file was successfully processed it will be moved from its original folder to sub folder processed. If it was not it will be moved to sub folder errors and there will be error file like this “inventory-yyyymmddhhmmssnnnnnn.csv.ERROR“
  • We don’t have example files for the errors. Until we get one and ensure how it works we are to put all records on error status in Hemi if an “err” file is created by JL
Is this article helpful?
0 0 0