Fluent Commerce Logo
Docs
Sign In

Inventory Module Getting Started Guide

Essential knowledge

Authors:

Fluent Commerce, Kirill Gaiduk

Changed on:

17 Feb 2025

Overview

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

Key points

  • Understanding the prerequisites 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.

Prerequisites

Training

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

  • Foundation course
  • Inventory course

Account Setup

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

Settings

The following Settings enable the Engine (), and

Setting Name

User Type

Value

RUBIX_ENABLED

RETAILER

TRUE

GLOBAL_INVENTORY_ENABLED

TRUE

INVENTORY_BATCH_ENHANCEMENT_ENABLED

TRUE

rubix.entity.parent.status.fix

TRUE

These Settings enable the advanced functionality used by the Module.

Enabling the Module

Once you have completed the prerequisites 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 properties that are provided below.

Module Workflows setup

Within each , there are levels of configuration that are needed to ensure the Workflows work for the specific implementation. Below are outlines per / of what needs to be updated for each . 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 Catalog Workflow

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

Ruleset

Rule

Configuration required

UpdateProductStatus

NotifyInventoryCatalogueForProduct

Ensure the variables `[[inventory.catalogue.ref]]` and `[[inventory.retailer.id]]` are replaced to correctly reference the Catalog and Retailer this should send a message to.

Inventory Catalog Workflow

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

Ruleset

Rule

Configuration required

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


This placeholder should match the name produced by the Batch.
The default value for the placeholder is `InventoryChanged`.

BatchInventoryPositionCreate

LoadProductAndLocationStatus

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

NotifyVirtualCatalogues

NotifyVirtualCataloguesByRefsOnNetworksMatch

Ensure the variables:

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

are replaced with the references for the (s) you are using.

You could also consider the Reference replacement by the following ones:

UpdateProductInventoryPositions

ForwardIfProductStatusEquals

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

UpdateLocationInventoryPositions

ForwardIfProductStatusEquals

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

VerifyLocationStatusOnProductStatusChange

ForwardIfLocationStatusEquals

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

VerifyProductStatusOnLocationStatusChange

ForwardIfProductStatusEquals

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

Virtual Catalog Workflows

The 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 : update the variable `[[virtual.catalogue.base.ref]]` to refer to the correct BASE and update the variable `[[product.catalogue.ref]]` to refer to the correct . There are 2 instances of this and combo which operate against different Control Types, they both need the same change.

For the AGGREGATE Control Group : make similar updates for the variables `[[virtual.catalogue.aggregate.ref]]` and `[[product.catalogue.ref]]`. There are 2 instances of this and combo as well.

Configuration of the Inventory Module

Within the 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 Product Catalog Workflow

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

Ruleset

Rule

What can be configured?

UpdateProductStatus

NotifyInventoryCatalogueForProduct

This can be duplicated to send events to different Catalogs and different Retailers from a single . Duplicate the whole and ensure the `inventoryCatalogueRef` and `retailerId` match your desired destination for each message.

Configuration of the Inventory Catalog Workflow

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

Ruleset

Rule

What can be configured?

BatchInventoryPositionUpdate

UpdateInventoryQuantitiesStatus

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

CalculateOnHand



CalculateOnHand

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

UpsertInventoryQuantity, BatchInventoryPositionUpdate

UpsertInventoryQuantity

The `defaultType` can be updated to fallback the Quantity Type which a Retailer uses for Updates.

Fluent Commerce

Fluent Commerce

Contributors:
Kirill Gaiduk