Store inventory and return setup

Prev Next

Prerequisites

Complete Module 1 - Foundational Setup and Module 2: Returns & exchanges before processing with this module.

Dodici is a luxury fashion brand from Milan, Italy. You have been hired to help the brand with migrating its stores to NewStore. Their VP of Retail has put together key requirements for the brand’s customer satisfaction strategy: all items in all locations (DC and store) that are in a sellable condition must be available for the various omnichannel use cases like BOPIS and fulfilment to the customer’s home address.

  • To satisfy these requirements, you need to make sure that:

  • Each inventory movement that happens in the store is reflected in real-time in the store stock on hand and calculated ATP

Items that are not in a sellable condition must not be part of the main sellable location

The above requirements can only be achieved with NewStore managing the store's onhand stock. If this mode is not used, the store stock on hand has to be updated in NewStore by the inventory master system, which happens with a delay. During that time, orders might be placed that cannot be fulfilled.


First things first, you start with the preparation of the store you have created in Module 1 - Foundational Setup, and enable that store to be managed by NewStore:

Part 1

  • Enable location as inventory master → To turn on a store to be managed by NewStore, you have to call this config API.

  • as soon as the store is enabled as the inventory master, the availability import using the Import API will stop working for that location

  • Important: once the inventory master is enabled for a store location, it is not possible to revert that setting anymore

Now you can take the latest snapshot of the inventory master system (e.g ERP, legacy POS) and import that into NewStore as a full_count for the store. After that point NewStore takes over the responsibility to track on hand stock.

Part 2

  • Import a stock snapshot → use the below API to import a full stock snapshot for that store location into this API.

  • The platform only supports one stock location that is salable - main. A salable stock location should be created before performing any inventory stock operations.

  • Import the full stock snapshot into the location main, which is the default and only sellable location in NewStore

  • Note: for full count snapshot imports, NewStore is not emitting inventory_count.items_counted events

To prepare the store to accept returns for damaged items without increasing the sellable ATP you first need to setup an additional virtual location:

Part 3

  • Adding a virtual location → to add another virtual stock location, perform a call to this API.

    • The name of the location shall be damaged

    • The display name is shown to associates. “Damaged” should do the trick

Last but not least, you have to instruct NewStore to book items that are classified as damaged into the virtual location you have just created.

Part 4

  • Create a return configuration → Use the following endpoint to first check if there is an existing return configuration.

  • Use this configuration as a reference and enrich it with a condition that maps the item condition code damaged to the virtual stock location damaged

    • In case the item condition damaged does not exist yet, define the item condition first to ensure that the return configuration update will work

With these steps completed, you have the necessary setup to be able to process returns with damaged items.