Hi everyone,
I’m using ERPNext v16.52.1 and want to confirm whether ERPNext is supposed to validate actual time entry against the planned schedule.
Setup
- BOM with 8 outsourced operations, Produce an Item at Each Operation enabled (track_semi_finished_goods = 1), so one Work Order creates 8 Job Cards
- Workstation Working Hours: 08:00–18:00
- Holiday List: Wednesday weekly off, plus festivals
- Manufacturing Settings: Allow Overtime = 0
- Workstation Production Capacity = 24
Scheduled Time (correct)
Job Card PO-JOB00507, Expected Time Required = 1000 mins
- 07-11-2026 13:17 → 18:00
- 12-11-2026 08:00 → 18:00
- 13-11-2026 08:00 → 09:57
The scheduler correctly skips the holidays and stays within working hours.
Actual Time Log (no restriction)
All of these were accepted with no error:
| Actual time logged | Accepted |
|---|---|
| Before the scheduled start (today, 28-10-2026, a Wednesday holiday) | Yes |
| Inside the holiday gap (08-11 to 11-11) | Yes |
| 05:00, before working hours | Yes |
| 01-06-2027, 7 months after the scheduled end | Yes |
From the code, the only time log validations I can find are from_time < to_time, workstation overlap (up to production capacity), and employee overlap. There’s no check against Scheduled Time, Working Hours, or the Holiday List.
Questions
- Is this the intended behavior, i.e. is Scheduled Time only a plan and the Time Log free entry?
- Is there any standard setting to stop a job from starting before its scheduled date or on a holiday?
- If not, is a Server Script on Job Card (Before Save) the recommended way to add this?
Two related observations
- On the Work Order Operations grid,
planned_start_timeappears to be set from the last scheduled slot (scheduled_time_logs[-1]), so multi-day operations show a later start date than the real one. - On my Job Card, Actual Start/End Date shows 12-11-2026 even though the Time Logs table is empty and Total Time = 0. It looks like a stale value left from a deleted row.
Thanks!
Attach your screenshot of the Job Card when you post it; it’ll help people follow. If you’d rather keep the forum question short, the two related observations could go in a separate GitHub issue instead.