Advanced Planning

Release: Advanced Planning – 28.0.9694.37961

Description

This is the initial release of the Advanced Planning application for Microsoft Dynamics 365 Business Central. This extension enhances the standard regenerative planning engine with advanced inventory exclusion logic (blocked lots, expired tracking, inspection status, QRS shelf-life), automated planning calculation scheduling via Job Queue, demand forecast import/export capabilities, and comprehensive planning log information for audit and troubleshooting. Particularly relevant for Food & Beverage industries where lot tracking, expiration management, and quality-based supply exclusion are critical for accurate MRP/MPS calculations.

User Stories

Title Description Setup Instructions Impact on previous version
[22570] – Advanced Regenerative Plan Extends the standard Calculate Regenerative Plan to exclude blocked, expired, and quality-rejected inventory from supply evaluation. Implements an interface-based architecture (AdvancedPlanning Interface) with pluggable tracking codeunits (BlockedTracking, ExpiredTracking, QRSTracking, INSTracking). Items excluded from planning are logged with detailed exclusion reasons. Configure exclusion options in Advanced Planning Setup (Page 8121100). Assign briAPL_Basic or briAPL_Admin permission set to users. First release — no impact on previous versions.
[22572] – Planning Worksheet Enhancement Extends the Planning Worksheet page with a Log Planning Information factbox and action, allowing users to view detailed planning evaluation results directly from the worksheet. No additional setup. Feature activates automatically once APL is installed. First release — no impact on previous versions.
[22574] – Automated Planning Calculation Enables users to save planning calculation profiles (item filters, MPS/MRP flags, date formulas, forecast options) and schedule them as recurring Job Queue entries. Profiles can be created from the Calculate Plan report via a “Save to Job Queue” option. Use the Save to Job Queue action from Calculate Plan – Planning Worksheet report. Manage profiles via Req. Wksh. Names page (Run Now / Edit actions). Requires briAPL_Admin permission set for Job Queue administration. First release — no impact on previous versions.
[22576] – Demand Forecast Export Allows exporting demand forecast entries to Excel with configurable filters (date range, forecast type, item/location/variant), multiple view-by periods, and optional conversion to Sales Unit of Measure. Access Export action from Demand Forecast Card or Demand Forecast Names page. First release — no impact on previous versions.
[22599] – Demand Forecast Import Provides a wizard-based import of demand forecast entries from Excel files. Supports row-by-row validation (item existence, variant, location, UoM, period date, duplicates, negative quantities), inline error correction, Update Mode (replace) and Add Mode (accumulate). Access Import action from Demand Forecast Card or Demand Forecast Names page. First release — no impact on previous versions.
[22600] – Log Planning Information Introduces a dedicated table and pages to log supply and demand entries evaluated during planning calculations, including lot/serial/package tracking, expiration dates, sell-by dates, and planning outcome (Included/Excluded). Provides a hierarchical view and an Unplanned Items page. Automatically populated during planning calculations when APL is active. First release — no impact on previous versions.
[22601] – QRS Integration Integrates with the Bricklead QRS (Quality & Regulatory Standards) module to evaluate lot sell-by dates and minimum shelf-life requirements during planning. Uses SellByEvaluationMethod enum for flexible evaluation. Requires QRS module to be installed. Configuration in Advanced Planning Setup. First release — no impact on previous versions.
[22602] – INS Integration Integrates with the Bricklead INS (Inspection Status) module to evaluate inspection statuses and exclude-from-planning flags during supply evaluation. Requires INS module to be installed. Configuration in Advanced Planning Setup. First release — no impact on previous versions.
[22604] – Assisted Setup Wizard Provides a guided setup wizard registered in Business Central’s Guided Experience for first-time configuration of Advanced Planning options (inventory exclusion toggles). Access from Assisted Setup in Business Central. First release — no impact on previous versions.
[22974] – Notification Management After planning calculation, notifies the user if items were left unplanned. Notification includes a drill-down link to Log Planning Information and can be permanently dismissed via My Notifications. No additional setup required. First release — no impact on previous versions.
[23170] – Permission Sets Introduces a three-tier permission model: Admin (full access + Job Queue Admin), Basic (full RIMD on all APL objects), and Read (read-only access). Assign appropriate permission set (briAPL_Admin, briAPL_Basic, or briAPL_Read) to users. First release — no impact on previous versions.

Bugs

Title Description Impact on previous version
[22609] – FIX StrLen to MaxStrLen Corrected usage of StrLen to MaxStrLen in string length evaluations to prevent potential runtime errors when handling text fields at maximum capacity. Verified in RequisitionLineSubscr.Codeunit.al. First release — no regression risk.

Events

Status Type Object Name Event Name Description
New IntegrationEvent briAPL_AutomatedPlanCalc (Codeunit 8121113) OnBeforeRun Raised before the automated regenerative plan calculation executes.
New IntegrationEvent briAPL_AutomatedPlanCalc (Codeunit 8121113) OnAfterRun Raised after the automated regenerative plan calculation completes.
New IntegrationEvent briAPL_AutomaticPlanCalcMgmt (Codeunit 8121109) OnBeforeSaveCalculateRegenerativePlanProfile Allows skipping or overriding the save profile procedure.
New IntegrationEvent briAPL_AutomaticPlanCalcMgmt (Codeunit 8121109) OnAfterSaveCalculateRegenerativePlanProfile Raised after saving the planning calculation profile.
New IntegrationEvent briAPL_AutomaticPlanCalcMgmt (Codeunit 8121109) OnAfterSetAutomatedPlanningCalculationDates Raised after setting planning dates on the profile.
New IntegrationEvent briAPL_AutomaticPlanCalcMgmt (Codeunit 8121109) OnAfterCreateAutomatedPlanningCalculationOnBeforeInsert Raised before inserting the planning profile record.
New IntegrationEvent briAPL_AutomaticPlanCalcMgmt (Codeunit 8121109) OnAfterCreateJobQueueEntryOnBeforeInsert Raised before inserting the Job Queue entry for the profile.
New IntegrationEvent briAPL_AutomaticPlanCalcMgmt (Codeunit 8121109) OnBeforeRunAutomatedPlanningCalculation Allows skipping or overriding the automated calculation execution.
New IntegrationEvent briAPL_AutomaticPlanCalcMgmt (Codeunit 8121109) OnRunAutomatedPlanningCalculationOnBeforeCalculatePlanPlanWkshRun Raised before running the Calculate Plan report in automated mode.
New IntegrationEvent briAPL_AutomaticPlanCalcMgmt (Codeunit 8121109) OnAfterRunAutomatedPlanningCalculation Raised after the automated calculation completes.
New IntegrationEvent briAPL_LogPlanningInformation (Table 8121101) OnCreateSupplyEntryOnBeforeInsert Allows modification of supply log entries before insertion.
New IntegrationEvent briAPL_LogPlanningInformation (Table 8121101) OnCreateDemandEntryOnBeforeInsert Allows modification of demand log entries before insertion.
New IntegrationEvent briAPL_LogPlanningInformation (Table 8121101) OnCreateSummaryEntryOnBeforeInsert Allows modification of summary log entries before insertion.
New IntegrationEvent briAPL_LogPlanningInformation (Table 8121101) OnBeforeRecalculateSummaryEntryQuantities Allows overriding summary quantity recalculation.
New IntegrationEvent briAPL_LogPlanningInformation (Table 8121101) OnCalculateSummaryEntryQuantitiesOnBeforeModify Allows modification of summary quantities before record modification.
New IntegrationEvent briAPL_LogPlanningInformation (Table 8121101) OnAfterApplyRelatedFilters Allows applying additional filters after standard filters.
New IntegrationEvent briAPL_LogPlanningInformation (Table 8121101) OnAfterGetDescriptionFromInventoryProfile Allows overriding description generation from inventory profile.
New IntegrationEvent briAPL_LogPlanningInformation (Table 8121101) OnCreateReorderingPointDemandEntryOnBeforeInsert Allows modification of reordering point demand entries before insertion.
New IntegrationEvent briAPL_LogPlanningInformation (Page 8121101) OnAfterSetUIAvailability Allows modification of UI availability variables on the Log Planning Information page.
New IntegrationEvent briAPL_UnplannedItemSubform (Page 8121104) OnAfterSetUIAvailability Allows modification of UI availability variables on the Unplanned Item Subform page.
New IntegrationEvent briAPL_QRSIntegrationHandler (Codeunit 8121119) OnBeforeQRSInstalled Allows overriding the QRS installed check.
New IntegrationEvent briAPL_INSIntegrationHandler (Codeunit 8121115) OnBeforeInspectionStatusInstalled Allows overriding the INS installed check.
New IntegrationEvent briAPL_ExtensionMgt (Codeunit 8121100) OnBeforeIsBasic Allows overriding the license/basic permission check.