Overview
Production planning is the translation of demand into factory activity. Sales orders, forecasts, inventory targets, and capacity constraints are the inputs. A production schedule — what to make, when, on which equipment, with which materials — is the output. When the planning process works well, the factory produces what customers need, materials are available when production needs them, capacity is utilised efficiently, and the schedule is stable enough that production teams can execute it without constant replanning. When it does not work well, the consequences are familiar: late orders, idle machines waiting for materials, expedited production that disrupts planned work, and the firefighting that consumes management time while the root cause — a planning process that cannot produce achievable plans — remains unaddressed.
The gap between demand and capacity, between what is ordered and what can actually be produced in the available time with the available resources, is where planning software earns its value. Generic ERP production planning modules handle the straightforward case — single-plant operations with standard lead times and predictable demand — reasonably well. Manufacturing operations with more complexity — multiple production lines with different capabilities, shared bottleneck resources, variable process yields, sequence-dependent setup times, mixed make-to-order and make-to-stock production, multi-level BOMs with long-lead raw materials — find that the ERP's planning module produces schedules that are theoretically correct but practically unexecutable.
We build custom production planning software for manufacturing operations that need planning capability specific to their production processes, their capacity structure, and the integration with their ERP and operational systems that planning execution requires. Not a generic planning tool configured around what the product allows, but planning logic built around how the factory actually works.
What Production Planning Software Covers
Demand capture and management. Production planning starts from demand — the orders that need to be fulfilled, the forecasts that anticipate future demand, and the inventory targets that buffer uncertain demand. Demand management consolidates the demand signal from its sources: sales orders from the ERP, forecasts from the commercial team, minimum stock level replenishment requirements, and any other demand that the planning function needs to convert into production.
Demand priority management — sequencing the production required for different demand types by the urgency and commercial priority that each represents — ensures that planning resources are allocated to the most important production first. Customer-committed delivery dates, framework agreement call-offs, make-to-stock replenishment, and promotional production each have different urgency profiles that the planning system reflects in its prioritisation.
Capacity planning. The fundamental constraint on production planning is capacity — the available time on each production resource, constrained by the shifts worked, the planned maintenance, and the setup and changeover time that reduces net productive time. Capacity planning calculates the capacity available on each resource, compares it against the capacity required by the demand that needs to be planned, and identifies the capacity gaps and surplus that the planning process needs to manage.
Rough-cut capacity planning — the high-level capacity check that validates whether the aggregate demand can be accommodated within the available capacity over the planning horizon — surfaces capacity problems early enough for the demand management and capacity adjustment decisions that resolve them. Detailed capacity planning — the finite scheduling that sequences individual production orders on specific resources within specific time windows — produces the executable schedule that production teams actually work to.
Finite capacity scheduling. Infinite capacity scheduling — the approach that MRP takes, scheduling all demand without checking whether the required capacity is available — produces plans that are impossible to execute as scheduled. Every constraint violation requires manual rescheduling, and the accumulated manual adjustments diverge from the original plan in ways that make replanning difficult. Finite capacity scheduling respects capacity constraints in the planning algorithm, producing schedules that are achievable with the available resources rather than schedules that assume unlimited capacity.
Finite scheduling considers the capacity constraints of each production resource, the sequence of orders on each resource, the setup and changeover times between different products on the same machine, the lead times between operations in multi-stage production processes, and the availability of materials at each operation. The resulting schedule is both capacity-feasible and material-feasible — executable without the manual adjustment that infinite-capacity schedules require.
Sequence optimisation. For production processes where the order of jobs on a machine affects setup time — colour sequence on a coating line, product family sequence on a packaging line, grade sequence on a chemical reactor — sequence optimisation arranges the production order on each resource to minimise total setup time while satisfying due dates. Setup time minimisation directly increases the productive time available on the resource, improving throughput without capital investment.
Sequence-dependent setup matrix management — defining the setup time between every pair of products on each resource — provides the data that sequence optimisation needs to evaluate the cost of different sequencing options and select the arrangement that minimises total setup while meeting the schedule.
Material requirements and supply planning. Production cannot execute without materials. Material requirements planning calculates the material demand that the production schedule creates — the raw materials, components, and semi-finished goods that each planned production order will consume — and compares it against the supply that is available: on-hand inventory, open purchase orders, planned purchase orders, and inter-plant transfers. Material shortages that would prevent planned production orders from executing are identified before the production start date, creating the lead time to resolve the shortage through expediting, substitution, or schedule adjustment.
Supply planning triggers the purchasing and procurement actions that resolve material shortages — purchase requisitions to the ERP for buyer processing, direct integration with supplier systems for orders that can be placed automatically, and replenishment suggestions for the materials that require manual procurement decisions. Supply planning closes the loop between the production schedule and the procurement activity that makes the schedule executable.
Multi-plant and multi-level planning. Manufacturing groups with multiple production facilities — plants that manufacture components for each other, facilities with different product specialisations, satellite plants that feed a central assembly operation — require planning that coordinates production across the full network rather than planning each plant independently. Multi-plant planning considers the transfer lead times between plants, the capacity at each plant, and the material flows that link the plants together, producing a coordinated plan that the full manufacturing network can execute.
Multi-level planning handles the complex product structures that require planning at every level of the BOM — planning the finished goods production, the sub-assembly production that precedes it, and the component production that precedes the sub-assembly — with the correct lead time offsets that ensure each level starts production in time to feed the next.
Schedule maintenance and replanning. The production schedule is not static — demand changes, capacity changes, and execution deviates from plan. Schedule maintenance handles the daily reality of production planning: adding urgent orders, adjusting for machine breakdowns, absorbing the yield losses and rework that create unplanned demand, and replanning when the cumulative effect of changes has made the original schedule unrepresentative of current reality.
Controlled replanning — the process of incorporating changes to the schedule in a way that preserves stability for the work that is already in progress while accommodating necessary changes for future production — prevents the schedule instability that unlimited replanning produces. A production team that receives a new schedule every morning cannot build the operational rhythm that consistent execution requires.
Performance monitoring and KPI tracking. Production planning performance — schedule adherence, on-time delivery, capacity utilisation, changeover efficiency, material availability — is measured against the targets that the planning function is held to. Performance monitoring gives planning managers the visibility to identify where the plan is not being executed, where the plan itself is unrealistic, and where the planning process can be improved.
Integration With Production Systems
Production planning is only as good as the data it is based on and the systems it is connected to. Planning software that operates in isolation from the ERP and production systems produces plans that are disconnected from reality.
ERP integration. The ERP is the source of demand — sales orders, forecasts, inventory records — and the destination for the planned production output — production order creation, material reservation, purchase requisition. ERP integration reads the demand data that drives planning, writes the production plan outputs back to the ERP, and keeps the planning system's view of inventory and supply aligned with the ERP's current records.
For Exact Online, planning integration reads sales orders and inventory from the Exact Online REST API, creates production orders and material reservations in Exact Online when the plan is confirmed, and receives the production completion updates that close planned orders. For AFAS, planning integration covers the same data flows through the AFAS REST API. For SAP, planning integration uses SAP's planning interfaces — PP/DS connections, MRP area management, production order BAPIs — to maintain the bidirectional data exchange that SAP-integrated planning requires.
Machine data and OEE. Actual machine availability and performance data from the machine data processing system — available capacity after downtime, actual cycle times versus standard, current OEE — feeds the planning system's capacity model. Capacity planning based on actual machine performance rather than theoretical capacity produces achievable schedules rather than optimistic ones.
MES integration. Manufacturing execution systems that manage the production workflow — work order dispatch, operator instructions, quality recording — receive the planned production orders from the planning system and return execution feedback: actual start and completion times, actual quantities produced, actual material consumption. This bidirectional MES integration closes the feedback loop between planning and execution that production planning improvement depends on.
Warehouse and inventory systems. Current inventory positions — what is in stock, where, in what lot, with what quality status — feed the planning system's material availability calculations. Inventory accuracy is the foundation of planning accuracy: a planning system that believes a material is available when it is not will produce a schedule that fails in execution.
Technologies Used
- Rust — high-performance scheduling engine, finite capacity algorithm implementation, sequence optimisation, large-scale MRP calculation
- C# / ASP.NET Core — ERP integration, complex planning business logic, Windows-hosted planning services, BOM and routing processing
- React / Next.js — planning interface, Gantt chart schedule visualisation, capacity views, demand management dashboard
- TypeScript — type-safe frontend and API code throughout
- SQL (PostgreSQL, MySQL) — production orders, capacity data, material requirements, planning run history, schedule records
- Redis — planning calculation state, real-time schedule updates, MES feedback processing
- Exact Online REST API — demand and inventory data integration, production order creation
- AFAS REST API — AFAS ERP planning integration
- SAP BAPI / RFC — SAP PP and MM integration for demand, capacity, and material data
- OPC UA / MQTT — machine availability and performance data from production floor
- REST / Webhooks — MES, WMS, and production system connectivity
- SMTP / push notifications — schedule change notifications, capacity alert delivery
The Limits of ERP Production Planning Modules
ERP production planning modules are designed to handle the general case. They implement MRP and MPS logic that works for straightforward manufacturing operations — standard lead times, infinite capacity assumptions, simple product structures, predictable demand. For operations within these parameters, the ERP's planning module is adequate.
Manufacturing operations outside these parameters — where capacity constraints are binding, where setup sequences matter, where yield is variable, where multi-plant coordination is required, where the planning horizon is long and the demand mix is complex — find that the ERP's planning module produces plans that require extensive manual adjustment before they are executable. The planning team becomes a manual scheduling function that spends its time adjusting ERP outputs rather than planning production.
Custom production planning software built for the specific constraints and logic of the factory closes this gap. Finite capacity scheduling that respects the real constraints. Sequence optimisation that minimises setup on bottleneck resources. Multi-level MRP that handles complex BOM structures correctly. The planning logic that the factory's processes actually require, rather than the generic logic that the ERP provides.
Plans That the Factory Can Execute
The measure of a production plan is not its elegance or its theoretical optimality — it is whether the factory can execute it. A plan that accounts for actual capacity, actual material availability, actual setup requirements, and the priorities that reflect actual commercial commitments is a plan that production teams can work to. That is the standard custom production planning software is built to deliver.