Automating inventory flow: How RMS determines what to order, when to order it, and where it needs to go.
What is RMS Replenishment?
At its core, Replenishment in Oracle RMS is the automated process of keeping stores and warehouses stocked. Instead of buyers manually creating Purchase Orders or Transfers every time stock gets low, RMS calculates the exact required quantity based on predefined rules, sales history, and current inventory positions, and automatically generates the necessary fulfillment documents.
The replenishment module in RMS answers three fundamental questions every single night during the batch run:
- Does this location need stock? (Trigger condition)
- How much stock does it need? (Order Quantity calculation)
- Where should it come from? (Sourcing: Supplier via PO, or Warehouse via Transfer)
The 6 Core Replenishment Methods
RMS supports several distinct replenishment methods. The method you choose depends on the type of item (fast fashion vs. staple grocery, seasonal vs. year-round).
1. Min/Max (Minimum/Maximum)
The most common and easiest method to understand. You define a Minimum threshold and a Maximum threshold. If the Net Inventory drops below the Minimum, RMS generates an order to bring the inventory back up to the Maximum.
- Best for: Staple goods with highly predictable, flat sales (e.g., bottled water, basic white socks).
2. Constant
Similar to Min/Max, but the minimum is effectively the same as the maximum. If the stock drops by 5 units, RMS orders exactly 5 units to replace them.
- Best for: High-ticket items or highly space-constrained displays where exactly $X$ units must always be present.
3. Dynamic
Dynamic replenishment relies on external sales forecasts (typically fed from Oracle Retail Demand Forecasting - RDF). RMS uses these daily sales forecasts, combined with desired service levels (e.g., 98% in-stock probability), to calculate a dynamic minimum and maximum that fluctuates with seasonality.
- Best for: Highly seasonal staple goods (e.g., sunscreen, winter coats).
4. Time Supply
Instead of setting hard unit quantities, you set time limits. For example, "Order when we have less than 7 days of supply, and order enough to last 21 days." RMS uses the sales forecast to convert those "days" into unit quantities.
- Best for: Fast-moving consumer goods (FMCG) where shelf life or warehouse space is a concern.
5. Time Supply - Seasonal
A variation of Time Supply that automatically ramps down inventory as an item reaches its predetermined end-of-life date, ensuring you don't over-order right before a clearance event.
6. Floating Point
A highly specialized method that uses a combination of sales history and complex algorithms to "float" the minimum and maximum points up and down without needing an external forecasting engine.
The Net Inventory Formula
Before RMS can decide if an item needs replenishing, it must calculate the Net Inventory for that item at that location. Net Inventory is not just what is physically on the shelf; it accounts for stock that is already on its way, and stock that is reserved for other purposes.
The fundamental formula evaluated by the reqext (Requirement Extraction) batch is:
Net Inventory Calculation
Net Inventory =
STOCK_ON_HAND (Physical stock in the building)
+ IN_TRANSIT_QTY (Stock on trucks heading to the location)
+ STOCK_ON_ORDER (Stock on approved POs not yet shipped)
- CUSTOMER_RESERVED (Stock paid for by customers awaiting pickup)
- RTV_QTY (Stock boxed up to be sent back to the vendor)
If Net Inventory < Minimum Threshold (or Order Point), replenishment is triggered.
The REPL_ITEM_LOC Table
The heart of the replenishment configuration in RMS is the REPL_ITEM_LOC table. Every item/location combination that is on automated replenishment must have an active record here.
| Column | Type | Description |
|---|---|---|
ITEMPKFK | VARCHAR2(25) | The item on replenishment. |
LOCATIONPK | NUMBER(10) | The location (Store or Warehouse) being replenished. |
LOC_TYPEPK | VARCHAR2(1) | 'S' for Store, 'W' for Warehouse. |
REPL_METHOD | VARCHAR2(2) | The method used (e.g., 'MM' for Min/Max, 'DY' for Dynamic, 'TI' for Time Supply). |
MIN_STOCK | NUMBER(12,4) | The minimum threshold (Order Point) for Min/Max. |
MAX_STOCK | NUMBER(12,4) | The maximum threshold (Order Up To Level) for Min/Max. |
ACTIVATE_DATE | DATE | The date automated replenishment begins. |
DEACTIVATE_DATE | DATE | The date automated replenishment ends (crucial for seasonal items). |
Querying Replenishment Setup
Here is a helpful query to find all active Min/Max replenishment setups for a specific department, including their current net inventory to see if they will trigger tonight:
Key Takeaways
- RMS Replenishment automates PO and Transfer creation based on defined rules.
- Min/Max is best for basic staples, while Dynamic and Time Supply utilize external sales forecasts for seasonal curves.
- Net Inventory is the key metric; it includes on-hand, in-transit, and on-order quantities.
REPL_ITEM_LOCis the master configuration table controlling all automated ordering.


