By
Mendy Green
June 9, 2021
•
20 min read
Business
In any business where you’re not billing Time and Materials, the amount of time you spend on a project directly correlates to how profitable you are. In an MSP, this applies even more. MSP Businesses were designed years ahead of their time, bringing into practice concepts such as recurring revenue, outsourcing, efficient resources, and more; before people even realized the value. It’s the reason that today the MSP Businesses are blowing up with everyone you meet starting their own. Unfortunately, there’s a complex side to the framework of an MSP that is very often overlooked, especially by those just starting out.
Let’s discuss how the MSP business model is built. MSPs pitch to their prospective clients that they can provide the same level (or often times better) IT Services to their organization than they themselves can find if they go with someone internally. They ask for less money, and offer a bigger team with greater experience. These same MSPs then have to turn around and hire the same people that would have been hired directly, and not just one, but two or three or more depending on the size of the MSP.
MSPs have to pay the same salary with a smaller budget. How can these numbers possibly work?
This is where efficient resources come in; an MSP needs to stack multiple clients reusing the same resources for each client so that together all the clients combined pay enough money for the MSP to pay the technicians salary and make a profit. The income also needs to cover all base expenses of the MSP which includes infrastructure such as an RMM, PSA, Email, Phones, over-night team for emergencies and so on.
With an internal IT resource, that resource would be solely focused on the business they were working for and getting paid a full salary of say $52k/year, now the same resource at an MSP is getting paid $52k/year and needs to stay on top of not one company IT needs, but actually 3 or 4 (or more depending on the contract size of each). This kind of expectation is unreasonable and when maintained results in high-stress work environments and eventual burn out for the technician. The saying “trial by fire” is very applicable to the technicians who work at an MSP. They are under constant barrage of tickets and stress, jumping from company to company each ticket wildly different from the next. This makes them unusually skilled and also rapidly exposes them to a wide range of experience they may not have received working for just one company. A good MSP technician of the lowest tier can easily go head to head in ability (if not knowledge) to a mid-tier internal IT resource.
Now keep in mind that when MSPs started we were a new phenomenon. There was no standard to follow, no existing business to copy, except for the existing internal IT department within a Company. We didn’t know what kind of pay structure was fair to offer a Tier 1 or Tier 2 technician because there was no “average pay” metric. The only thing we did know is that we are building a business with a stress on smaller dollar amounts per client, and more total clients. This means what we paid our technicians had to be less too, or that we keep the MSP as lean as possible with only the amount of technicians truly needed. Following the 80/20 rule we determined that 80% of the time with our clients running smoothly we would be fine and only 20% of the time when some kind “perfect storm” would occur we would need to motivate our technicians to put in more effort (or what was generally called “figure something out”).
What’s being described is not a sustainable long term plan. Simon Sinek likes to stress that business is an Infinite Game and that those who are not playing by those rules are doomed to failure eventually. The only way to stay in the game is by having resources, and the will to keep playing. We’ve already established that MSPs do not have the same pockets as a normal business, not without drastically imposing upon “will”, our employees, making them work in stressful environments and constantly being battered by the next broken issue.
The fix for this is easy, and its an iteration of what we already started. Efficient use of resources. Efficiency can help us spend less time per ticket, less time per client, and improve our technicians stress in the environment. There are two side to the efficient use of resources, one of which we already started (Sharing resources among companies) but the other is often overlooked “Work load management”. If we can make our work load efficient we can easily improve upon all the issues we just brought up. Here are some ideas that can be used to help facilitate the efficient workload.
Efficient resources is way more than just sharing resources. Making your workload efficient is just as important. Remember how profitable you are directly correlates to how efficient you can be
Remember, in the MSP business time isn’t a loss of potential profit, its actual profit lost as your contracted rate is the same every month. Automation and bulk actions are extremely important as the less time you spend doing something the more your Per Hour amount goes up.
In Episode 7 of By the [run]Book, the team finishes off highlights from v2.196 before diving into the first v2.198 beta features. From multi-column ticket layouts and SQL-driven scheduled tickets to dynamic field visibility groups, AI exclusions, and multi-page ticket logging, this release is stacked with quality-of-life improvements and automation power-ups. A must-watch for MSPs looking to fine-tune service delivery and streamline configuration.
Watch Now: By the [run]Book: Episode 7
For easier tracking, check out haloreleases.remmy.dev to filter and search HaloPSA updates by ID, version, and keyword.
Lets you define how many columns appear in end-user ticket forms.
Filter CSP mappings to assign values by Azure group membership.
Schedule tickets dynamically based on SQL queries for assets.
Prevent certain appointment types from including client attendees.
Ticket areas can now display custom images in the header.
Improved reporting with stacked bar splits.
Projects tasks can now follow sequence numbers.
Quote settings and approvals are now managed separately.
Show product list prices in the target quote currency.
Billing configuration split into clearer sections.
HaloPSA integration now supports remote session invites.
Introduces improved line total calculations.
Control the order of CRM note custom fields.
New grouping logic for dynamic field conditions.
Exclude sensitive customers from Halo’s built-in AI.
Control which asset columns users see when logging tickets.
Pull products straight from Ingram Micro.
More control over “Favourite Services” in the portal.
Ticket Kanban boards improved.
Granular permission for pushing config changes.
Improved grouping for user access restrictions.
Settings now stored in a new format.
Mailbox sender restrictions expanded.
Single Select IDs can now use non-integer values.
Cloned tickets can now inherit milestones.
Credits can now be applied as payments.
Contracts can now be swapped in the review list.
Enhancements for AWS usage billing.
Split ticket forms into multiple pages.
Bulk toggle users between service and non-service.
Item groups now support a default sequence.
Episode 6 breaks down HaloPSA v2.196 (stable). We cover improvements to billing recalculation and recurring invoice scheduling, on-prem integration security, ticket UI/UX (action groups, field group behavior), role-level controls, chat on existing tickets, and a big boost to project billing performance in Ready for Invoicing. Ideal for MSPs tightening finance, project, and automation workflows in Halo.
Watch Now: By the [run]Book: Episode 6
For easier tracking, check out haloreleases.remmy.dev to filter and search HaloPSA updates by ID, version, and keyword.
Choose a consistent default font for editors in tickets and actions.
A banner warns when integrations allow unauthenticated webhooks.
Recalculate billing for a selected customer over a defined window.
Control when a billing rule applies.
Declutter your recurring invoice view.
Filter or route tickets by the mailbox they came from.
Security and reliability enhancements for on-prem connections.
Make start dates automatic for certain ticket types.
Keep grouped fields always visible.
Automate around CRM note activity.
Runbooks can process text-only API responses.
Safer, clearer Excel imports.
Bill on an exact day each month.
Lock milestone structures from templates.
Let end users chat directly on an existing ticket.
Reduce confusion on sales order lines.
Granular “log on behalf” controls.
Group actions into dropdown menus on tickets.
A big boost to project billing performance.
More events to hook automations into.
For more insights, see our guide on choosing the right ticket status colors in HaloPSA
Also, check out our partner Renada’s video: From Feedback to Forest: Automating Tree Planting in HaloPSA
In Episode 5 of By the [run]Book, the crew digs into four HaloPSA releases in one session—covering versions 2.192 through 2.195. From new ways to share secure links and manage billable time to asset relationship mapping and invoice automation, this episode is packed with practical updates. If you’re an MSP looking to tighten processes, improve reporting, or explore Halo’s evolving automation and AI features, this one is worth the watch.
Watch Now: By the [run]Book: Episode 5
Report Guide Field | v2.192 #783026 | 3:19
Halo added a Report Guide field in the report designer for better context.
Send secrets safely with one-time secure links.
A new Billable Time Recorded column is available in ticket profiles.
<<halo_url>>
Variable | v2.192 #762123 | 9:59A new runbook variable for halo_url has been added.
Control which quotes appear on tickets/opportunities.
A safer way to deactivate SLAs.
Specify invoice references when creating bills from POs.
Set whether closure timers run on SLA working hours or calendar hours.
New risk scoring tool for change management.
A default configuration for prorata handling in recurring invoices.
Expanded asset management capabilities.
A mysterious patch button—covered lightheartedly in the episode.
Custom buttons can now be restricted to asset type level.
Unpaid invoice tickets now include the invoice PDF automatically.
Choose recipients for automatic emails on pending-closure tickets.
New permission level for user management.
Sales order lines must now be marked complete manually (optional).
Runbook steps with SQL can now be tested directly.
AI field suggestions now appear inline as context hints.
Added access controls to the Entra ID integration.
Enhanced SQL imports for custom tables.