Controlling the PDX Channel for Product Onboarding - Maintenance
When PDX is adopted by retailers as the primary product-onboarding tool for bringing products into an Accelerator for Retail STEP instance, the retailer has likely migrated supplier-provided product records into STEP from a different tool previously. Because the retailer has transitioned to a second tool in this scenario, the supplier-provided products in the retailer’s STEP system are now out of sync with the same products in the supplier’s system. This can present challenges when retailers and suppliers move forward together with Accelerator for Retail and PDX.
The 'Maintenance’ functionality enables retailers to continue receiving product data from suppliers for new and existing products and allows suppliers to maintain those products after the retailer transitions to the PDX platform. 'Maintenance’ is not intended to establish a continuous two-way data synchronization between PDX and STEP, but rather to push existing products, on-demand, from STEP to suppliers in PDX.
The Maintenance functionality allows retailers to push existing products from STEP into the relevant Accelerator for Retail channel in PDX, in effect sending them back to the supplier. In that channel, the products will be processed as so-called ‘retrieved products’ for the supplier in question. At this point the supplier can reclaim the products and maintain them as they would any other.
When retrieved products enter PDX, two things happen:
-
The products will be created in the PDX channel for the relevant supplier
-
The products will appear in the master data area in PDX
The product’s ID in PDX, as well as the attribute values the retailer wants displayed in the channel and in master data, can be configured in STEP. The product data shared in this way can be used by the supplier to recognize the incoming product and match it to the supplier's existing product record.
A product that enters PDX in this way will be marked as a ‘retrieved product’ and enter the PDX onboarding process in the workflow state named 'Made available for maintenance in <name of channel>,' as shown in the screenshot below.
Data pushed from STEP to the PDX channel is stored in the ‘retrieved data layer’ in PDX. Changes to a product made by the supplier, either manually via direct edit into the channel or automatically on import via a standard product record update, will overwrite the retrieved data, making it possible for the supplier to maintain the product fully.
Recommended practice for retailers using the Maintenance functionality is to exchange with the supplier only those product identifiers and relevant data that will ensure suppliers can recognize and match the retailer’s products to the products in the supplier’s product database. It is not recommended that retailers push all product details from STEP to PDX. Although the product is pushed from the retailer (STEP) to the supplier (PDX) using the Maintenance process, it remains the supplier’s product, the supplier’s data, and the supplier’s responsibility to maintain all product data, only now the data is being maintained from PDX.
Pushing product to PDX in Maintenance
In the Maintenance process, products (referred to as ‘External Source Records’ in STEP) are pushed from retailers to suppliers by generating events on the ‘PDX: Event Queue – Maintenance’ (ID: PMDM.EQ.PDS.EventQueueMaintenance) event queue.
Note: If multiple events are generated simultaneously, PDX may require additional time (up to 24 hours or more) to consume and distribute all events.
The event queue will automatically include any packaging objects in the messages made available to PDX, meaning that when a product is pushed to PDX, the parent packaging hierarchy will also be pushed to PDX.
The Accelerator for Retail solution includes a bulk action called ‘PDX: Send External Source Records to Maintenance’ (ID: PDXSendEXTsToMaintenance) that can be used to generate an event on a collection of products. This might be done, for example, on all products for a specific supplier.
When the bulk action is run, it checks that all products included in the bulk action satisfy the minimal requirements for being pushed to PDX, which are:
-
The product must reference a supplier
-
The product must have a Maintenance ID
If the products included in the bulk action fail to comply with the these two requirements, the validation for that product has failed, no event is generated, and the process moves to the next product.
Note: For a channel with Maintenance enabled, a given supplier can only be authenticated under one PDX Client login. This means that if the same supplier attempts to add the channel in another PDX client, they will get the following error message: "This vendor has already been added to this channel. Please configure another Vendor Identifier and try again."
Configurations related to Maintenance
To fully enable Maintenance in Accelerator for Retail, additional configuration steps are required. These steps are listed and described below.
-
Attributes to include in Maintenance -- Attributes and asset references that should be added to the product in the PDX channel and stored in the retrieved layer should be linked into the attribute group ‘PDX: Include in Maintenance’ (ID = PMDM.ATG.PDS.IncludeInMaintenance).
-
Attribute to store Maintenance ID -- As mentioned above, the product ID used in PDX can be configured from STEP. The STEP attribute for storing this ID is called ‘PDX: Maintenance ID’ (ID = PMDM.AT.PDS.MaintenanceID). By default, this product ID will be used in PDX to match a retailer’s retrieved product with the corresponding product in the supplier’s master data. This matching occurs when suppliers upload updates to their products via Excel sheet import or an integration using the external API.
-
Attributes to “promote” to master data -- Attributes that will be visible in master data in PDX should be linked into the attribute group ‘PDX: Matching Keys for Maintenance’ (ID = PMDM.ATG.PDS.MaintenanceMatchingKeys).
These attributes should be IDs like GTINs or supplier product identifiers. Their values should make it possible for a supplier to first recognize the product and then deploy PDX’s ‘Match-based import’ (as shown in the screenshot below) and mapping capabilities to maintain the product.