Feature Overview
Shortage on Demand Orders calculates and displays a shortage status on sales orders and production orders, telling you at a glance whether there is enough stock — or enough producible quantity — to fulfil each outstanding demand line. Instead of checking inventory, open purchase orders, and production component availability separately, the app runs all of these checks in one action and writes a status directly onto the order line and order header.
For a sales order line, the status answers: "Can we ship this item on the requested date?" For a production order line, the status answers: "Do we have all the components needed to produce this item?" The same nine-value status scale is used in both contexts, ranging from On Stock (fully covered with no conflicts) through Partial Stock, Conflict Stock (covered but conflicts exist with other demand), and No Stock, to Error if the calculation fails. A parallel set of production-specific statuses (Complete Production, Partial Production, Conflict Production, No Production) is used on production order lines where the item itself is produced.
The calculation is on-demand — you trigger it manually per order, per order list, or in batch across all orders. The result is stored on the order and line as a field that persists until the next calculation, so you can filter and sort the order list by shortage status without recalculating. A timestamp records when each order was last calculated, so you always know how fresh the status is.
| Setup page | Shortage on Demand Setup |
| Shortage status on | Sales Order header, Sales Order line, Production Order header, Production Order line |
| Sales order statuses | On Stock, Conflict Stock, Partial Stock, No Stock, Complete Production, Conflict Production, Partial Production, No Production, Error |
| Production order statuses | Complete Production, Conflict Production, Partial Production, No Production, Error |
| Calculation scope | Inventory, purchase orders (expected or promised), inbound transfer orders, production orders, assembly orders, transit quantities |
| Integration | Assign Quantity (use assigned quantities instead of total open order quantities) |
Getting Started
- Open Shortage on Demand Setup and create a row for your user ID (or let the system create it automatically on first calculation run).
- Set General End Date if you want to limit the calculation to demand and supply within a specific date window. Leave blank to include all open quantities regardless of date.
- Decide whether to enable Use Due Dates — when enabled, each component or sales line is evaluated against its own shipment/due date rather than the general end date.
- Decide whether to enable Include Expected Supplies — when enabled, open purchase orders, production orders, inbound transfer orders, and in-transit quantities are included as supply. When disabled, only current inventory is used.
- If Include Expected Supplies is on, decide whether to also enable Only Include Promised Supplies — when enabled, only purchase lines with a Promised Receipt Date are included as purchase supply (instead of all open purchase orders).
- Open a sales order and use the Calculate Shortage Status action (shortcut
Shift+Ctrl+M) to run the calculation for that order. The Shortage Status field on the header and each item line is updated immediately. - Review the status values on the lines. Click through on the Shortage Status field on a line to open the Shortage on Demand Orders page, which shows a breakdown by BOM component for production items.
Related Features
Assign Quantity integrates with Shortage on Demand Orders through two optional setup flags. When Use Assigned Quantity from Sales Orders is enabled, the shortage calculation uses the assigned sales quantities from Assign Quantity rather than the total open sales order quantities — giving a more accurate picture of confirmed demand. When Use Assigned Quantity from Production Component Lines is enabled, the same applies to production component demand. Both flags are only visible in the setup when the Assign Quantity app is installed. The shortage status is also exposed to other Abakion apps via the GetSetMankoStatusShortageOnDemand publisher event, allowing apps like Graphical Inventory Profile to read and display the shortage status.
User Stories
US-01: Calculate shortage status on a single sales order
As a Sales Order Processor
I want to calculate the shortage status for all item lines on a specific sales order in one action
So that I can immediately see whether the order can be fulfilled from available stock and supply
Setup:
- Open the sales order.
- Click Calculate Shortage Status (shortcut
Shift+Ctrl+M) in the Functions menu. - The system calculates availability for each outstanding item line and writes a status to the Shortage Status field on each line.
- The order header Shortage Status is set to the worst status across all lines (e.g. if one line is No Stock and others are On Stock, the header shows No Stock).
- The Shortage Status Last Calculated timestamp on the header is updated to the current date and time.
Note: The calculation uses the settings from Shortage on Demand Setup for your user ID. If no setup record exists, the system creates one with default values.
US-02: See shortage status on every sales order line at a glance
As a Sales Order Processor
I want to see the shortage status directly on each sales order line in the subform
So that I can identify which specific lines are problematic without opening a separate page
Setup:
- After running Calculate Shortage Status on a sales order, the Shortage Status column is visible on the Sales Order Lines subform (after the Quantity field).
- The field shows one of the nine status values per line.
- Click through on the Shortage Status field on a line for items with a Production BOM to open the Shortage on Demand Orders detail page, which shows the shortage breakdown per BOM component.
US-03: Calculate shortage status in batch across all sales orders
As a Sales Manager or Logistics Planner
I want to calculate shortage status for all sales orders at once
So that I can get an up-to-date picture of fulfillment risk across the entire order book without opening each order individually
Setup:
- Open the Sales Order List or use the Calculate Shortage Report action on any sales order.
- The Calculate Sales Order Shortage report opens. Configure the options:
- Include Sales Orders to Shipment Date — only include orders with a shipment date up to this date (leave blank for all).
- Calculation Date Formula — a rolling date formula (e.g.
<+2W>) that recalculates the end date relative to work date each time the report runs. - Use Due Dates, Include Expected Supplies, Only Include Promised Supplies — override the per-user setup for this run.
- Run the report. The system processes all matching sales orders sequentially and updates the status on each header and line.
- The settings entered in the report are saved back to your Shortage on Demand Setup record for future use.
Note: Enable Stop and Show First Error if you want the batch to halt and display details when a calculation error is encountered rather than silently skipping it.
US-04: View shortage status on the sales order list for all orders
As a Sales Manager
I want to see the shortage status and last calculated timestamp on the sales order list
So that I can filter and sort orders by fulfillment risk and prioritise follow-up without opening each order
Setup:
- Open the Sales Order List (or Sales Orders list). The Shortage Status and Shortage Status Last Calculated columns are visible after the customer name.
- Filter on Shortage Status to find orders with specific statuses (e.g. filter on No Stock to find orders at risk).
- Sort by Shortage Status Last Calculated to identify orders whose status has not been refreshed recently.
Note: The status shown is the last calculated value and is not recalculated automatically. Use the Calculate Shortage Status or batch report actions to refresh it.
US-05: Drill into BOM component availability from a sales order line
As a Sales Order Processor or Production Planner
I want to see exactly which BOM components are causing a shortage for a production item on a sales order line
So that I can pinpoint the bottleneck component rather than just knowing that the top-level item cannot be produced
Setup:
- On a sales order line where the item has a Production BOM and the Shortage Status is not On Stock, click through on the Shortage Status field.
- The Shortage on Demand Orders page opens, showing one row per BOM component (recursively expanded through sub-BOMs).
- Each row shows: item number, description, quantity needed, replenishment system, current inventory, quantity on purchase order, inbound transfer quantity, shortage status, and how many top-level items can be produced given available stock of this component.
- The system uses the active BOM version as of the current work date, or the Stockkeeping Unit's Production BOM if one is defined.
US-06: Calculate shortage status on a single production order
As a Production Planner
I want to calculate the shortage status for all lines on a specific production order
So that I can see whether all components are available before releasing or starting the order
Setup:
- Open the production order (Released or Firm Planned).
- Click Calculate Shortage Status (
Shift+Ctrl+M) in the Functions menu. - The system checks component availability for each production order line against current inventory and configured supply sources.
- Each production order line receives a status: Complete Production, Partial Production, Conflict Production, or No Production.
- The production order header Shortage Status is set to the worst status across all lines.
- The Shortage Status Last Calculated timestamp is updated.
US-07: Calculate shortage status in batch across production orders
As a Production Planner
I want to calculate shortage status for multiple production orders at once
So that I can assess component availability across all active production orders without processing them one by one
Setup:
- Open the Released Production Orders list or use Calculate Shortage Report on a production order.
- The Calculate Production Order Shortage report opens. Filter by Status (Firm Planned and/or Released), production order number, or source item number.
- Set General End Date, Use Due Dates, Include Expected Supplies, and Only Include Promised Supplies as needed.
- Run the report. All matching production orders are processed with a progress indicator.
Note: The production order shortage calculation checks both the top-level item's availability (from existing stock) and all component lines from the production order. If a component is marked Ignore in Shortage Calculation on the item card, it is excluded.
US-08: View shortage status on the production order list
As a Production Planner
I want to see the shortage status on the production order list and released production orders list
So that I can identify which production orders have component shortages without opening each one
Setup:
- Open the Production Order List or Released Production Orders list. The Shortage Status column is visible after the Source No.
- On the Released Production Orders list, the Shortage Status Last Calculated timestamp is also visible.
- Filter on Shortage Status to find orders where production is at risk.
US-09: Limit the shortage calculation to a date window
As a Sales Manager or Logistics Planner
I want to control which orders and supply lines are included in the shortage calculation based on date
So that the status reflects the near-term situation (e.g. the next two weeks) rather than all open orders ever
Setup:
Two complementary date controls are available:
- General End Date in the Shortage on Demand Setup (or in the batch report): sets a ceiling date. Only demand and supply with dates up to this date are included in the calculation.
- Use Due Dates: when enabled, each line is evaluated against its own shipment date (sales) or due date (production components) rather than the General End Date. This means a component due next month is not counted as available supply for a sales order shipping next week.
- Set these in Shortage on Demand Setup for persistent per-user defaults, or override them each time the batch report runs.
- The batch report also supports a Calculation Date Formula (e.g.
<+2W>) so the cutoff date rolls forward automatically relative to work date on each run.
US-10: Include expected supply (purchase orders, production, transfers) in the calculation
As a Logistics Planner
I want to include open purchase orders, production orders, inbound transfer orders, and in-transit quantities as available supply when calculating shortage
So that lines that will be covered by incoming supply are not incorrectly flagged as short
Setup:
- In Shortage on Demand Setup, enable Include Expected Supplies.
- When enabled, the calculation adds these quantities to the supply side: current inventory, open production orders, inbound transfer orders, in-transit quantities, assembly orders, and either all open purchase orders or only promised purchase orders (depending on the next setting).
- When disabled, only current inventory is used as supply.
Note: Assembly order demand (Qty. on Assembly Component) is always included on the demand side, regardless of this setting.
US-11: Restrict purchase supply to lines with a confirmed promised date
As a Logistics Planner
I want to count only purchase order lines that have a Promised Receipt Date as available supply — not lines that only have an Expected Receipt Date
So that the shortage calculation reflects confirmed supplier commitments rather than unconfirmed expectations
Setup:
- In Shortage on Demand Setup, enable Include Expected Supplies (required as a prerequisite).
- Also enable Only Include Promised Supplies.
- When enabled, the calculation uses the Promised Qty. on Purchase Order flow field (which filters to purchase lines where Promised Receipt Date is not blank) instead of the general Qty. on Purchase Order field.
- This gives a more conservative and reliable picture of supply.
US-12: Understand the nine shortage status values
As a Sales Order Processor or Production Planner
I want to understand what each shortage status value means
So that I know how to interpret and act on the status shown on order lines and headers
Setup:
No setup required — this is reference information.
The nine status values and their meaning, verified from the calculation logic:
- On Stock — available supply (after all demand) is ≥ 0. The full quantity can be fulfilled with no conflict.
- Conflict Stock — the item itself has enough supply, but other demand (sales orders, component lines, transfers) already consumes some of it. The full quantity for this line can technically be covered, but there is a conflict with other orders.
- Partial Stock — available supply covers some but not all of the demand quantity. The Qty. that can be produced field shows how much can be covered.
- No Stock — no supply at all exists (supply = 0) for the demanded quantity.
- Complete Production — used on production order lines where the item is produced. All components are available for the full quantity.
- Conflict Production — all components are technically available for the full quantity, but some are also consumed by other demand.
- Partial Production — components allow only a partial production run. The Qty. that can be produced field shows the maximum producible quantity.
- No Production — no components available; production cannot start.
- Error — the calculation encountered an error for this line. Use Stop and Show First Error in the batch report to diagnose.
The header status always reflects the worst (highest severity) status across all lines.
US-13: Exclude a specific item from the shortage calculation
As a Production Planner
I want to mark specific items so they are ignored in the shortage calculation
So that items that are always available or managed outside BC (e.g. consumables, bought externally) do not affect the shortage status of the orders that use them
Setup:
- Open the Item Card for the item you want to exclude.
- Enable the Ignore in Shortage Calculation field (visible in the item's additional fields when the app is installed).
- When the shortage calculation encounters this item as a BOM component or sales line item, it is skipped — it neither contributes to the demand count nor triggers a shortage status.
US-14: Use assigned quantities from Assign Quantity in the shortage calculation
As a Logistics Planner
I want to have the shortage calculation use the quantities assigned via the Assign Quantity app rather than total open order quantities
So that the shortage status reflects the actually committed demand picture, not the gross order quantities
Setup:
- The Assign Quantity app must be installed.
- Open Shortage on Demand Setup. Two additional fields become visible: Use Assigned Quantity from Sales Orders and Use Assigned Quantity from Production Component Lines.
- Enable Use Assigned Quantity from Sales Orders to replace total open sales order quantity with the assigned sales quantities in the demand calculation.
- Enable Use Assigned Quantity from Production Component Lines to replace total open component quantities with the assigned component quantities.
- Both can be enabled independently.
Note: When these flags are on, the shortage status reflects the Assign Quantity-confirmed demand view. This is more precise but requires that Assign Quantity is actively maintained — if assigned quantities are zero or outdated, the shortage status will be misleading.
US-15: Manually override the shortage status on sales order lines
As a Sales Manager
I want to manually set the shortage status on sales order lines to a specific value without running a calculation
So that I can mark orders as cleared, deferred, or prioritised after a manual review without re-running the full calculation
Setup:
- From a sales order or the sales order list, use the Change Shortage Status Report action.
- The Change Shortage Status on Sales Orders report opens. Set filters to select the specific orders and lines to update.
- Choose the Shortage Status value to set (any of the nine status values).
- Run the report. The selected sales lines are updated to the chosen status, and the header status is recalculated from the line statuses.
- The count of updated lines is shown in a confirmation message.
Note: This is a manual override and does not affect the underlying inventory or supply data. The next time Calculate Shortage Status is run on the same order, the calculated status will overwrite the manual override.
US-16: Manually override the shortage status on production order lines
As a Production Planner
I want to manually set the shortage status on production order lines to a specific value
So that I can mark orders as ready to start or deprioritised based on manual assessment without re-running the calculation
Setup:
- From a production order or the Released Production Orders list, use the Change Shortage Status Report action.
- The Change Shortage Status on Production Orders report opens. Filter by status, order number, or item number.
- Choose the Shortage Status value to set (Complete Production, Conflict Production, Partial Production, or No Production).
- Run the report. The selected production order lines are updated, and the order header status is recalculated.
US-17: Persist and reuse calculation settings across sessions
As a Logistics Planner
I want to have my calculation settings saved automatically so I don't need to re-enter them every time I run a calculation
So that I can run the same calculation with the same parameters consistently
Setup:
- The Shortage on Demand Setup page stores one row per user ID with all calculation parameters: General End Date, Use Due Dates, Include Expected Supplies, Only Include Promised Supplies, and (if Assign Quantity is installed) the two assigned quantity flags.
- Any time you run the Calculate Sales Order Shortage batch report and close the request page, your settings are saved back to your setup record.
- The next time you run the report or trigger a calculation, the saved settings are pre-filled automatically.
- Multiple users can each have their own settings — the setup is per user ID.
US-18: Calculate and view shortage status on Firm Planned Production Orders
As a Production Planner
I want to calculate and review shortage status on firm planned production orders — not only released ones
So that I can assess component availability before deciding whether to release an order, rather than discovering shortages after release
Setup:
- Open a Firm Planned Production Order.
- Use the Calculate Shortage Status action (
Shift+Ctrl+M) in the Functions menu to run the calculation for that order. The Shortage Status and Shortage Status Last Calculated fields on the header are updated, and each production order line receives its status. - Click through on the Shortage Status field on a line to open the Shortage on Demand Orders component breakdown page.
- Use Calculate Shortage Report to run the batch calculation across multiple firm planned orders at once (the batch report filters to both Firm Planned and Released statuses).
- Use Change Shortage Status Report to manually override the status on firm planned order lines.
- The Firm Planned Production Orders list also shows the Shortage Status and Shortage Status Last Calculated columns, allowing you to filter and sort across all firm planned orders.
Note: All three actions and both status fields are available on Firm Planned orders in the same way as on Released orders. The setup page is also accessible directly from the Firm Planned Production Order via the Calculate Shortage Setup action.
US-19: View and drill into shortage status from line-level list pages
As a Sales Coordinator or Production Planner
I want to see shortage status on cross-order line lists — not just within a single order
So that I can work across multiple orders simultaneously and drill into component details without opening each order individually
Setup:
No additional setup required — the shortage status field is automatically visible on these pages when the app is enabled:
- Sales Lines (global sales lines overview) — shows the Shortage Status column after the item number, giving a cross-order view of all outstanding sales lines and their fulfillment status.
- Prod. Order Line List — shows the Shortage Status column after the item number for production order lines across all orders.
- Released Prod. Order Lines — shows Shortage Status and Qty. that can be produced on released production order lines. Click through on the Shortage Status field to open the BOM component breakdown for that line.
- Firm Planned Prod. Order Lines — shows the same fields and drilldown as Released Prod. Order Lines, for firm planned orders.
Note: The drilldown on production order line lists recalculates the status in real time when you click through and opens the Shortage on Demand Orders component breakdown page. The status shown in the list column itself reflects the last stored calculation and is not recalculated automatically on opening the list.
Field Reference
| Field | Where to find it | What it does | Default |
|---|---|---|---|
| General End Date | Shortage on Demand Setup | Date ceiling for the calculation — only demand and supply with dates up to this date are included | Blank (all dates) |
| Use Due Dates | Shortage on Demand Setup | Evaluates each line against its own shipment/due date rather than the General End Date | Off |
| Include Expected Supplies | Shortage on Demand Setup | Adds open purchase orders, production orders, inbound transfer orders, in-transit quantities, and assembly orders to the supply side | Off |
| Only Include Promised Supplies | Shortage on Demand Setup | When Include Expected Supplies is on, restricts purchase supply to lines with a Promised Receipt Date | Off |
| Use Assigned Quantity from Sales Orders | Shortage on Demand Setup | Uses Assign Quantity assigned quantities instead of total open sales order quantities (visible only when Assign Quantity is installed) | Off |
| Use Assigned Quantity from Production Component Lines | Shortage on Demand Setup | Uses Assign Quantity assigned component quantities instead of total open component quantities (visible only when Assign Quantity is installed) | Off |
| Shortage Status | Sales Order header | The worst shortage status across all item lines on the order | Blank |
| Shortage Status Last Calculated | Sales Order header | Timestamp of the last calculation run for this order | Blank |
| Shortage Status | Sales Order line | Availability status for this specific line: On Stock, Conflict Stock, Partial Stock, No Stock, Complete/Conflict/Partial/No Production, or Error | Blank |
| Qty. that can be produced | Sales Order line | For production items: the maximum quantity of the top-level item that can be produced given available component stock | 0 |
| Shortage Status | Production Order header | The worst shortage status across all production order lines | Blank |
| Shortage Status Last Calculated | Production Order header | Timestamp of the last calculation run for this production order | Blank |
| Shortage Status | Production Order line | Component availability status for this production line: Complete/Conflict/Partial/No Production, or Error | Blank |
| Qty. that can be produced | Production Order line | The maximum producible quantity based on available components | 0 |
| Ignore in Shortage Calculation | Item Card | When enabled, this item is skipped in all shortage calculations and does not affect status results | Off |