Capacity Planning... Hitting a Wall

  • 26 April 2022
  • 6 replies

Userlevel 1

Let me start by saying that I love Karbon… I’m constantly defending it while having discussions with my team, but with the immense growth we’ve experienced during the past couple years it’s getting more and more difficult to plan adequately. 


At the moment we’re very “project based” with our work, that means tax returns, monthly bookkeeping, attest, one-off projects, monthly CFO work is all contained within its own project, from start to finish. The issue we’re running into now, is that multiple team members may have a function within one project. Those functions may overlap or be staggered in time. As an example, a tax return project may have time inputs of: scanning - 30 minutes, preparing - 1 hour, reviewing - 30 minutes, assembling - 15 minutes, etc.. Now we could budget based on roles at the time we create the project, but that only leaves us with a view of the overall time necessary by the statutory deadline, it doesn’t help while trying to capacity plan on a daily, or weekly basis.


Currently, it seems that the “my week” feature only allows planning work on a week by week basis and not necessarily specify which day. We’re trying to get away from having to constantly re-assign and change the due dates on the project itself. 


One of our ideas was to be able to assign time budgets to the tasks or even the sections within a project, which would be tied to the task, or section, due date. Effectively allowing us to build a team member’s week from the project itself, and in this scenario the capacity planning would be linked to the project, removing the need to play with “my week”. Or maybe just build a giant Gantt chart. We don’t know if that’s in the Karbon pipeline or not. 


I would love to hear some suggestions, ideas, or case studies as to how other firms are managing to capacity plan for their employees within the current Karbon environment.



6 replies

Userlevel 7
Badge +10

@blueprintbrian Great question and after a couple of false starts we have settled on assigning the full Fixed Fee to the main monthly work order, in our case we have one labeled as Bookkeeping - mmm/yyyy.


To allocate the budget/capacity across all of the work orders we look at charge out rates, cycle of the work and forecast the hours needed be each role to get that part of the engagement done - that is the Budget. 

We then add this all back up for the length of the engagement, typically a year and ensure that the Fixed Fee * 12 months covers all 12 monthly work orders, plus the 4 quarterly ones, and the 26 Bi-weekly ones and 1 Year End Review and what ever other work orders are set up for that client.  Every work order has a budget but only one per month has a Fixed Fee, in order to ensure we are charging enough enough each month we have to look at the engagement in it’s entirety.


This method allows us to give discounts if needed but still set capacity for the team to do the work. For example we may give a new client 1 month free but we still have to set a budget for that work to get done by the team. There is a distinct separation between revenue/pricing and budget/capacity.  This also keeps things simple when we have to reset work for any reason or the pricing changes - there is only one place we need to adjust the fee.


I hope that makes sense, I am always happy to add more details if you have follow up questions.



Userlevel 4
Badge +6

@Victoria Peters How do you manage setting up the budget when you have multiple work items but a fixed fee with clients that isn’t broken out by work type? 

For example, let’s say you have a fixed fee with a client doing bookkeeping and payroll but you didn’t break out the pricing. And then you have multiple bookkeeping work items for various tasks and a payroll work item based on the clients pay frequency. 

How would you break out your budget in Karbon to align to this? 

Userlevel 7
Badge +19

Wow @max that is next level.  I especially love the the functionality of the WIP inventory, when work is held up for any reason that makes a lot of sense and the way I read it there can be capacity planning around historical or stalled items.  This is a major pain point in my firm.  Where I am not sure I could make it work is organizing the amount of time on each work item, we have such a large variety of engagements.  As usual though, you have got me thinking down new path.


What I like about this approach, and we are still experimenting with it, is that you can capacity plan without filling out everyone’s budgets. However, we don’t approach all work like this, just the project-type work like IRS-filed returns. There are a few prerequisites:

  • Your process needs to be stable. All work items must fall within two or three standard deviations from the mean. If you don’t have this, stability, you can break your work into groups like, Long 1040 and Short 1040, and work them as a group so that the process is stable. You can also dig into the items that are causing some work items to go much longer than others and experiment with ways to reduce and remove those situations.
  • You also need to have a way to keep track of progress in real-time so that if a work item gets stuck and is taking longer than needed, the situation can be addressed before the whole work cell runs out of work.

Our weekly and monthly recurring tasks are handled a little differently. We have them setup on a shared calendar with a timeslot assigned out to the person who should be doing the work. This way, the manager can pop into a work item’s timeslot and see who, if anyone, is working on the item.

Userlevel 7
Badge +10

Wow @max that is next level.  I especially love the the functionality of the WIP inventory, when work is held up for any reason that makes a lot of sense and the way I read it there can be capacity planning around historical or stalled items.  This is a major pain point in my firm.  Where I am not sure I could make it work is organizing the amount of time on each work item, we have such a large variety of engagements.  As usual though, you have got me thinking down new path.

We keep it simple very close to what @blueprintbrian has set up.  We do not use time tracking but set up the budgets and review what is still open on a weekly and monthly basis, it is not ideal but we know Karbon is working on capacity planning solutions so we will continue with this or a variation of this work around.  Having the budget set up correctly is key.

A couple of other things that I think are crucial to getting as clear a picture as possible

  • using automators to change the assignee and task due dates as each section in a work order is complete
  • having multiple templates instead of one template with a large number of sections.  
    • we use Ignition so one service item will push multiple templates to Karbon
    • Monthly bookkeeping may have any or all of the following templates that will be set up with appropriate assignees, dates and repeating schedules to keep the work moving
      • Weekly bookkeeping (Hubdoc, Bank Feeds….)
      • Bi-weekly Payroll
      • AP Processing
      • Month End bookkeeping
      • Reporting to client
      • Advisory Call
    • if the work orders are contingent upon each other the first task is to confirm all necessary tasks are complete.

@Kevin Gonzalez If you haven’t already done it, I think a feature request to have the budget linked directly to tasks is an amazing idea.  I would be upvoting that (if I haven’t already - there are so many great ideas).



Userlevel 4
Badge +6

You can build a view in the Work section that shows a light capacity planner. You need to have a few things set up first though:

  1. Have budgets set on every work item for every role with a person assigned to every role and tasks assigned to every person
  2. Set up your repeating work items to have the Work Creation fields be (I would guess) created at least 3 months before they’re due

This is a very light option but it would show the budget across a time period for you to measure capacity. 

You would then set up your view with the following:

  1. All statues except complete
  2. What team members you want included
  3. The due date for the period you’re viewing (i.e., this month, next month, this quarter)
  4. Then set your columns to Assignee

It could work in theory and if you’re using the time tracking then you’ll see budget vs actual for this as well. 

I have iet set up except that I haven’t done the first step of setting budgets on everything.

Userlevel 7
Badge +19

Hi @Kevin Gonzalez! Welcome to the Karbon Community. 😀

We are a small but growing firm, so my experience may or may not be helpful. We are experimenting with something that may be a little too far outside the box for your team to consider, but I’d love to hear your feedback.

We have done a couple things as groundwork:

  • Connected a spreadsheet to the Karbon API for actual time analysis
  • Calculated the mean time and standard deviation for work roles/staff members for each work item
  • Built a takt time model for each work item

Using this information, we have started experimenting with developing lean work cells for work types. Since we know the mean time and standard deviation of each person associated with the work item, we can predict with reasonable accuracy how much time it will take to complete several work items when they are grouped together.

We try to design the work so that each role takes about the same amount of time to complete as the others. In the example below, you can see that it takes our preparers about 100 minutes and our reviewers about 50 minutes. Therefore, in this lean cell, we have two preparers working with one reviewer to complete the group of work items.

We get each role on a video call together and they work a group of work items together live, passing the work from one role to the next in real time:

The WIP Inventory between each step is used to make sure that we accommodate the standard deviation and keep everyone working steadily even though there are variations in how long it takes to complete role-specific steps in the work items. A higher standard deviation for a role calls for a larger buffer of work to keep between the steps to make sure things continue to run smoothly.

Using this model, we know that we can complete 1 work item every 50 minutes if we have 1 admin, 2 preparers, and 1 reviewer working at the same time. If we have 10 work items to complete, we need 500 minutes of everyone’s time.

Does that make sense at all?