Enable Batch Inventory Pre-Processing
How-to Guide
Authors:
Girish Padmanabha, Randy Chan
Changed on:
27 May 2025
Key Points
- Inventory Batch Pre-Processing (BPP) occurs before batch inventory updates reach the workflow engine. If you rely on every incoming inventory item hitting the workflow, ensure you configure the job-level meta value appropriately or disable BPP at the relevant account/retailer level. However, we recommend using the job-level option for greater flexibility. Be sure to read through this article in full—especially the “Managing Batch Pre-Processing” section—before making any changes.
- If enabled at an ACCOUNT level, every retailer under that ACCOUNT will have their batch inventory updates pre-processed
- If enabled at RETAILER levels, it will only pre-process updates for that specific retailer
- The RETAILER context setting overrides the ACCOUNT context setting. This allows you to enable the whole account and disable it for specific retailers.
Prerequisites
Steps
Setting up Batch Pre-Processing
Workflow Comparison
The first step is to ensure that your inventory workflows are compatible with Batch Pre-Processing to ensure that they work correctly and won’t impact your inventory accuracy.Batch Pre-Processing is based on the logic within the inventory module. This diagram details the high-level view of the logic.
Signs of a compatible workflow
- Uses the latest inventory module reference workflow and reference plugin
- Transient quantities are either standard/default types or, if custom, are properly input in the batch payload
- Does not rely on unchanged inventory records for further processing
Signs of an incompatible workflow
- The workflow executes logic on unchanged inventory records (which Batch Pre-Processing typically filters out)
Managing Batch Preprocessing (BPP) at Account and Retailer Levels
Batch Pre-Processing is enabled by default. You will notice that the setting `fc.enable.batch.preprocessing` is set to `TRUE` at your configured context level (Account or Retailer). If this setting is not explicitly configured, the default behavior is to enable Batch Pre-Processing for the account.Managing Batch Preprocessing (BPP) at Account and Retailer Levels
The`fc.enable.batch.preprocessing` setting allows you to enable or disable Batch Preprocessing (BPP) at both the Account and Retailer levels, with Retailer-level settings overriding Account-level settings. Here's how it works:Disabling BPP
- At the Account Level:
To disable BPP globally for all Retailers under an Account, set`fc.enable.batch.preprocessing`to`FALSE`at the Account level. This sets a default behavior for all Retailers unless overridden by specific Retailer-level settings. - At the Retailer Level:
To disable BPP for a specific Retailer, set`fc.enable.batch.preprocessing`to`FALSE`for that Retailer. This ensures that BPP is turned off for the selected Retailer, regardless of the Account-level setting.
Enabling BPP
- To Enable BPP Globally:
Set`fc.enable.batch.preprocessing`to`TRUE`at the Account level. This enables BPP for all Retailers within the Account unless explicitly overridden by a Retailer-level setting. - To Enable BPP for a Specific Retailer:
- If the Account-level setting is
`FALSE`, you can enable BPP for a specific Retailer by setting`fc.enable.batch.preprocessing`to`TRUE`for that Retailer. - This Retailer-level setting will take precedence over the Account-level setting, ensuring BPP is enabled only for the desired Retailer.
- If the Account-level setting is
Key Rules and Behavior
- Retailer-Level Overrides: A Retailer-level setting (
`TRUE`or`FALSE`) will always override the Account-level setting for that specific Retailer. - Global Defaults: The Account-level setting acts as the default behavior for all Retailers unless a specific Retailer-level override is applied.
- Case-Insensitive: The value input for
`fc.enable.batch.preprocessing`is not case-sensitive (e.g.,`TRUE`and`true`are treated the same). - Flexible Control: This setup allows for flexible configurations, enabling global control while allowing exceptions at the Retailer level.
`fc.enable.batch.preprocessing` at the appropriate level, you can efficiently manage BPP behavior for both global and specific Retailer contexts.After updating the setting, the new value will take effect within 5 minutes. The handling of all inventory within the batches created under a job will be determined based on the logic defined by the input at the job level, including the `meta` key, as well as the configuration of the `fc.enable.batch.preprocessing` setting. Once the update is applied, the inventory will either be processed through Batch Pre-Processing (BPP) or handled directly according to these combined rules. Refer to the details below for further clarification.