Argos Stock FTP
Summary of Changes: (The purpose of this table is to keep traceability and Product team to highlight the things that were changed into the scope, based on comments or discussions)
Date | Version | Author | Comment |
---|---|---|---|
27.02.2024 | 1.0 | Bogomil Pavlov | First Publish |
The Purpose of this document is to specify the details around Stock updates on Argos 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)
Sample file:
Example Mapping:
Integration Field | Integration Notes | Integration Format | Hemi Mapping | Hemi Notes |
---|---|---|---|---|
part_number | An 8-digit numeric code allocated by Argos 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 Argos marketplace. Should be filled in as part of the onboarding of a client process and should be provided by Argos |
tradedCode | Suppliers’ product identifier | Text (20) | N/A | |
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 Argos > 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 Argos | ||
Direct to customer | N/A | |||
supplier_product_status | The status of the product according to the supplier, independent of Argos's product status e.g. if they consider it to be deleted | Active |
Deleted Discontinuing | N/A | | | free_stock | The current quantity of this product available for sale to all retailers (excludes any ring-fenced quantity for Argos). | 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 | | | allocated_stock | Quantity of free stock allocated to this channel | | N/A | |
- 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 Product Account > Quantity Update= pending and/or Product Account > End Item = pending, follow all needed status requirements and update accordingly all needed fields back in Hemi
- We should put the items pushed to Argos on “sent” status as we are to wait and check if there is an error feed
- Once the response file is processed we want to update the Marketplace Feeds as follows:
Marketplace Feeds
Field Name | Value |
---|---|
Account | The account name from the item account |
External Id | the file name |
Type | Listing Stock Update |
External Type | N/A |
Status | Completed |
Zip Path | N/A |
External Status | N/A |
Submitted Date | The actual date of submitting |
Completed Date | The date of completed when the response read the file |
Sent Objects Count | Always 1 order |
Response Reader
- 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 Argos
- Once the response file is processed we want to update the Marketplace Feeds as follows:
Marketplace Feeds
Field Name | Value |
---|---|
Account | The account name from the item account |
External Id | the file name |
Type | Listing Stock Update |
External Type | N/A |
Status | Completed |
Zip Path | N/A |
External Status | N/A |
Submitted Date | The actual date of submitting |
Completed Date | The date of completed when the response read the file |
Sent Objects Count | Always 1 order |