Octibiz
Demo

Durchsucht Website und Dokumentation gemeinsam. Enter zeigt alle Treffer, Esc schließt.

Resource planning

Resource planning screen in Octibiz

Overview

Planning answers three questions: who works on what? (board), how full are we? (capacity and utilisation) and where is a bottleneck coming? (forecast).

Capacity is not a plain calculation from weekly hours. Absences and a reserve share are taken into account — without a reserve you plan at 100 %, and every disturbance becomes a delay.

Core tasks

Plan on the board. Below the utilisation matrix the allocations appear as bars per person. Drag a bar with the mouse into another period; its length stays the same in working days of the project brand — if a public holiday of the brand falls into it, the allocation ends one day later. The handle at the edge of the bar changes the length; the planned hours grow or shrink along (the hours per working day stay the same). Without a mouse, pick the allocation in the field above the bars and move it with the buttons or the arrow keys by one working day at a time; with Shift held, the arrow keys change the length. Overallocation is made visible rather than prevented — sometimes it is the deliberate decision.

Create and change an allocation. A click on an empty cell or New allocation opens the dialog. As soon as person and period are chosen, it shows the utilisation before and after per week — in the colours of the configured thresholds. If the period extends beyond the project term, a warning appears; it is saved anyway, because preparation sometimes starts before the official start.

Pre-fill from the project. Pre-fill from project creates a tentative allocation over the project term for every project member: with a planning hint (e.g. 50 %) that share of the weekly hours times the term in weeks, otherwise the project's budget hours divided by the number of members. Anyone already allocated in the period gets no second suggestion. The suggestions are ordinary allocations — change hours, period and confidence as usual.

Plan with templates. For recurring projects, describe once under Planning board → Allocation templates who needs how much and when — e.g. "Shopware setup: 30 h development over two weeks, 8 h PM from week 2". Each line has a role, hours, an offset (from which week) and a duration in weeks. Plan from template (on the board or in the template list) asks for project, start and confidence and for a person per line; lines without a person are skipped. Allocations start on the Monday of the start week plus offset and end on the Friday of the last week; without a start, the project start applies. A template without a brand is available to all brands — only someone allowed to manage allocations in all brands can create and change it.

Read utilisation. The capacity view shows target and actual per person and period; the breakdown says what a utilisation consists of. The Team filter narrows the view to the employees of one team — the team set on the employee counts. A role limited to "own team only" sees, on the planning board, checklist and timeline, just the employees of its own teams and those without a team.

Utilisation is a grid of person × period with a fixed first column and header row; each cell shows the percentage plus planned and available hours, and its colour follows the configured thresholds.

See bottlenecks early. The forecast weighs known demand against capacity and shows when it gets tight. Besides Total, Per brand and Per employee there are the levels Per team (team set on the employee) and Per skill: there the capacity of all employees with that skill counts against their allocations plus the still open skill demands — so you see, for example, "front-end in week 34 planned at 130 %". With the filters Team, Skill and Brand the forecast shows the group's row and its employees. When weekly hours, project members or project dates change, the system recalculates capacity and forecast immediately in the background — not only at night. The early warning to the manager is still sent by the daily run only, so a change does not trigger the same warning again.

The forecast chart stacks planned and pipeline as bars per period and draws available as a line on top; the tooltip names the hours per series and the average utilisation.

Pipeline in the forecast. Brand and total rows contain the expected work from open deals (value × probability ÷ hourly rate, spread over four weeks from the expected close). Two factors weight it, both between 0.5 and 1.5 and neutral (1.0) without won deals: the trend — if more was won in the last three months than on average over the last twelve, the pipeline counts more — and the season — how much was won in this calendar month over the last two years, smoothed with the neighbouring months. The derivation appears below the pipeline figure, e.g. "Base 20.0 h × trend 1.15 × season 0.90".

Try out scenarios. A scenario is planning on trial: you move things without changing the live state, and apply only when it fits. With Hire a person / bring in a freelancer you add a hypothetical person with weekly hours and a period to the scenario. It counts as capacity in the comparison (weekly hours per working day, minus the default reserve share), and scenario rows can be assigned to it instead of an employee. The totals at the end of the comparison show utilisation with and without that person. Applying creates no person — the scenario reports who has to be hired or contracted.

A click on the name opens the scenario as a page of its own — with its own address that can be shared and reloaded. It holds people, allocations, the comparison with live planning as well as Apply and Discard.

Staff by skills. Skill matching suggests people who cover the requirement — ranked by level, then free capacity in the period, then history: who has already booked hours on the project, who was already allocated there, who has worked for the same customer. The history appears below the name. Reserve allocates the chosen person directly: an allocation is created in the demand's project — pre-filled with the demand's period and required hours, both editable — and the demand counts as covered. Anyone not allowed to manage allocations (or who switches the toggle off) only marks the demand as covered. If a demand is still open 14 days before its start, the project lead gets a notice — with matching employees "staff internally", without "check freelancers". If it is still open 3 days before the start, a final reminder follows; there are never more than these two per demand and start date. If the start is moved, reminders start over for the new start date. The bundled automation planning.skill_demand_unmet_remind (shown as Unbesetzter Skill-Bedarf: Projektleitung erinnern under Automations) does this — active by default, can be switched off.

See the demand on the project. On a project, the Resources tab shows the open skill demands, the planned versus booked hours per person and the totals including budget hours. People who booked time without being allocated are marked there.

Analyse the skill gap. Under Planning board → Skill Gap the skills in demand from the open skill demands stand next to what the workforce can do — per skill the number of demands, the required hours and the highest required level. Missing means nobody reaches the level; thin means fewer qualified people than demands. The Training column lists employees who already have the skill but below the required level — the obvious candidates for training. Expired certificates and people who have left do not count, freelancers do. Include covered demands also counts demands that are already staffed (total demand instead of only the open gaps). The table can be exported as CSV; via the API the analysis is GET /api/v1/planning/skill-gaps.

Plan vs. actual at month end. After each month end, the daily run captures per person what was planned, available and booked. The capacity view shows it under Plan vs. actual at month end with a month picker, the dashboard as the Plan vs. actual (month end) tile with the largest deviations. Later bookings do not change the captured state — it is the statement at period end. Via the API: GET /api/v1/planning/utilization-snapshots.

Fields in detail

FieldRequiredValues / formatWhat it does
Employee employeeIdyesan employeeWho is planned in.
Project projectIdyesan existing projectWhat for.
Period from / to periodStart, periodEndyesdateOver what period the plan runs.
Planned hours plannedHoursyes0 or moreHow much work is foreseen. Set against available time it yields utilisation — minus absences and public holidays, because planning goes against real availability, not against the calendar.
Distribution distributionnoeven or weeklyHow the hours spread across the period.
Confidence confidencenoplanned, committed, tentativeHow firm the allocation is. This is the most important distinction on the mask: tentative for a quote not yet accepted, committed for work someone is relying on. Without it a plan looks full that is half hope.
Role roleHintnotextIn what function the person is planned.
Task title taskTitlenotext, max. 1000 charactersWhat is to be worked on. A task can arise from it.
Note notenotextA note on the allocation or on the reserve override.
Shift by working days shiftWorkingDaysnowhole number (± working days)Keyboard route on the board: moves the allocation by that many working days of the project brand; the length stays.
Change end by working days resizeWorkingDaysnowhole number (± working days)Keyboard route: lengthens or shortens the end, at least one working day remains; the hours grow along.
Keep hours keepHoursnoyes/noWhen changing the length, do NOT recalculate the hours — only the density changes.
Existing allocation allocationUlidnoidentifierOnly for the preview in the dialog: when editing, the existing allocation counts in "before" only.
Reserve share (default) reserveDefaultPctyes0–100 %Deducted from the available time unless the person or role has its own value (default 10 %).
Warning above thresholdWarnPctyes1–1000 %From here a week counts as overbooked — yellow in the matrix, checklist entry, rescheduling suggestions (default 100 %).
Critical above thresholdCriticalPctyes1–1000 %, ≥ warningFrom here the overload is critical — red, early warning to the manager (default 120 %).
Underload below thresholdUnderPctyes0–1000 %, ≤ warningBelow this a week counts as underloaded (default 70 %).
Weight of tentative allocations tentativeFactorPctyes0–100 %How much tentative counts in the forecast — 50 % means half (default).
Role roleIdone of person/roleroleReserve override for all employees with this role, in every brand. Precedence: person before role before default; with several roles having an override, the highest share applies.
Reserve share reservePctyes0–100 %Deviating reserve share of the person or role.
Template name nameyestext, max. 255 charactersName of the allocation template, e.g. "Shopware setup".
Description descriptionnotext, max. 1000 charactersWhat the template is meant for.
Brand brandIdnobrand or emptyEmpty = template for all brands (only with the permission for all brands); otherwise visible in that brand only.
Lines linesyes1–50 linesPer line role (max. 50 characters), hours, offset in weeks from the start (0 = first week) and duration in weeks. When changing, the list replaces all lines.
Start startDatenodateWhen applying: planning starts in this week (Monday); empty = project start.
Assignment assignmentsyesline → employeeWhen applying: which person takes which line; lines without a person are skipped.

Settings & permissions

  • Own allocation/utilisation: resources.allocation.view_own · Team: resources.allocation.view_team
  • Manage allocations: resources.allocation.manage — applies only to your own projects (project lead

or project team) and to employees of your own team. Anyone who is to plan all projects of the brand additionally needs resources.allocation.manage_all. The project management role holds both permissions and therefore plans all projects of the brand; a custom role with only resources.allocation.manage stays limited to its own projects, and an attempt for someone else's project is then rejected with a message.

  • View capacity: resources.capacity.view · Reserve share: resources.capacity.manage
  • Planning settings (Settings → Resource planning: default reserve, thresholds, weight of tentative

allocations) and reserve per role apply to all brands — changing them requires resources.capacity.manage across all brands. The values take effect immediately in matrix, board, checklist, rescheduling and forecast.

  • Allocate directly from skill matching: resources.skill.match and resources.allocation.manage for the

project · Demand view on the project: resources.capacity.view

  • Forecast: resources.forecast.view · Skill matching and skill gap: resources.skill.match
  • Scenarios: resources.scenario.manage
  • Create, change and apply allocation templates: resources.allocation.manage (applying checks the same rules as

creating an allocation: project brand, employees in your brands, own projects without …manage_all)

  • Plan vs. actual at month end: resources.capacity.view

Module flag: module.resources.

FAQ & troubleshooting

Someone appears overloaded although little is planned. Check absences and the reserve share — both reduce available capacity.

A scenario has no effect. Scenarios take effect only after being applied. Until then they are a thought experiment.

The forecast shows no bottleneck although it feels otherwise. It calculates with RECORDED demand. What is not planned does not appear there.

planning.planning · Available from version 0.5.6