DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
- Created by Swapnil Shah, last modified on Sep 09, 2025
OFBIZ-13235 - Getting issue details... STATUS
Introduction
In the world of manufacturing, every hour counts. A delayed production run doesn’t just affect the shop floor—it can disrupt deliveries, impact customer satisfaction, and cause a ripple effect across the supply chain.
Production managers are under constant pressure to build accurate schedules that reflect the real-world availability of machines, labor, and shifts. Too often, scheduling is done without accounting for holidays, maintenance windows, or overlapping workloads. The result? Missed deadlines, idle machines, and frustrated teams.
Apache OFBiz, a robust open-source platform, offers production planners the ability to build schedules that are not only structured but grounded in reality. By combining machine calendars, task-level time estimates, and flexible configuration options, Apache OFBiz gives manufacturers the foundation for more reliable planning. In this document, we explore how Apache OFBiz supports timeline-driven planning, what it handles well out of the box, and where there’s room for enhancement.
Why Calendars Matter in Manufacturing?
Consider a scenario where a 10-hour job is scheduled on a machine that only operates 8 hours a day. This may seem like small oversight, but when multiplied across hundreds of jobs and dozens of machines, they can result in widespread production delays and missed delivery commitments.
Without system-enforced rules or calendar awareness, production planning often depends on manual checks or assumptions. Schedules are built based on best guesses rather than actual machine or labor availability. The outcome is predictable: bottlenecks go unnoticed, machines are over-booked, and managers spend their days chasing timelines that no longer make sense.
That’s why a calendar-based system—one that understands holidays, shift patterns, and machine-level availability—is essential to modern manufacturing. It transforms planning from a hopeful projection into a schedule that reflects the constraints and realities of the shop floor.
How Apache OFBiz Supports Timeline-Driven Planning
Apache OFBiz helps production teams calculate more accurate start and end dates for their work orders—called Production Runs—by using a structured approach based on three core concepts: routing tasks, fixed assets, and calendars.
Modeling Operations with Routing Tasks
In manufacturing, every product moves through a sequence of operations, for example: cutting, welding, assembly, painting, packaging, and so on. In Apache OFBiz, each of these operations are called Routing Task. A routing task includes two types of time estimates: setup time, which accounts for preparatory activities like machine calibration or tool changes, and run-time, which refers to the time needed to produce one unit.
By configuring these durations for each routing task, production planners can create process flows that closely match real-life production behavior. These setup and run-time values become the basis for estimating how long a full production batch will take.
Machine-Level Availability Through Resource Calendars
Once tasks are defined, they are assigned to machines—represented in Apache OFBiz as Fixed Assets. Each machine has its own Calendar that defines its availability. This calendar captures daily working hours, weekends, and holidays. This resource-level calendar gives production managers precise control over how each machine is utilized.
When a work order (Production Run) is created in Apache OFBiz, it uses the calendar associated with the assigned machine (fixed asset) to determine when the machine is available to perform the task. This allows the system to calculate a realistic end date for the Production Run based on actual working hours, not theoretical durations.
For instance, if a task takes 10 hours but the assigned machine operates only 8 hours per day, Apache OFBiz automatically splits the task across two days. This simple adjustment makes a big difference in building trustable schedules and setting correct delivery expectations.
Production Runs: Bringing Tasks and Calendars Together
The final piece is the Production Run, which represents a specific work order. When a Production Run is created in Apache OFBiz, it pulls in all the relevant routing tasks, applies the defined durations, and factors in the availability of the assigned machines via their calendars.
The result is a calendar-aware schedule with accurate start and end times. This helps avoid overpromising, ensures resource usage is grounded in available capacity, and allows better coordination across departments—from inventory staging to fulfillment planning.
Areas For Improvement in Calendar Function’s Current Form
While Apache OFBiz provides the core framework for timeline planning, there are a few critical areas where enhancements could make it even more powerful and user-friendly. We have additionally also raised JIRA tickets for the same and have provided the links to them in the respective section.
1.Machine Availability Awareness—But No Conflict Detection
Apache OFBiz allows routing tasks to be assigned to specific machines and uses machine calendars to estimate task duration. These features enable production schedules to reflect real-world availability. However, there is currently no safeguard to prevent overlapping usage of the same machine across different production runs.
This means that if two production orders schedule tasks on the same machine at the same time, the system will not raise any warnings. The planner has to manually ensure that machines aren’t over-booked, which becomes difficult as order volume scales.
Suggested improvements here include:
- A real-time conflict detection that flags overlapping machine usage
- A dashboard that visualizes machine workloads across all active production runs
These would significantly enhance the planner’s ability to detect and avoid scheduling issues before they impact execution.
2.Lack of Visual Calendar Interface
Currently, Apache OFBiz provides a basic list-based interface where production runs can be viewed, filtered, and manually edited. This may work well for small teams or simple workflows, but it lacks the intuitive visibility that an interactive calendar interface can offer.
A modern production manager often needs to:
- See all scheduled production runs in a calendar format
- Understand overlaps and bottlenecks at a glance
- Reschedule tasks easily by dragging them to a new date or time
- Assess capacity utilization across multiple machines and shifts
Adding such a calendar interface to Apache OFBiz, complete with drag-and-drop capabilities and real-time updates would dramatically improve the user experience.
3.No Shift-wise Capacity Tracking—Only Static Availability
Apache OFBiz currently lacks support for defining multiple shifts within a single production day, especially with custom break schedules. This makes it difficult for planners to accurately model real-world operations or configure shift-wise capacity and utilization limits.
For example, if a plant runs two 8-hour shifts with a 1-hour break between them, the actual working span stretches from 8:30 AM to 1:30 AM the next day. However, since Apache OFBiz doesn’t account for breaks, it calculates the day as ending at 12:30 AM—treating the entire duration as a single, continuous block. There’s no way to allocate tasks or monitor capacity separately for each shift.
In high-throughput environments, this lack of granularity means the system cannot distinguish between shift-specific availability. Planners are forced to rely on spreadsheets or external tools to prevent overloading certain time windows while others remain underutilized.
Suggested improvements include:
- Support for defining multiple shifts with custom break intervals
- Ability to assign and monitor capacity per shift
These features would align the system more closely with how shop floors actually operate—by the clock, not just the calendar.
4.Inflexible Calendar Patterns—No Support for Irregular Schedules
Apache OFBiz’s calendar system supports only standard weekly recurrence patterns. There is no easy way to define non-weekly scheduling rules such as the last day of each month, every 2nd Saturday, or custom nth-day patterns within a month or year.
This restricts planners from modeling irregular but predictable maintenance cycles, machine availability patterns, or custom holidays that don’t follow weekly logic. As a result, any deviation from the weekly format must be handled manually, increasing administrative overhead and potential for error.
Suggested improvements here include:
- Support for defining advanced recurrence rules (e.g., last day of month, nth weekday, etc.)
- A flexible rule engine or UI component that simplifies non-weekly calendar configuration
These changes would offer better alignment with real-world scheduling needs and reduce manual adjustments.
5.No Historical Capacity Usage—Blind Spot in Utilization Tracking
Apache OFBiz does not track or store historical machine or shift capacity usage data. While the system may account for planned task durations, it doesn’t retain usage logs that would allow planners to analyze utilization over time.
This creates a blind spot in performance analysis. Without visibility into past capacity consumption, planners can't identify bottlenecks, underused resources, or inefficiencies across production runs. Over time, this gap prevents data-driven improvements in scheduling and resource allocation.
Suggested improvements here include:
- Automatic logging of actual vs. planned capacity usage for each resource
- Visual dashboards to analyze utilization trends across time frames
These features would turn raw production data into actionable insights, enabling continuous improvement in manufacturing operations.
6.Lack of Clear Edit Mode in Calendar Exception Week Form — UI Behavior Doesn’t Match User Expectations
In the Calendar section of Apache OFBiz, users can manage production exceptions using the “Add Calendar Exception Week” form. However, the current interface creates a usability pitfall when editing existing entries.
When a user clicks the Select button on an exception day listed above the form, the date and time fields populate with the selected entry’s details — but the rest of the form remains visually unchanged. Critically, the Add button does not change, leaving the user unsure: Am I editing or adding a new exception?
This ambiguity in form behavior can lead to accidental overwrites, duplicate entries, or hesitation — especially in high-stakes manufacturing environments where precision matters.
Suggested usability enhancements:
Replace the “Select” button with “Edit” to reflect the true function.
Switch the form to an “Edit” mode when an entry is selected — update the button label from “Add” to “Update”.
Introduce visual cues (like a form header or a highlighted row) to clearly indicate that the user is editing an existing exception.
These improvements will significantly reduce confusion, align interface behavior with user expectations, and ensure exception management is both intuitive and error-proof.
Conclusion
In manufacturing, accurate planning isn’t just about knowing how long a task takes, it’s about knowing when a machine is available to do that task, and ensuring that the schedule respects all the real-time operational constraints of a shop floor.
Apache OFBiz addresses this challenge by giving manufacturers the tools to define setup and run-time per operation, assign machines to the operation, and link each machine to its own working calendar. These building blocks work together to create production schedules that are grounded in operational capacity, not assumptions.
Apache OFBiz doesn’t yet prevent machine overbooking, nor does it offer a drag-and-drop calendar interface. But it offers a solid, extensible foundation, one that forward-thinking manufacturers can customize and build upon. For teams looking to evolve beyond spreadsheets and into more dynamic production scheduling, Apache OFBiz provides both the structure and the flexibility to make it happen.