Fluent Commerce Logo
Docs
Sign In

Inventory Module Getting Started Guide

Essential knowledge

Authors:

Fluent Commerce, Kirill Gaiduk

Changed on:

16 Sept 2024

Overview

The Inventory Reference Module is the foundation for inventory related implementations. It provides reference Workflows for inventory ingestion and processing. Extensible by design, use this Module as a base to build a solution to the needs of your customers.

Key points

  • Understanding the Pre-requisites is crucial before you begin using the Inventory Module.
  • Learn how to enable the Inventory Module for your system.
  • Get familiar with the Module Workflows to effectively manage your Inventory.
  • Ensure proper configuration of the Inventory Module to suit your business needs.

Pre-requisites

Training

Before attempting to set up the Inventory Module, it is recommended that you complete the following Training modules:

  • Foundation course
  • Inventory course

Account Setup

To get started with the Inventory Module a Sandbox or Production Account requires: 

Settings

The below settings enable the Orchestration Engine (Rubix), Inventory and Inventory Batch processing. 

Setting Name

User Type

Value

RUBIX_ENABLED

RETAILER

TRUE

GLOBAL_INVENTORY_ENABLED

ACCOUNT

TRUE

INVENTORY_BATCH_ENHANCEMENT_ENABLED

ACCOUNT

TRUE

rubix.entity.parent.status.fix

ACCOUNT

TRUE

These settings enable the advanced functionality used by the Inventory Module.

Enabling the Module

Once you have completed the Pre-requisites above, you are ready to download and install the Module.

Follow the steps described in the Reference Module Installation Guide, using the detailed guidance for Module Workflows setup with variables and Configuration of the Inventory Module with rule properties that are provided below.

Module Workflows setup

Within each workflow, there are levels of configuration that are needed to ensure the workflows work for the specific implementation. Below are outlines per the ruleset/rule of what needs to be updated for each workflow. Additionally, there is a range of configurations that make it possible to tailor the workflows to a specific retailer's requirements.

All Workflows

Please ensure all 

`[[retailer.id]]`
 and 
`[[account.id]]`
 variables are replaced with relevant values.

Product Catalogue Workflow

Ensure that 

`[[product.catalogue.type]]`
 has been replaced with your desired type throughout the workflow.

Ruleset

Rule

Configuration required

UpdateProductStatus

NotifyInventoryCatalogueForProduct

Ensure the variables 

`[[inventory.catalogue.ref]]`
 and 
`[[inventory.retailer.id]]`
 are replaced to correctly reference the Inventory Catalogue and Retailer this rule should send a message to.

Inventory Catalogue Workflow

Ensure that 

`[[inventory.catalogue.type]]`
 has been replaced with your desired type throughout the workflow.

Ruleset

Rule

Configuration required

`[[inventory.change.event.name]]`


This ruleset placeholder should match the event name produced by the Inventory Batch.
The default value for the placeholder is

`InventoryChanged`
.

BatchInventoryPositionCreate

LoadProductAndLocationStatus

Ensure the variable 

`[[product.catalogue.ref]]`
 is replaced with the reference for the Product Catalogue you are using.

NotifyVirtualCatalogues

NotifyVirtualCatalogueOnNetworkMatch

The Reference Workflow comes with 2 example rules each pointing to different variable of Virtual Catalogue. This must be updated with 1 instance of the rule NotifyVirtualCatalogueOnNetworkMatch for each Virtual Catalogue in the Retailer's data setup.

The variables are:

  • `[[virtual.catalogue.aggregate.ref]]`
  • `[[virtual.catalogue.base.ref]]`

UpdateProductInventoryPositions

ForwardIfProductStatusEquals

Ensure the variable 

`[[product.catalogue.ref]]`
 is replaced with the reference for the Product Catalogue you are using. This rule appears twice in this ruleset and must be updated for both cases.

UpdateLocationInventoryPositions

ForwardIfProductStatusEquals

Ensure the variable 

`[[product.catalogue.ref]]`
 is replaced with the reference for the Product Catalogue you are using. This rule appears twice in this ruleset and must be updated for both cases.

VerifyLocationStatusOnProductStatusChange

ForwardIfLocationStatusEquals

Ensure the variable 

`[[product.catalogue.ref]]`
 is replaced with the reference for the Product Catalogue you are using.

VerifyProductStatusOnLocationStatusChange

ForwardIfProductStatusEquals

Ensure the variable 

`[[product.catalogue.ref]]`
 is replaced with the reference for the Product Catalogue you are using.

Virtual Catalogue Workflows

The Virtual Catalogue Workflows have no specific updates required other than the globally applicable 

`[[retailer.id]]`
 and 
`[[account.id]]`
 update.

Control Group Workflows

Ruleset

Rule

Configuration required

CheckControlChange

ProduceVirtualPositionEventsForControlUpdate

For the BASE Control Group Workflow: update the variable

`[[virtual.catalogue.base.ref]]`
 to refer to the correct BASE Virtual Catalogue and update the variable 
`[[product.catalogue.ref]]`
 to refer to the correct Product Catalogue. There are 2 instances of this ruleset and rule combo which operate against different Control Types, they both need the same change.

For the AGGREGATE Control Group Workflow: make similar updates for the variables

`[[virtual.catalogue.aggregate.ref]]`
and
`[[product.catalogue.ref]]`
. There are 2 instances of this ruleset and rule combo as well.

Configuration of the Inventory Module

Within the Inventory Module, there are also a range of possible configurations which are shared below. Please, check and apply any that are applicable to your Retailer. This is by no means exhaustive and there are more configuration capabilities available.

Configuration of the Inventory Catalogue Workflow

The below table details all the rules that can be configured.

Ruleset

Rule

What can be configured?

BatchInventoryQuantityCreate, BatchInventoryPositionUpdate

UpdateInventoryQuantitiesStatus

The 

`filterTypes`
 and 
`filterStatuses`
 can be updated to fit which Quantities a Retailer uses.

CalculateOnHand, CalculateOnHandForFulfilment



CalculateOnHand

The 

`filterTypes`
 and 
`filterStatuses`
 can be updated to fit which Quantities a Retailer uses.

Configuration of the Product Catalogue Workflow

The below table details all the rules that can be configured.

Ruleset

Rule

What can be configured?

UpdateProductStatus

NotifyInventoryCatalogueForProduct

This rule can be duplicated to send events to different Inventory Catalogues and different Retailers from a single trigger. Duplicate the whole rule and ensure the 

`inventoryCatalogueRef`
 and 
`retailerId`
 match your desired destination for each message.

Fluent Commerce

Fluent Commerce

Contributors:
Kirill Gaiduk

Copyright © 2024 Fluent Retail Pty Ltd (trading as Fluent Commerce). All rights reserved. No materials on this docs.fluentcommerce.com site may be used in any way and/or for any purpose without prior written authorisation from Fluent Commerce. Current customers and partners shall use these materials strictly in accordance with the terms and conditions of their written agreements with Fluent Commerce or its affiliates.

Fluent Logo