App Overview
Flexible Forecast is a demand planning tool that gives planners a clear, multi-dimensional view of forecast data alongside actual sales, purchase, production, transfer, and inventory figures — all in one screen. Instead of jumping between BC's native forecast entries, sales orders, and item ledger entries, you work in a single matrix-style page where you can see what is forecasted, what is on order, and what has been sold, period by period, item by item, or dimension value by dimension value.
The app extends BC's standard production forecast with additional attributes that BC does not support natively: dimension values, salesperson, customer, and country per forecast entry. This makes it possible to maintain a forecast that is broken down by sales channel, region, or customer segment, and to aggregate or filter those dimensions when planning. The three views — Periods per Item, Items in Period, and Item per Dimension — each present the same underlying forecast data through a different lens, depending on whether you are reviewing one item's history over time, comparing all items in a given period, or analysing demand by dimension.
Forecasts can be created and maintained manually in the view, imported from Excel, or exported to Excel for offline editing and approval. When the automatic history-based forecast generation is needed, this is handled through the History Forecast Template feature, which has its own dedicated article.
| Primary page | Flexible Forecast |
| Three views | Periods per Item, Items in Period, Item per Dimension |
| Forecast entry extensions | Dimension 1/2, Salesperson, Customer, Country per entry |
| Data shown per line | Forecast Qty, Sales Qty, Purchase Qty, Transfer Qty, Production Qty, Component Qty, Qty Sold, Qty Consumed, Start/End Inventory, Revenue |
| Import/export | Excel (import and export with configurable splitting by location, variant, salesperson, customer, country, dimension) |
| Integration | Reverse Planning (create supply orders), Assign Quantity (availability fields), external company/tenant |
Getting Started
- Open Flexible Forecast from the BC search menu. The page opens in the Periods per Item view by default.
- Set the Forecast Name to the BC production forecast you want to work with. If no forecast name exists yet, create one in BC's standard Demand Forecast Names list first.
- Set Start Date and End Date to define the planning horizon you want to see.
- Set the Period Option to control how the date range is split: Forecast (one line per existing forecast entry date), Month (one line per calendar month), or Week (one line per week). This field is only visible in the Periods per Item view.
- Enable either Sales Forecast or Component Forecast (not both) to indicate which type of forecast entries this view should work with.
- Optionally set Item Filter to restrict the view to specific items, and Location Filter to restrict to specific locations.
- Click Update Forecast to populate the lines. The system reads the forecast entries and all configured movement fields for each item/period combination.
- To enter or change a forecast quantity, click directly in the Forecast Quantity field on a line. The change is written back to the underlying BC forecast entry in real time.
- If the Location Filter covers more than one location, set New Forecast on Location to specify which location new forecast entries should be created on.
Related Features
Reverse Planning integrates with Flexible Forecast through two actions: Create Supply Orders (creates supply journal lines from the Quantity to Order field on forecast lines) and Open Reverse Planning Worksheet (opens the planning worksheet where those lines can be reviewed and posted). Assign Quantity adds three availability fields to the forecast line when installed — Available Quantity, 1st Increased Quantity, and 2nd Increased Quantity — showing how much stock is currently assignable and when the next two supply increases are expected. For automatic forecast generation from sales history, see the History Forecast Template article, which describes how to configure and run history-based forecast calculations.
User Stories
US-01: View forecast and actual demand side by side for one item over multiple periods
As a Demand Planner
I want to see one item's forecast quantity next to its actual sales, purchase orders, and historical sales figures for each period in my planning horizon
So that I can immediately spot where the forecast diverges from reality and adjust it
Setup:
- Open Flexible Forecast and select the Periods per Item view (this is the default).
- Set Forecast Name, Start Date, End Date, and Period Option (Month or Week).
- Set Item Filter to the item you want to review.
- Enable Sales Forecast or Component Forecast as appropriate.
- Enable the show-fields you want to see alongside the forecast: Show lines with Sales Qty., Show lines with Qty. Sold, Show lines with Purchase Qty., etc.
- Click Update Forecast. Each line represents one period, showing Forecast Quantity alongside the enabled movement columns.
- Click on any quantity field to drill down to the underlying BC documents.
US-02: Compare all items' forecast and sales quantities within one period
As a Sales Planner
I want to see all items' forecast and actual sales side by side for a single period
So that I can identify which items are over- or under-forecasted in that period and prioritise adjustments
Setup:
- Open Flexible Forecast and select the Items in Period view.
- Set Forecast Name, Start Date, and End Date (these define the single period being shown).
- Enable Sales Forecast and the movement columns you need.
- Optionally set a Selection to limit which items appear (see US-09 for Selection setup).
- Click Update Forecast. Each line represents one item for the defined period.
- Edit forecast quantities directly on the lines.
Note: In the Items in Period view, the Selection field supports Item-type and Or-type selection codes. Only items matching the selection appear in the view.
US-03: Analyse forecast and demand broken down by dimension value
As a Sales Manager
I want to see forecast and sales quantities separated by dimension value (e.g. by sales region or department)
So that I can maintain and review forecasts at the channel or region level rather than only at the item level
Setup:
- Open Flexible Forecast and select the Item per Dimension view.
- Set Forecast Name, Start Date, End Date.
- Set Global Dimension 1 Filter to filter to specific dimension values, or leave blank to show all.
- Enable Sales Forecast and any movement columns you need.
- Click Update Forecast. Each line represents one item/dimension combination.
- Edit forecast quantities on lines. The change is written to a forecast entry with the corresponding dimension value.
Note: The dimension used (Global Dimension 1 or 2) is controlled by the Forecast Using Dimension field in the Item Availability General Setup for the Item per Dimension view.
US-04: Enter or modify a forecast quantity directly in the view
As a Demand Planner
I want to type a new forecast quantity directly on a line in the Flexible Forecast view
So that I can update the BC forecast without opening the underlying Demand Forecast Entries page
Setup:
- In any of the three views, after clicking Update Forecast, click into the Forecast Quantity field on the relevant line.
- Type the new quantity. On saving, the system calculates the delta between the new value and the existing forecast entries for that item/period/location/dimension combination, and inserts or updates a forecast entry with the difference.
- If the location filter covers multiple locations, a New Forecast on Location must be set before editing — the system will raise an error otherwise.
Note: If existing forecast entries for the period span multiple dates and the new value would consolidate them, the system prompts to move all entries to the start of the period. Declining this prompt will block the change.
US-05: Include items that have no existing forecast entries in the view
As a Demand Planner
I want to see items that currently have no forecast, not just items that already have forecast entries
So that I can identify items that need a forecast and create one directly in the view
Setup:
- In the Flexible Forecast header, enable Include items without Forecast.
- Click Update Forecast. Items matching the item filter but with zero forecast for the period are now included as lines with Forecast Quantity = 0.
- Type a forecast quantity on any of these lines to create a new forecast entry.
US-06: Filter the view to only show items with actual movement in the period
As a Demand Planner
I want to hide items that have no sales, no orders, and no forecast in the selected period
So that the view is focused on items that actually require attention
Setup:
- In the Flexible Forecast header (Items in Period or Item per Dimension view), enable Only Lines with Movements.
- Click Update Forecast. Lines where all movement and forecast quantities are zero are excluded from the view.
US-07: Filter forecast by salesperson or customer
As a Sales Manager
I want to view and edit the forecast for a specific salesperson or customer
So that each salesperson can maintain their own forecast slice and I can review commitments per customer
Setup:
- In the Flexible Forecast header, set Sales Person Forecast Filter to one or more salesperson codes.
- Optionally set Customer Forecast Filter to one or more customer numbers.
- Click Update Forecast. The Forecast Quantity shown reflects only entries tagged with the specified salesperson or customer in the underlying forecast entries.
- When editing forecast quantities in this filtered view, new entries are created with the salesperson/customer values from the filter.
Note: The caption of these filter fields changes depending on whether the "Filter Sales by Salesperson and Customer" feature flag is enabled in Feature Management.
US-08: View forecast broken down per individual forecast entry
As a Demand Planner
I want to see each individual forecast entry as a separate line rather than having them summed per period
So that I can review and edit entries that differ by location, customer, salesperson, or dimension within the same period
Setup:
- In the Flexible Forecast header, enable Show Lines Per Entry.
- Click Update Forecast. Each Production Forecast Entry now appears as its own line, including the Document Type, Document No., and Posting Date fields that identify the source of the entry.
US-09: Use a Selection Code to control which items or dimensions appear in the view
As a Demand Planner
I want to define a reusable list of items or dimension values and apply it to the forecast view with one field
So that I can switch between different planning segments (e.g. product categories, sales regions) without re-entering item filters each time
Setup:
- Open Selection Codes and create a new code.
- Set Type to Item (for use in Items in Period view) or Dimension1 (for use in Item per Dimension view).
- Under the selection code, either add items/dimension values manually via the Selections subpage, or set up an Automatic Selection using a filter expression on a source table (e.g. filter items by Item Category Code).
- In the Flexible Forecast header, set the Selection field to the new code.
- Click Update Forecast. Only items or dimensions matching the selection appear.
Note: Or-type selection codes combine multiple Item or Dimension1 selections with a logical OR, allowing complex groupings in a single selection code.
US-10: Filter items by any item table field
As a Demand Planner
I want to filter the forecast view by an arbitrary item field — such as Item Category Code, Vendor No., or a custom field — without manually listing item numbers
So that I can plan by product segment without knowing which specific item numbers belong to each segment
Setup:
- In the Flexible Forecast header, click the Item Field Caption field and select a field from the Item table via the lookup.
- Enter the desired filter value in the Item Field Filter field that appears.
- Click Update Forecast. Only items where the selected field matches the filter are included.
Note: The Item Field Caption lookup shows all fields on the Item table. The filter is applied dynamically via RecordRef/FieldRef and works with any filterable field.
US-11: Filter locations by any location table field
As a Demand Planner
I want to filter which locations are included in the forecast by a field on the Location table
So that I can plan for a segment of locations without entering each location code individually
Setup:
- In the Flexible Forecast header, click the Location Field Caption field and select a field from the Location table via the lookup.
- Enter the desired filter in the Location Field Filter field. The system resolves this to a location code filter and writes it to the Location Filter field automatically.
- Click Update Forecast.
US-12: Export forecast to Excel for offline editing
As a Demand Planner
I want to export the current forecast to Excel, edit quantities offline, and import the changes back
So that I can distribute the forecast to colleagues who do not have BC access, or work with the data in Excel before committing it
Setup:
- In the Flexible Forecast page, click Export Forecast to Excel.
- The Export Forecast Excel Setup page appears. Configure: Forecast Name, Period Length (Month, Week, or Year), Start Date, How many periods, and Production Forecast Name.
- Set splitting options if you want separate rows per location, variant, salesperson, customer, country, or dimension.
- Set New Forecast based on to control which column is pre-filled as the suggested new forecast (current forecast, last year's sales, or last year's forecast).
- Optionally enable Only include lines with Qty. to exclude zero-movement items.
- Run the export. An Excel file is generated with columns for current forecast, last year's forecast, last year's sales, and a New Forecast column for editing.
US-13: Import forecast from Excel
As a Demand Planner
I want to import forecast quantities from an Excel file into BC
So that I can apply quantities that were edited offline or received from an external system
Setup:
- In the Flexible Forecast page, click Import Forecast from Excel.
- The import report asks for: Forecast Name, Delete Action (Delete, Add, or Update), Forecast Type (Sale or Component), and whether to split months into weeks.
- Optionally set filter fields (Salesperson, Customer, Dimension 1/2) that control which existing entries are matched and replaced.
- Select the Excel file. The system reads item number, location, variant, start date, end date, unit of measure, and forecast quantity from each row.
- With Update action, existing entries matching the date range and filters are summed; the difference between the existing total and the imported quantity is inserted as a new entry.
Note: The import rounds all quantities up to the nearest whole number. A month-to-week split distributes a monthly total evenly across the Mondays in the month.
US-14: Split monthly forecast entries into weekly entries on import
As a Demand Planner
I want to import forecast data that is expressed in monthly totals and have the system automatically distribute those quantities across weeks
So that the planning system can work with weekly granularity without me having to manually split the quantities
Setup:
- When running the Import Forecast from Excel report, enable Split Month into Weeks.
- For each imported row with a monthly date range, the system finds all Mondays within that range and creates a separate forecast entry per Monday, distributing the total quantity evenly (rounded up).
US-15: Move stock between dimension values using the Item per Dimension view
As a Inventory Controller
I want to reclassify inventory from one dimension value to another directly from the forecast view
So that I can rebalance stock between sales channels or regions in response to demand shifts without leaving the planning context
Setup:
- Open Flexible Forecast in the Item per Dimension view.
- Click Update Forecast to load the lines.
- On the lines showing the dimension value you want to move stock from, enter the quantity to move in the Quantity to Move or Quantity to Move to Dimension field.
- Optionally set New Location Code or New Shortcut Dimension 1/2 Code on the line to specify where the stock should go.
- Click Move Lines. The system creates item journal lines of type Transfer in the configured journal batch.
- If Post Reclassification directly is enabled in the setup, the journal is posted automatically. Otherwise the journal opens for review before posting.
Note: A journal batch of type Transfer must be configured. If none is set, the system prompts you to select one.
US-16: Create sales order lines directly from forecast quantities
As a Sales Order Processor
I want to convert forecast quantities into actual sales order lines with one action
So that I can quickly generate orders for items where the forecast represents committed customer demand
Setup:
- In any Flexible Forecast view, after updating the view, enter quantities in the Quantity to Sell (Base) field on the relevant lines.
- Click Create Sales Order Lines.
- Select or create the target sales order when prompted.
- The system inserts one sales line per forecast line that has a non-zero Quantity to Sell, using the item number and quantity from the forecast line.
- The view refreshes to reflect the new sales order demand.
US-17: Create supply orders from forecast lines using Reverse Planning
As a Purchasing or Production Planner
I want to create purchase orders, production orders, or transfer orders directly from the Quantity to Order field on forecast lines
So that I can go from a demand signal in the forecast view to a supply commitment in one step
Setup:
- Reverse Planning must be installed and enabled.
- In the Flexible Forecast view, enter quantities in the Quantity to Order (Base) field on the relevant lines.
- Click Create Supply Orders. For each line with a non-zero Quantity to Order, the system creates a requisition/planning line using the Reverse Planning worksheet logic.
- Click Open Reverse Planning Worksheet to review the proposed orders before firming them.
US-18: Read forecast and demand data from another BC company
As a Group Planner
I want to view forecast and actual movement data from a subsidiary or sister company alongside my own data
So that I can plan consolidated demand across legal entities without switching companies
Setup:
- In the Flexible Forecast header, set Use Company to the name of the other BC company.
- Click Update Forecast. Sales, purchase, production, and transfer quantities are read from the specified company via ChangeCompany logic.
- Forecast entries are still written to the current company's forecast.
Note: Use Company and External Tenant Code are mutually exclusive — setting one clears the other. Use Company is for companies within the same BC tenant; External Tenant Code is for cross-tenant scenarios.
US-19: Maintain forecast entries tagged with salesperson and customer
As a Sales Manager
I want to tag individual forecast entries with a salesperson and customer so that the forecast can be filtered and reported by sales ownership
So that each salesperson is accountable for their own forecast slice and I can review total demand per customer
Setup:
- Set Sales Person Forecast Filter and/or Customer Forecast Filter on the Flexible Forecast header before clicking Update Forecast.
- When a quantity is entered and a new forecast entry is created, it is tagged with the salesperson and customer values from the filter.
- The underlying forecast entry stores these values in the Salesperson and Customer fields added by the app.
- When exporting to Excel, enable Split lines per Sales Person or Split lines per Customer to get separate export rows per salesperson or customer combination.
US-20: Export forecast with historical sales data for review and approval
As a Sales Director
I want to export a forecast spreadsheet that shows the current forecast, last year's actual sales, last year's forecast, and a suggested new forecast for each item and period
So that I can review and approve the new forecast in Excel before it is imported back into BC
Setup:
- Open the Flexible Forecast page and click Export Forecast to Excel.
- Set New Forecast based on to Last years Sales, Last years Forecast, or Current Forecast — this determines which historical column is pre-filled into the editable New Forecast column.
- Configure period length and the number of periods.
- Run the export. The Excel file contains columns: Current Forecast Quantity, Current Qty Sold, Last Year Forecast, Last Year Qty Sold, Forecast Two Years Ago, and New Forecast Quantity.
- Distribute the file for review. Recipients edit only the New Forecast Quantity column.
- Import the approved file back using Import Forecast from Excel with action Update.
US-21: View available quantity and next supply increases alongside the forecast
As a Demand Planner
I want to see how much stock is currently available for each forecast line, and when the next two supply increases will arrive
So that I can assess whether existing supply covers the forecasted demand without opening the Assign Quantity pages separately
Setup:
- The Assign Quantity app must be installed and enabled.
- Enable Calculate Increase Quantity Fields on the Flexible Forecast header.
- Click Update Forecast. Three additional fields appear on each line: Available Quantity, 1st Increased Quantity (with date), and 2nd Increased Quantity (with date).
- Available Quantity shows the quantity currently assignable on the line's date. The two Increased Quantity fields show the next two points at which available supply increases, and the dates those increases are expected.
US-22: Create Item ABC classification lines from forecast data
As a Inventory Manager
I want to generate ABC classification entries based on the current forecast view
So that items can be ranked by forecasted demand and given appropriate replenishment policies
Setup:
- In the Flexible Forecast page, after updating the view with the relevant forecast and period settings, click Create Item ABC Lines.
- The system reads the current forecast lines and creates ABC input entries based on the forecast quantities shown.
- Review the resulting ABC entries to assign A/B/C classification to items.
US-23: Open Flexible Forecast pre-filtered on an item from the Item Card or Sales Order
As a Sales Representative or Product Manager
I want to open the forecast view for a specific item directly from the Item Card or from a sales order line
So that I can check the item's forecast context without navigating to the Flexible Forecast page and entering filters manually
Setup:
No setup required beyond the app being enabled. Three actions are added to the Item Card and Item List by the app:
- From the Item Card or Item List, use the Forecast per Period action to open the Periods per Item view pre-filtered on the current item.
- Use the Forecast per Dimension action to open the Item per Dimension view pre-filtered on the current item.
- Use the Forecast Items in Period action to open the Items in Period view showing all items (not filtered to the current item).
- From the Sales Order lines subform, use the Forecast per Period action to open the Periods per Item view pre-filtered on the item on the selected sales line.
Note: All four actions calculate the forecast view immediately on opening — there is no need to click Update Forecast separately.
US-24: Enable accurate salesperson and customer filtering on Sales Qty and Qty Sold columns
As a Sales Manager
I want to have the Sales Qty and Qty Sold columns in the forecast view filtered by the actual salesperson and customer on the sales documents, not just by the salesperson tag on the forecast entry
So that the view accurately reflects what each salesperson has sold and has on order, even for historical entries that predate the forecast setup
Setup:
- Open Feature Management in BC and find the Filter Sales by Salesperson and Customer feature for the Flexible Forecast app.
- Enable the feature. The system will prompt that a one-time data update is required to backfill the salesperson and customer codes onto existing item ledger entries and sales lines from their source documents. Confirm to proceed — this may take time depending on data volume.
- Once enabled, the Sales Person Forecast Filter and Customer Forecast Filter on the Flexible Forecast header filter the Sales Qty column against the salesperson code on the sales line itself, and the Qty Sold column against the salesperson code on the item ledger entry. This is more accurate than the forecast-entry-based filtering used when the feature is disabled.
- From this point forward, new sales postings automatically carry the salesperson and customer codes through to the item ledger entry.
Note: This feature is gated behind a feature flag because the data migration step is irreversible and potentially time-consuming. It is recommended to run the enablement during off-peak hours on large datasets.
US-25: Identify item ledger entries where quantity and remaining quantity are out of sync
As a Controller or Planning Administrator
I want to run a diagnostic check that finds items where the total posted quantity does not match the total remaining quantity in the item ledger
So that I can identify data inconsistencies that may cause Start Inventory to show unexpected values in the Flexible Forecast view
Setup:
- Search for Calc. Item Ledger Mismatch and run the report.
- Set an item filter and location filter if you want to restrict the check to a subset of items.
- The report scans all item ledger entries per item, location, and Dimension 1 combination and compares the sum of Quantity against the sum of Remaining Quantity.
- Any combination where these totals differ is written to the Item Ledger Mismatches page.
- Open Item Ledger Mismatches to review the results. Each row shows the item, location, dimension, total quantity, and total remaining quantity so you can see the size of the discrepancy.
Note: A mismatch between Quantity and Remaining Quantity typically indicates closed item ledger entries that have been partially or fully applied. This does not necessarily mean the data is incorrect, but it explains why the Start Inventory column in Flexible Forecast (which reads remaining quantity) may differ from the gross inventory balance.
Field Reference
| Field | Where to find it | What it does | Default |
|---|---|---|---|
| Forecast Name | Flexible Forecast header | The BC production forecast name that entries are read from and written to | From Manufacturing/Inventory Setup |
| Start Date | Flexible Forecast header | The first date of the planning horizon shown in the view | Start of current month |
| End Date | Flexible Forecast header | The last date of the planning horizon shown in the view | End of next month |
| Period Option | Flexible Forecast header (Periods per Item view) | Controls how the date range is split: Forecast (per entry date), Month, or Week | Forecast |
| Location Filter | Flexible Forecast header | Limits which locations are included in the view and availability calculations | Blank (all locations) |
| New Forecast on Location | Flexible Forecast header | The location code used when writing new forecast entries; required when Location Filter covers multiple locations | Blank |
| Item Filter | Flexible Forecast header | Limits which items appear in the view | Blank (all items) |
| Item Field Caption | Flexible Forecast header | An additional item field to filter by (any field from the Item table) | Blank |
| Item Field Filter | Flexible Forecast header | The filter value for the selected Item Field Caption | Blank |
| Location Field Caption | Flexible Forecast header | An additional location field to filter by (any field from the Location table) | Blank |
| Location Field Filter | Flexible Forecast header | The filter value for the selected Location Field Caption; resolved to a Location Filter automatically | Blank |
| Global Dimension 1 Filter | Flexible Forecast header | Limits which dimension 1 values appear in the view | Blank |
| Global Dimension 2 Filter | Flexible Forecast header | Limits which dimension 2 values appear in the view | Blank |
| Sales Person Forecast Filter | Flexible Forecast header | Filters forecast entries by salesperson code | Blank |
| Customer Forecast Filter | Flexible Forecast header | Filters forecast entries by customer number | Blank |
| Sales Forecast | Flexible Forecast header | Show and edit sales (non-component) forecast entries | On |
| Component Forecast | Flexible Forecast header | Show and edit component forecast entries | Off |
| Include items without Forecast | Flexible Forecast header | Include items that have no existing forecast entries | On |
| Only Lines with Movements | Flexible Forecast header | Hide lines where all quantities are zero | Off |
| Show lines with Sales Qty. | Flexible Forecast header | Show the open sales order quantity column | Off |
| Show lines with Qty. Sold | Flexible Forecast header | Show the historical sales (item ledger) quantity column | Off |
| Show lines with Purchase Qty. | Flexible Forecast header | Show the open purchase order quantity column | Off |
| Show lines with Transfer Qty. | Flexible Forecast header | Show the open transfer order quantity column | Off |
| Show lines with Production Qty. | Flexible Forecast header | Show the open production order quantity column | Off |
| Show lines with Component Qty. | Flexible Forecast header | Show the open production component quantity column | Off |
| Show lines with Qty. Consumed | Flexible Forecast header | Show the posted consumption (item ledger) quantity column | Off |
| Show Lines Per Entry | Flexible Forecast header | Show one row per individual forecast entry instead of summing per period | Off |
| Calculate Increase Quantity Fields | Flexible Forecast header | Calculate and show Available Quantity and next supply increase fields (requires Assign Quantity) | Off |
| Selection | Flexible Forecast header | A Selection Code that restricts which items or dimensions appear in the view | Blank |
| Use Company | Flexible Forecast header | Read movement data from another BC company in the same tenant | Blank |
| External Tenant Code | Flexible Forecast header | Read movement data from an external BC tenant | Blank |