Inventory Batch
Author:
Fluent Commerce
Changed on:
9 Feb 2025
Overview
Inventory Batch enables bulk uploading of inventory updates to the Fluent Commerce platform, handling high data volumes from thousands to million updates per operation. Leveraging Fluent Big Inventory's Batch API and Inventory Batch Pre-Processing, it ensures faster processing and accurate inventory availability in the Fluent Order Management System.
This scalable solution keeps inventory data synchronized across channels, empowering businesses to manage stock efficiently and meet customer expectations with accurate, up-to-date stock information.
Key points
- Use Cases for Inventory Batch
- Platform Capabilities leveraged
- Best practices for Inventory Batch
- Reference Inventory Module and Inventory Batch
Use Cases for Inventory Batch
- Periodic Stock Updates:
Designed to handle periodic inventory updates from an ERP or similar inventory source of truth. These updates typically consolidate changes collected during a predefined cycle, such as daily updates, ensuring that the OMS reflects the most current stock levels. - Stocktake Adjustments:
Used to inform the OMS of stock adjustments following manual stocktakes. This ensures that any discrepancies, such as missing or damaged stock, are accounted for accurately.
Platform Capabilities leveraged by the Inventory Batch
Capability | Description |
APIs to create & manage batch loading of information. | |
Optimized inventory processing by de-duplicating redundant updates and filtering out unchanged records. |
Best Practices for Inventory Batch
To ensure successful Inventory Batch processing, consider the following key factors:
- Optimal use of Jobs and Inventory Batch Pre-Processing
- Inventory Batch Sizing
- Size of Inventory Batches
- Number of Inventory Batches
- Spread of Inventory Batches
- What about small real-time inventory updates?
- Visibility of successful Batch processing
Jobs and Inventory Batch Pre-Processing
Jobs are used to group Inventory Batches, providing a structured way to track each distinct set of Inventory Batches sent together. This grouping enables better visibility into the success or failure of related updates, ensuring that inventory processing is efficient and transparent.
- A single Job remains open until midnight on the day it is created.
- It is recommended to create a new Job for each Inventory Batch group, especially for periodic updates like hourly Inventory Updates.
Example:
If sending updates hourly, create a separate Job for each hour’s batch run to maintain clarity and tracking.
Additionally, Jobs determines whether Inventory Batch Pre-Processing is applied to the associated Inventory Batches. This ensures redundant updates are removed and unchanged records are filtered before processing, optimizing the handling of inventory data. For more information, refer to the details on Inventory Batch Pre-Processing.
Inventory Batch Sizing
Size of Inventory Batches
Inventory Batches are restricted to a maximum of 5,000 records per batch. For larger datasets, the updates must be divided into multiple batches, with each batch adhering to this limit.
Example:
If you need to upload 1,000,000 updates, split them into 200 batches of 5,000 records each to ensure compliance and efficient processing.
Number of Inventory Batches
While each Batch can contain up to 5,000 records, sending only a small number of batches may reduce processing efficiency. The Batch API is designed to handle multiple datasets concurrently, distributing the workload across the platform for asynchronous processing. To maximize performance, it is recommended to spread a full dataset across 10 individual Inventory Batches.
Example:
For 15,000 inventory updates, instead of splitting them into 3 batches of 5,000 records each, divide them into 10 datasets of 1,500 records. This ensures optimal load distribution. As update volumes grow, the integration should scale accordingly, maintaining a minimum of 10 datasets until individual batches reach the 5,000-record limit, after which additional batches can be added.
Spread of Inventory Batches
When running a Job with more than 10 Inventory Batches, it’s common to have several batches containing a maximum of 5,000 records and one smaller batch with fewer records. To ensure more consistent processing, it’s recommended that the total updates be distributed evenly across all Inventory Batch datasets.
Example:
If you have 53,900 items to update, distribute them into 11 batches of 4,900 records each rather than 10 batches of 5,000 records and one batch of 3,900 records.
What about small real-time inventory updates?
For real-time or near-real-time updates, we recommend using Delta Inventory updates, which are ideal for handling incremental changes to inventory levels instead of full data updates.
Visibility of successful Batch processing
The current best tool for visibility is to use the Inventory Domain Events to understand the success and failures of Inventory updates sent via the Inventory Batch. This provides visibility into the individual items included in the Batches.
Note: Right now, only Failures & Exception Audit Events are visible for Inventory processing.
Reference Inventory Module & Inventory Batch
The Fluent Inventory Module provides a foundational solution for integrating Inventory Batch updates into your inventory management workflows. It is designed to calculate an accurate Stock on Hand value using a set of predefined Inventory Quantity types. These types represent various inventory states and activities, ensuring precise inventory management.
Key Inventory Quantity Types:
- LAST_ON_HAND: Represents the absolute inventory count at a given location from the most recent Inventory Batch update.
- RESERVED: Quantities allocated during the fulfilment reservation process, representing stock on hold for pending order fulfillment.
- SALE: Quantities picked and fulfilled during the fulfilment sale process, representing items completed in an order for a customer.
- CORRECTION: Adjustments made during the fulfilment cancellation process to account for items not found during picking or packing (e.g., short-picks), removing them from the sale.
- DELTA: Incremental changes triggered by external systems e.g. POS, representing relative updates from external systems in the Order Management process.
These quantity types work together to calculate the Stock on Hand, providing an up-to-date value that reflects the current available inventory for each Inventory Position. This ensures accurate inventory visibility and supports effective decision-making in stock management and order fulfillment.