Planning Task
Projektaufgaben sind geplant, aber wann genau arbeitet wer daran? Planning Task wandelt Aufgabenstunden in konkrete Zeitblöcke auf dem Mitarbeiterkalender um – mit intelligenter Verteilung.
Ihr Nutzen
Constraint Solver berücksichtigt Arbeitszeiten, Feiertage, Urlaub und Abhängigkeiten. Keine Überlastung.
Zweistufige Bestätigung, Umplanungsvorschläge, Deadline-Risiko-Erkennung und Produktivitätsverfolgung.
Funktionen im Detail
Dtx Planning Task
Version 18.0.4.0.0 planning project_forecast hr_timesheet ortools (Python)
Turn project tasks into concrete time blocks on the planning timeline. A CP-SAT constraint solver distributes task hours across employee calendars while respecting capacity, shifts, leaves, and task dependencies — all with one click.
Features at a Glance
📅 CP-SAT Scheduling Engine
Google OR-Tools constraint solver allocates hours per day across resources. Respects work calendars, holidays, existing slots, and avoids overallocation.
📈 Progress & Productivity Tracking
Manual progress (0–100%) combined with timesheet hours yields a live productivity score and projected total hours. Status indicators: Ahead, On Track, Behind.
👥 Parallel & Independent Scheduling
Multiple resources on one task? Choose Parallel (same time blocks) or Independent (each resource on their own schedule).
🔎 Planning Status Dashboard
Each task shows its planning state: Not Planned, Partially Planned, Planned, or Over Budget — visible in list, kanban, and form views.
✅ Slot Confirmation Workflow
Two-step confirmation: the assigned employee and their manager must both approve. Color-coded slots show the confirmation state at a glance.
🔃 Reschedule Proposals
Employees propose new times via a wizard. The foreman or PM can approve or reject. Pending proposals are highlighted in red on the Gantt view.
🔗 Task Dependencies
When task B depends on task A, the earliest planning start date is automatically computed. Violations are flagged as warnings on the task form.
📦 Resource Requests (Pools)
Request “2 developers from the team” without naming them. The solver picks the least-loaded candidates at scheduling time.
⏰ Deadline Risk Detection
If planning slots extend beyond a task’s deadline, the task is flagged as “Deadline at Risk” with the exact variance in days.
🔒 Task Foreman Permissions
A task foreman (separate from the project manager) controls who can edit progress, scheduling mode, and manage slots. Auto-subscribed as follower.
🚫 Auto-Unschedule on Close
When a task is marked as Done or Cancelled, all linked planning slots are automatically removed and a chatter note documents the cleanup.
📊 Progress Drift Reminder
When timesheet hours significantly outpace the manually set progress, a to-do activity is created for the task foreman to review.
Productivity Model
The addon introduces a lightweight productivity model that connects allocated time, timesheet hours, and manual progress:
| Field | Formula | Example (80h budget, 26h worked, 100% done) |
|---|---|---|
| Progress | Manual input (0.0–1.0, shown as 0%–100%) | 100% |
| Productivity | allocated × progress / effective_hours |
80 × 1.0 / 26 = 3.08 |
| Productivity Status | ≥1.20 Ahead · ≥1.05 Slightly Ahead · ≥0.90 On Track · ≥0.70 Slightly Behind · <0.70 Behind | Ahead |
| Projected Total | effective + allocated × (1 − progress) / productivity |
26 + 0 = 26:00 h |
Planning Status Overview
| Status | Meaning | When |
|---|---|---|
| Not Planned | No planning slots exist | Task has allocated hours but no scheduling done yet |
| Partially Planned | Some slots exist, but not enough | worked + planned < projected total |
| Planned | Fully scheduled | worked + planned ≥ projected total |
| Over Budget | More committed than projected | worked + planned > projected + tolerance |
Confirmation Workflow
Slot Created — Requested
The scheduler creates slots in “Requested” state. Shown in yellow on the Gantt chart.
Employee Confirms — User Confirmed
The assigned employee clicks “Confirm”. Slot turns light blue (partially confirmed).
Manager Confirms — Confirmed
The employee’s direct manager also confirms. Slot turns to its default color and becomes protected.
Reschedule Workflow
Employee Proposes New Time
Via a wizard, the employee selects a new start time and optionally provides a reason. The slot is marked in red on the Gantt view.
Foreman Approves or Rejects
Approve: The slot is moved to the proposed time. Reject: The proposal is cleared and the original time remains.
Scheduling Wizard
The wizard is accessible via the “Schedule Task” button on the task form. It shows the task’s current budget, worked hours, productivity, and the calculated remaining hours to plan.
| Parameter | Description |
|---|---|
| Hours to Plan | Pre-filled: projected total − worked − already planned |
| Hours per Day per Resource | How many hours per day each resource should work on this task |
| Start Date | Must be tomorrow or later. Respects dependency constraints. |
| End Date | Optional. If unset, the solver uses a rolling horizon. |
| Time Preference | Morning (before 12:00), Afternoon (12:00+), or Flexible |
| Max Horizon | How many months ahead the solver looks (default: 3) |
Task Dependencies
When task B “depends on” task A (via Odoo’s built-in dependency field), the addon computes:
- Earliest Planning Start Date — derived from the predecessor’s planning end date or deadline, plus one day. The scheduler enforces this as a constraint.
- Dependency Start Violation — flagged when existing slots start before the earliest allowed date.
Resource Types
| Type | Tab | Description |
|---|---|---|
| Named Resources | Resources tab | Pin specific employees, machines, or rooms to a task. Material resources force parallel scheduling mode. |
| Resource Requests (Pool) | Resource Requests tab | Request N resources of a type. The solver picks the least-loaded candidates from the pool at solve time. |
Use Cases
| # | Scenario | What to Observe |
|---|---|---|
| 1 | Ahead: 80h budget, 26h worked, 100% done | Productivity 3.08, Ahead, Projected 26h |
| 2 | On Track: 20h budget, 10h worked, 50% done | Productivity 1.00, On Track, Projected 20h |
| 3 | Behind: 16h budget, 12h worked, 30% done | Productivity 0.27, Behind, Projected 74h |
| 4 | Not started: 10h budget, no hours | Productivity N/A, Projected falls back to allocated (10h) |
| 5 | Fully Planned: 8h budget, 4 slots | Planned, Smart button shows 8:00 / 8:00 |
| 6 | Partially Planned: 12h budget, 4h slots | Partially Planned |
| 7 | Over Budget: 4h budget, 5h slots | Over Budget, warning banner |
| 8 | Deadline at Risk: deadline Wed, slots until Fri | Warning: Planning End > Deadline (+1 day) |
| 9 | Confirmation States: 3 slots (confirmed, partial, requested) | Color coding: green / light blue / yellow on Gantt |
| 10 | Pending Reschedule: confirmed slot with proposal | Red reschedule banner on task, red slot on Gantt |
| 11 | Dependencies: Task B waits for Task A | Earliest start date computed, dependency warning if violated |
| 12 | Parallel Mode: 2 employees, same time block | Both resources scheduled simultaneously |
| 13 | Material Resource: room + employee | Parallel mode enforced, room appears as resource |
| 14 | Resource Pool Request: “2 developers” | Resource Requests tab shows pool-based demand |
| 15 | Progress Drift: 75% hours spent but only 20% progress | Productivity 0.27 (Behind), activity reminder created |
| 16 | Custom Foreman: different from project manager | Foreman field shown, controls who can edit planning fields |
Technical Details
| Model | Key Fields | Description |
|---|---|---|
project.task |
progress, productivity, projected_total_hours |
Manual progress (Float 0–1), computed productivity and projection |
project.task |
planning_slot_hours, planning_status, is_fully_planned |
Aggregated slot info and planning state |
project.task |
task_foreman_id, scheduling_mode, max_concurrent_workers |
Permission control and scheduling behavior |
project.task |
deadline_at_risk, deadline_variance_days |
Deadline risk detection from planning end vs. task deadline |
project.task |
earliest_planning_start_date, dependency_start_violation |
Dependency-derived scheduling constraints |
planning.slot |
task_id, dtx_state |
Link to task, confirmation workflow state |
planning.slot |
dtx_proposed_start/end_datetime, dtx_reschedule_reason |
Reschedule proposal fields |
dtx.task.resource.line |
task_id, resource_id |
Named resource assignments on tasks |
dtx.task.resource.request |
task_id, resource_type, quantity |
Pool-based resource requests |
dtx.planning.scheduler |
— | CP-SAT solver engine (15-min grid, calendar-aware) |
Configuration
| System Parameter | Default | Description |
|---|---|---|
dtx_planning_task.overbudget_tolerance_pct |
10.0 | Percentage tolerance before a task is flagged as “Over Budget” |
dtx_planning_task.progress_reminder_threshold |
20 | Percentage-point drift between nominal and actual progress that triggers a review reminder |
FAQ
All linked planning slots are automatically removed. A chatter note documents how many slots and hours were released.
The solver plans as much as possible and shows a “Partial Scheduling” warning with details. Use “Schedule Task” again later or add more resources.
Yes. It uses each resource’s work calendar including public holidays and approved leaves.
Only the original requester, the resource’s manager, or a project manager can modify confirmed slots. Any change resets both confirmations.
Odoo 18’s default progress is auto-computed from timesheets vs. allocated hours. This addon replaces it with a manual field (0–100%) so the foreman can set the actual completion state. The productivity metrics then compare actual hours against what the progress implies.
Dtx Planning Task · Version 18.0.4.0.0
© 2026 Detalex GmbH
Förderfähige Maßnahme
Die Einführung und Anpassung von ERP-Systemen wie Odoo ist in Deutschland förderfähig. Unternehmen können von staatlichen Förderprogrammen profitieren – z. B. über das Programm „go-digital“ des BMWi, „Digital Jetzt“ oder länderspezifische Digitalisierungsförderungen. Wir unterstützen Sie gerne bei der Antragstellung und beraten Sie zu den Möglichkeiten für Ihr Unternehmen.
Interesse geweckt?
Lassen Sie sich unverbindlich beraten – wir zeigen Ihnen, wie dieses Modul in Ihre Prozesse passt.
Beratungsgespräch vereinbaren