Feature Overview
Direct Replenishment gives a purchasing planner a fast, context-rich journal for creating supply manually — without waiting for an MRP-style calculation to trigger it. Instead of the app deciding which items need attention, the planner brings their own list of items (and quantities, if they already know them) into the journal, and the app fills in everything else: current inventory, demand on sales/production/transfer orders, existing supply, and lead-time-aware order and supply dates.
The journal is built on the same calculation engine and Planning Template infrastructure as Simple MRP, so a planner still benefits from safety stock, reorder point, and lead-time-aware dating even when placing an ad hoc order — they just aren't limited to items the system flags as short. The Suggest Quantity to Order action (driven by an Order Quantity Template and a linked Date Template) can auto-fill both the quantity and the date the same way it does in Simple MRP, or the planner can enter both manually and let the calculation just enrich the line with context.
Once lines are ready, Carry Out Action Message sends accepted lines to the Planning Worksheet, where BC's standard Carry Out Action Message mechanism creates the actual purchase, production, or transfer orders. Direct Replenishment also supports converting lines to a demand forecast (if Flexible Forecast is installed) and viewing a graphical inventory profile per item (if Graphical Inventory Profile is installed).
| Pages involved | Reverse Planning – Direct Replenishment, Reverse Planning – Planning Templates, Reverse Planning – Worksheet Setup |
| Entity types supported | Items and Stockkeeping Units, at a specific location and variant |
| Key configuration fields | Planning Feature (on the Planning Template, fixed to Direct Replenishment), Default Start/End Date, Include Purchase/Production/Transfer Orders, Calculation Period |
| Integrates with | Planning Worksheet (destination for accepted lines); Sales Order Handling (can use its proposed dates instead of actual sales order dates); Rolled Up Lead Time (feeds the lead-time calculation); Flexible Forecast (Convert to Forecast); Graphical Inventory Profile (visual inventory curve); Assign Quantity (assigned quantities instead of order quantities) |
Getting Started
- Open Reverse Planning – Worksheet Setup and confirm your user has a Journal Batch Name configured — Direct Replenishment requires one before it will open.
- Open Reverse Planning – Planning Templates, filtered to the Direct Replenishment feature, and create (or use Refresh Standard Templates to load) at least one template. Set the Default Start Date/End Date and which demand and supply types to include.
- If you want automated quantity suggestions, set up an Order Quantity Template and a linked Date Template.
- Open the Reverse Planning – Direct Replenishment journal.
- Add a line for the item (and location/variant, if applicable) you want to order.
- Run Calculate Direct Replenishment to enrich the line with inventory, demand, and supply context.
- Optionally run Suggest Quantity to Order to auto-fill the quantity and date.
- Mark Accept Action Message on the lines you want to proceed with, then run Carry Out Action Message to send them to the Planning Worksheet.
Related Features
Direct Replenishment shares its underlying calculation engine, Planning Templates, and the Planning Worksheet with Simple MRP and Move Demand Dates — the difference is that Direct Replenishment starts from a planner-chosen item, not a system-flagged shortage. It can pull proposed dates from Sales Order Handling instead of the sales order's own date, and from Rolled Up Lead Time for assembled/produced items. It integrates with Flexible Forecast (convert journal lines to forecast entries) and Graphical Inventory Profile (visual inventory curve per line), when those apps are installed.
User Stories
Manually adding an item to order
As a purchasing planner
I want to add a specific item, location, and variant to the Direct Replenishment journal myself
So that I can place an order for something I already know needs replenishing, without waiting for a system-triggered suggestion
Setup:
- Open Reverse Planning – Direct Replenishment.
- Add a new line and enter the Item No. (and Location Code / Variant Code, if applicable).
Enriching a manually-added line with inventory and demand context
As a purchasing planner
I want to see current inventory, demand, and supply information for the item I added
So that I can decide how much to order and when, based on real data rather than guesswork
Setup:
- With the line's Journal Batch Name set, run Calculate Direct Replenishment.
- Review the Inventory, End Inventory, Lowest Inventory, and demand/supply quantity fields that populate on the line.
Auto-filling the order quantity and date
As a purchasing planner
I want to let the app suggest the order quantity and date based on an Order Quantity Template
So that I don't have to calculate safety stock and reorder point math by hand
Setup:
- Ensure the Planning Template used has an Order Quantity Template (and linked Date Template) configured.
- On the journal line, run Suggest Quantity to Order.
Note: The suggested quantity and date depend entirely on the Order Quantity Template and Date Template configuration — different templates can produce very different results for the same item.
Reviewing item availability before deciding on a quantity
As a purchasing planner
I want to see the lowest projected inventory, first date below zero, and first date below safety stock or reorder point
So that I can judge urgency and choose a sensible order date even if I set the quantity manually
Setup:
- Run Calculate Direct Replenishment on the line.
- Review the First date below zero / Safety Stock / Reorder Point fields.
Viewing a graphical inventory profile for an item
As a purchasing planner
I want to see a visual chart of projected inventory over time for the selected line
So that I can spot the shape of a shortage at a glance instead of reading individual date fields
Setup:
- Select a line in the journal.
- Run Graphical Inventory Profile (requires the Graphical Inventory Profile app to be installed and enabled).
Splitting a large order across the maximum order quantity
As a purchasing planner
I want to have a large suggested order automatically split into multiple lines respecting a maximum order quantity
So that each resulting order stays within vendor or packaging limits
Setup:
- Enable the "Split by Max Order Quantity" preview feature for the environment.
- Run Suggest Quantity to Order on a line where the calculated quantity exceeds the item's/SKU's maximum order quantity.
Note: This is a preview feature — the "Is Split Line" column is only visible when the feature is enabled.
Accumulating supply into lot-sized orders
As a purchasing planner
I want to have proposed supply accumulated into lot-sized quantities over a defined period
So that I don't create many small orders when a single larger, less frequent order is more efficient
Setup:
- Enable the "Split by Lot Accumulation Period" preview feature for the environment.
- Run Suggest Quantity to Order — accumulated lines are marked as lot accumulation lines.
Note: This is a preview feature — the "Is Lot Accumulation Line" column is only visible when the feature is enabled.
Choosing which lines to send to the Planning Worksheet
As a purchasing planner
I want to mark only some of the calculated lines for further processing
So that I control exactly which proposed orders actually get created, rather than acting on every line at once
Setup:
- Review the calculated lines and their Action Message field.
- Set Accept Action Message individually per line, or use Set Action Message to batch-update it across selected lines.
Creating the actual purchase, production, or transfer order
As a purchasing planner
I want to turn my accepted Direct Replenishment lines into real orders
So that the replenishment I planned actually gets executed in Business Central
Setup:
- Ensure the relevant lines have Accept Action Message marked.
- Run Carry Out Action Message — accepted lines move to the Reverse Planning – Planning Worksheet as requisition lines.
- In the Planning Worksheet, run BC's standard Carry Out Action Message to create the purchase, production, or transfer order.
Ordering from a specific transfer-from location instead of a vendor
As a purchasing planner
I want to replenish an item by transfer from another location rather than by purchasing
So that I can use existing stock elsewhere in the company instead of buying more
Setup:
- On the journal line, ensure the item/SKU's Replenishment System supports Transfer.
- Set the Transfer-from Code field on the line to the source location.
Keeping a line in the journal after carrying it out
As a purchasing planner
I want to keep a processed line visible in my journal instead of having it removed after Carry Out Action Message
So that I retain a record of what I already ordered directly from this journal
Setup:
- On the line, before running Carry Out Action Message, set Keep Line After Carry Out to Yes.
Converting Direct Replenishment lines to a demand forecast
As a purchasing planner
I want to convert quantities I entered in Direct Replenishment into forecast entries
So that anticipated future demand is reflected in forecast-driven planning elsewhere in the app
Setup:
- Ensure the Flexible Forecast app is installed and enabled.
- Select one or more lines with a Quantity to Order filled in.
- Run Convert to Forecast.
Note: Only lines with a Quantity to Order value are considered by this action.
Using assigned sales quantities instead of full order quantities
As a purchasing planner working with allocated demand
I want to have the calculation use the Assigned Quantity field on sales, transfer, or production/assembly component lines instead of the full order quantity
So that replenishment reflects only the portion of demand actually allocated to this scenario
Setup:
- Ensure the Assign Quantity app is installed and enabled.
- On the Planning Template used by Direct Replenishment, enable the relevant "Use Assigned … Quantity" option(s) for sales, transfer, production component, or assembly lines.
Using proposed dates from Purchase Order Management instead of actual order dates
As a purchasing planner
I want to have the calculation consider the proposed new date from the Purchase Order Management journal rather than the date currently on the purchase order
So that my replenishment planning reflects realistic, up-to-date expected receipt dates
Setup:
- Ensure the Purchase Order Management app is installed and enabled.
- On the Planning Template, enable Use Purchase Order Handling.
Reviewing rolled-up lead time before ordering an assembled or produced item
As a production planner
I want to see the cumulative lead time through an item's BOM structure before I place a Direct Replenishment order
So that the order date I choose is realistic for a multi-level item, not just its own top-level lead time
Setup:
- Run Calculate Rolled up Lead Time for the item (via the journal action or the Rolled up Lead Time page) before ordering.
- On the Planning Template, set Calculation Period to Rolled up Lead Time if you want the calculation itself to use it.
Restricting a template to a specific worksheet template and batch
As a planning administrator
I want to limit a Direct Replenishment template's view of existing planning lines to one worksheet template and journal batch
So that the calculation doesn't pick up unrelated planning lines from other journals sharing the same worksheet
Setup:
- On the Planning Template, set Worksheet Template Name and Journal Batch Name to the specific worksheet/batch you want considered.
Setting a default location for direct replenishment calculations
As a planning administrator
I want to configure a default location filter for Direct Replenishment
So that planners calculating without specifying a location automatically get results scoped to the right site
Setup:
- Open the availability setup for the Direct Replenishment feature and set the Default Location field.
Field Reference
| Field name | Where to find it | What it does | Default value |
|---|---|---|---|
| Journal Batch Name | Reverse Planning – Direct Replenishment | Identifies the personal journal batch the planner is working in. | Set per user in Worksheet Setup |
| Quantity to Order | Reverse Planning – Direct Replenishment | The quantity to be ordered on this line, manually entered or filled in by Suggest Quantity to Order. | (blank) |
| Transfer-from Code | Reverse Planning – Direct Replenishment | Source location to transfer from, when replenishing by transfer instead of purchase. | (blank) |
| Accept Action Message | Reverse Planning – Direct Replenishment | Marks a line to be included when Carry Out Action Message is run. | No |
| Keep Line After Carry Out | Reverse Planning – Direct Replenishment | Keeps the line in the journal after it has been carried out, instead of removing it. | No |
| Default Start Date / Default End Date | Reverse Planning – Planning Templates | The date range the calculation covers by default. | (blank) |
| Calculation Period | Reverse Planning – Planning Templates | Determines the horizon used to decide which demands to include (End Date, Lead Time, or Rolled up Lead Time). | End Date |
| Include Purchase/Production Orders, Include Transfer Demand/Supply | Reverse Planning – Planning Templates | Controls which existing order types are counted as supply or demand in the calculation. | Varies by field |
| Use Purchase Order Handling | Reverse Planning – Planning Templates | Uses proposed dates from Purchase Order Management instead of actual purchase order dates. | No |
| Use Sales Order Handling | Reverse Planning – Planning Templates | Uses proposed dates from Sales Order Handling instead of actual sales order dates. | No |
| Default Location | Direct Replenishment availability setup | Default location filter applied when calculating without an explicit location. | (blank) |
