Last updated November 6, 2026
Resource planning for a service team means comparing each person's available hours with the hours already promised to projects, week by week. Available minus booked shows who is free, and a negative number shows who is overbooked. For a small team, a spreadsheet grid updated weekly does the job.
This is a method you run yourself. ERPFlow doesn't plan resources, and the last section says what it does show.
How do you work out a person's available hours?
A person's available hours are their contract hours, minus time off and public holidays, minus a realistic allowance for internal work. A designer on 37.5 hours, with a public holiday in the week and 5 hours of internal meetings and admin, has 25 hours to plan. Planning against 37.5 is how a schedule falls apart by Wednesday.
The allowance is the number people guess. Measure it instead: ask the team to note their internal time for a month, then use that. If you keep a time off tracker, it gives you the time off column directly.
How do you see who is free and who is overbooked?
See who is free and who is overbooked by putting one row per person and one column per project in a weekly grid, then subtracting booked hours from available hours. Here's an invented week at a four-person studio. "Left" is available minus booked.
| Person | Contract | Time off | Internal | Available | Alder | Birch | Cedar | Booked | Left |
|---|---|---|---|---|---|---|---|---|---|
| Lead designer | 37.5 | 0 | 7.5 | 30.0 | 18 | 12 | 6 | 36 | −6.0 |
| Developer | 37.5 | 15 | 5.0 | 17.5 | 10 | 0 | 8 | 18 | −0.5 |
| Part-time designer | 30.0 | 0 | 5.0 | 25.0 | 0 | 14 | 4 | 18 | +7.0 |
| Junior developer | 37.5 | 0 | 5.0 | 32.5 | 6 | 0 | 8 | 14 | +18.5 |
| Team | 142.5 | 15 | 22.5 | 105.0 | 34 | 26 | 26 | 86 | +19.0 |
Read the rows and ignore the bottom right. The team total says 19 hours are free, which suggests all is well. In fact the lead designer is 6 hours over, and most of the free time belongs to a junior developer who can't pick up design work.
The fix here is visible in the grid: move 6 design hours to the part-time designer, who then has 1 hour left. The developer's half hour over isn't worth a meeting.
What do you do when someone is overbooked?
When someone is overbooked, try the options in order of what they cost you, cheapest first.
| Option | Use it when | What it costs |
|---|---|---|
| Leave it | Over by an hour or two, for one week | Nothing. Check again next week |
| Move it to someone with the same skill | A colleague has free hours | A handover, and possibly some margin |
| Move it to a later week | The date is internal or soft | Nothing, if the client isn't affected |
| Ask the client to move the date | The date is the client's and nobody can cover | Some goodwill, less the earlier you ask |
| Bring in a contractor | Over for several weeks | The gap between their rate and your charge |
| Decline or reprice new work | Over for months | Revenue, in exchange for keeping existing promises |
There's a seventh option, and it's what happens when nobody decides: the person works late and the internal allowance quietly goes to zero. That gets you through a week. Do it for a quarter and the training, the admin and the people themselves start to suffer.
If you need to move a client's date, ask early and give them a choice:
We're scheduling the next two weeks, and the design review planned for the 14th clashes with another deadline. We can deliver it on the 18th at no change in cost, or keep the 14th by adding a second designer at the agreed rate. Which would you prefer?
Before moving work to a cheaper person, check what it does to the job's margin. The answer differs between hourly and fixed-fee work, as the guide to project profitability by person shows.
How do you plan for work that isn't confirmed yet?
Plan unconfirmed work by keeping it in a separate row and testing the plan with the job in and with it out, rather than booking a percentage of it. A 50% chance of a 40-hour job doesn't mean 20 hours next week. It means either nothing or 40 hours, and a plan built on 20 is wrong in both cases.
Using the week above, the team has 19 hours free. If that 40-hour job lands, you're 21 hours short, so decide now what you'd do: which work moves, or which contractor you'd call. If it doesn't land, nothing changes. Once the client signs, it moves into the booked columns.
How far ahead should a service team plan?
A small service team should plan about two weeks in detail, project by project, and six to eight weeks in rough totals. Beyond that, the plan mostly reflects what you hope to sell. The guide to the capacity planning template gives the layout for looking several weeks ahead.
Once a month, compare what you booked with the hours people really spent. If jobs keep taking 20% longer than planned, your grid is understating booked hours by that much, so people are less free than it shows, and the fix belongs in your estimates. Budget against actual hours shows how to make that comparison on a fixed-fee job, and utilisation gives you the look back across the whole team.
Checking who's away and who's booked in ERPFlow
ERPFlow doesn't do resource planning. It has no capacity or utilisation reports, no rota and no way to book a person's hours onto a project, so the grid and its sums stay in your spreadsheet.
What ERPFlow does show is useful input for the grid:
- One person's calendar: the Calendar tab on a staff record shows bookable hours, bookings, time off and public holidays, by week or by month. Bookable hours and bookings come from booking pages, so someone who isn't on one has no bookable hours to show. Each role sees only what it's allowed to.
- Who's away: Vacations has a team calendar, a month grid with one row per staff member, absences drawn as bars and public holidays hatched. An approved absence also takes that person out of the open slots on a configurable booking page.
- What's due: project cards show who's assigned and when each is due, and turn amber and then red as a deadline nears. Nothing adds up how many hours that commits anyone to.