📄 9. Planning & Capaciteit

9. Planning & Capaciteit

Overzicht

InFinance gebruikt de Odoo Planning module om medewerkers in te plannen op taken en projecten. De planning is bidirectioneel gesynchroniseerd met het taakbeheer: wijzigingen in taken worden automatisch doorvertaald naar planningslots en vice versa.

Planning Module

Gantt-weergave

De planning is beschikbaar via Planning > Planning en toont een Gantt-chart met:

  • Medewerkers op de Y-as (gegroepeerd per afdeling)
  • Tijdlijn op de X-as (dag/week/maand)
  • Planningslots als blokken met taaknaam, project en geplande uren

Pivot-weergave

Via het favoriete filter "Wie doet wat wanneer (pivot)" is een draaitabel beschikbaar die toont:

  • Rijen: Medewerker > Project
  • Kolommen: Maand
  • Waarden: Toegewezen uren

Hoe worden planningslots aangemaakt?

Automatisch vanuit taken

Planningslots worden automatisch aangemaakt wanneer een taak een verkooporder krijgt. Het proces:

  1. Een taak krijgt een sale_order_id (via onboarding of handmatige koppeling)
  2. Automated Action 4 detecteert de wijziging
  3. Server Action 1150 ("Planning slot aanmaken vanuit taak") maakt een planningslot aan met:
    • Dezelfde medewerker (op basis van user_ids van de taak)
    • De planning-rol gebaseerd op het product
    • Geplande datum en uren overgenomen van de taak
    • Koppeling via het veld x_task_id

Handmatig vanuit klantkaart

Via de knop "Planning genereren" op de klantkaart (Server Action 1252) kunnen voor alle taken van een klant in een keer planningslots worden aangemaakt.

Handmatig in de Planning module

Nieuwe slots kunnen ook direct in de Gantt-view worden aangemaakt door te klikken op een leeg tijdvak.

Bidirectionele Synchronisatie

Taak naar Slot (SA 1150)

Wanneer een taak wordt gewijzigd (datum, uren, medewerker), worden de wijzigingen doorvertaald naar het gekoppelde planningslot.

Slot naar Taak (SA 1337 + AA 48)

Wanneer een planningslot wordt gewijzigd in de Gantt-view, worden de wijzigingen teruggeschreven naar de taak:

  • Start- en einddatum worden gesynchroniseerd
  • Toegewezen uren worden bijgewerkt
  • Medewerker wordt toegevoegd als die nog niet op de taak staat

Cascade-preventie

Om oneindige lussen te voorkomen (taak wijzigt slot, slot wijzigt taak, etc.) wordt het skip_planning_sync context-mechanisme gebruikt:

  • Alle slot-operaties vanuit taak-automations worden uitgevoerd met with_context(skip_planning_sync=True)
  • De slot-naar-taak sync (SA 1337) checkt dit veld: als het True is, wordt de sync overgeslagen

Taak voltooid: slot opruimen

Wanneer een taak naar een "gevouwen" fase wordt verplaatst (bijv. Afronding, Geannuleerd), wordt het bijbehorende planningslot automatisch verwijderd door Server Action 1226 ("Voltooide taak: slot verwijderen").

Maandelijkse herijking

Elke maand draait Cron "Planning herijking" (SA 1154) die:

  • De werkelijk geschreven uren per taak vergelijkt met de geplande uren
  • Het restant herberekent en de slot-uren bijwerkt
  • Zo blijft de planning actueel met de realiteit

Agenda-synchronisatie

Dagelijks om 05:00 UTC draait Cron "Planning Agenda sync" (SA 1225) die:

  • Planningslots omzet naar agenda-afspraken (calendar.event)
  • Medewerkers zien hun planning dan in de Odoo-agenda en via de Microsoft Calendar sync ook in Outlook

Capaciteitsoverzicht

In de Planning module

De Gantt-view toont visueel de bezetting per medewerker. Overbezetting wordt rood gemarkeerd.

In het Dashboard

Via Dashboards > Diensten > Declarabiliteit is inzichtelijk hoeveel uren per medewerker en per project worden geschreven.

Technische referentie

ComponentIDFunctie
SA 1150v10Planning slot aanmaken vanuit taak
SA 1186v7Planning slots genereren vanuit taken (project-breed)
SA 1225v4Planning Agenda sync
SA 1226v4Voltooide taak: slot verwijderen
SA 1252v3Planning genereren (vanuit klantkaart)
SA 1337v2Bidirectionele sync: slot naar taak
SA 1154v2Maandelijkse herijking
AA 4-Trigger: sale_order_id/allocated_hours wijziging op taak
AA 48-Trigger: slot write (x_task_id != False)
x_task_idfield 36834Koppelveld op planning.slot naar project.task

Gerelateerde artikelen