Video

Halo Implementation series – Labour Billing – Video 14

Part of the HaloPSA implementation series with Morgan Aspinall, covering labour billing and how it ties into agreements.

Show transcript

everyone and welcome to another installment in our halo implementation series with me again today I have my favorite person on Halo um Mr Halo himself um as I'm sure you all know who he is by now he is the legendary Legend of all Legends at Mr Morgan espinal so hey Morgan how you doing and thanks for joining me yeah how's it going you're not getting sick of this yet I'm not I'm not all right we keep going and only because every time I say that I see the smile on your face opens up my day and and I know how much you love it mate so I'm going to keep stroking how are you going until uh until there's no more ego left to strike yeah yeah yeah yeah yeah love it awesome um so yeah cool today we're going to talk about Labor billing um you know what it's about how to um how to use it how to tie it into agreements you know in the in the previous video we talked about setting up agreements and contracts um so go and watch this video if you haven't already watched it um and then in this video we'll talk specifically around how to build for labor as part of a contract and also you know how to build rate outside of a contract you know stuff that isn't included and all of that kind of stuff yeah so a slight correction on that um I we'll see how far we can get uh but I I'm not sure if we will talk about how to build labor as part of a contract just yet uh the reason being is I like to follow a fairly standard procedure when it comes to teaching people about billing in Halo so uh I like to start off as we have done with the creation of an invoice then the creation of a recurring invoice then the creation of an agreement because those are all in a very similar domain namely invoice generation for you know hardware and for licenses for example I then and this is what I'm going to say now I then like to tell people to completely forget everything I just said about billing and effectively start from scratch but start from scratch from the labor billing perspective so in this session we'll look at the concept of charge types where they are amended how we can change them per customer how we actually Mark labor in Halo as billable and some of the configuration options around there and then I like to finally tie the two together by looking at our billing templates and our billing plan combinations in Halo so um we we do all of the recurring stuff which we've done in the last two or three sessions uh we're now going to look at something that initially can be treated as completely separate from our agreements then after we've done that and we've got a good understanding of the concept of charge rates and billable time then we will come back and we'll look at billing plan combinations and how to tie the two together um so yeah so as I mentioned forget everything that you've seen in the last couple of sessions with regards to billing we're going to start completely from scratch take a new angle and look at labor building so if you've just watched all the previous videos I'm sorry for wasting your time again yeah um but yeah um and it's good it's good to kind of comment it from um you know from this different angle that you're going to talk about so yeah yeah yeah it will just help simplify things conceptually I think um cool so before we even look at billing for Labor uh let's think about Labor it and let's take it all the way back to square one so we're gonna go into our ticket and the first point that I like to uh note here is the first point that I like to note here is should just get an understanding of time tracking in general in Halo so time tracking in Halo is a bottom-up process and what I mean by that is the time recorded on a ticket is a collection of all of the individual time entries that have been added to the ticket via our actions but the minute we have zero minutes recorded on this ticket if I go to add a private note we'll see we have our time taken field here if I just override what we have in the timer in the top right and I just say I'm just going to put five minutes on here we will now see five minutes is added to the time recorded field and then we've got our five minutes added to that individual action so time is added via our actions and the time recorded on a ticket is a summation of all of those individual time entries cool so uh we've put five minutes on here the next question and to start being sorry to start bringing billing into the conversation is how do we make this time on this action billable or how do we make time on actions billable and we do that by applying a charge type to the particular action so if I go to my private note I do the same things put five minutes on that we'll see that we have this charge flight field against the action which is currently sets to no charge but if I hit the drop down here and I've changed this to remote support we'll notice a couple of things have just happened so firstly uh against our time taken in Brackets we see remote support so this is the first uh indication of this time entry potentially being billable and if we add a charge type to our action we will see that charge type returned on the action next to the time taken so of course the action below I didn't set a charge type it was no charge so we see no charge type but here because I set remote support that is added next to our time taken field and then further to that we can actually see directly below that this time those five minutes have been billed now as we as we continue to sort of move through the billing and start taking a look at billing plan combinations uh and you tie this back to our agreement and our prepaid time we'll see that this it doesn't always say build hours here if the time on this uh ticket or you know the time added on this action has gone towards uh Block hours we will see this as prepay time instead just worth bearing in mind and then finally we have the low art spine recorded field a summation of all of the billable time that has been added onto our ticket um so just before we hop off the the ticket screen to other places that you can go to get an understanding of the billing details against this ticket first and foremost for each action if we view slash edit that action we'll see we have a Time tracking tab at the top and then in our time tracking tab we have all of our billing details so you know has this time entry is this time entry billable if it is billable is it in our ready for invoicing section uh has it been invoiced if so what's the invoice number uh what are the build hours what are the agreement hours and so on so this can give you an overview of all of the relevant billing details for this particular action and then we also have this billing tab at the top of the ticket which again is going to give us a high level overview of all of the billable time across all of our different charge types that have been added to this ticket so uh let's now take a look at these charge types in a little bit more detail so now hit the drop down here we see that I had no charge remote support and on-site support so where do we go to configure these well we're going to configuration believe it or not and in here we go into billing and then we go into charge types so this is where we can add change remove the list of charge types that we have at our disposal and for each particular charge type we've got a few options to to consider here so firstly we've got our details tab again high level information against this particular charge type the name that you'll see in the drop down whether or not we're using this for labor or for travel we'll come back to that don't worry about that just yet our linked item so if when we eventually sync the invoices for remote support over to our accounts package uh how it how does QuickBooks or zero stage know what line item we're actually referring to so that's based on this link to item option and again we can also set our product ID our nominal code for our labor items and then below here we have our short and long invoice line descriptions where we'll see that we can actually use our ticket dollar variables in here so of course when the invoice is generated for the time on ticket one two three four you'll probably want to return some information regarding ticket one two three four you know maybe uh the the notes that the agent added to resolve the ticket the amount of time that they spent on that ticket the ticket ID the summary that kind of stuff so we can actually return our ticket level information back onto the invoice based on our invoice line description for our respective charge types yeah and then the rate tab is where we're actually specifying the billing information against this charge site what's the hourly rate uh what's our minimum minutes Etc so we'll see in here we have our hourly rate and I'm just going to cover the core options in here we'll come back to the more advanced options when we have a better understanding of how the whole engine works but the fundamental fields are rate are minimum and increment of minutes so I might want my remote support to be a minimum of 30 minutes and I might want my remote support to move up in 15-minute importance thereafter are out of hours multiplier so I might charge time and a half for uh you know remote support outside of my business at my business hours which is based on my SLA but you know and then here we've got our contract multiplier sorry our holiday multiplier as well and our uh contract multiplier we'll come back to this when we have a look at our billing plans so yeah for now we'll leave that as it is cool so I've made a couple of adjustments there namely I adjusted my minimum minutes and my increment of minutes so if I go back to my ticket now this one and I uh add a private note again I'll put five minutes on here for remote support we'll see now uh again but my five minutes got my remote support but below my build hours has been marked as 30 instead of five this is because I set my minimum minutes for remote support to be 30 minutes and this is also a good opportunity to highlight the fact that the action below has not automatically updated so it's worth bearing in mind that if we're amending billing information charge rates you know uh billing plans themselves whether or not time is covered under an agreement or not it's not you can't assume that all of the information already added to tickets will be updated automatically to really make sure that you're using the latest billing configuration as per your setup you will want to recalculate building after making any of those changes there's a couple of places we can do that so we can recalculate billing on an action by action basis so if I come in here I'll see a recalculate billing option at the top where if I click that we'll see my build hours has gone from five minutes to 30 minutes we also have the option at ticket level to recalculate billing for all actions on a ticket that's at the bottom of the three dots in the top right or we have the option to bulk recalculate billing for multiple tickets by selecting the tickets that we want to recalculate billing for and again in the edit section we have our recalculate billing option just there cool so let's create an invoice for this let's see how it looks so we've got one hour of billable time this is to hit so our labor is invoiced via the ready for invoicing section so if we go to our invoices module and we go to our ready for invoicing section we'll see in here we have our labor section here and this is where all of that billable time will land so interestingly ticket 2214 is not present in our labor section and the reason for that is because our ticket is not yet closed so if I go through the motions and this is an interesting thing while you're talking about that so for anyone coming in from um you know from all the tasks especially um that that is looking to switch to Halo that's one thing that's very different you know with with all the tasks by default a ticket can be billed at any stage so you know you can you can build when it's in progress when it's new um when it's complete and the idea is that you can then kind of Bill as you go right you might have done some work once some money in get the money in but but the ticket is still open and carry on um and you can set that setting in in Halo so that you can market so that it can do the same thing but by default out of the box the ticket has to be completed before it gets billed before that labor gets billed with Maitland yeah yeah absolutely so we'll see that after I close that ticket off at that time entry that ticket sorry has now landed in the labor section if I ready for invoicing yeah um I I would do it this way I don't like the idea of billing for an incident before the incident has been marked as resolved but Chris as you mentioned there is the option to invoice or there is the option to Mark time on Open tickets as being ready to be invoiced and that option is in configuration billing General under our charge type settings where here we have this process actions on Open tickets so again for those people coming from other PSA tools that are used to working in that way namely I used to invoice in four time on Open tickets and don't want to lose that functionality all you have to do is come into the general settings for billing and Halo and check this box here and I agree with you I mean I think you know it's it's always better to build tickets when they complete but there is there is you know certain use cases where you might want to um you know maybe maybe it's an ongoing ticket and it's taking a long time for that ticket to be resolved for whatever reason and it's great fix you know you don't want to wait six months before that ticket is complete because it could be a bunch of other reasons as to why it's not complete um and you're not going to have to wait firstly wait for your money and secondly send the customer chuffing great big invoice you know four five thousand pounds because you've you know it's taken you so long I want to to doing all the work on that so you might have an agreement with your customer that kind of goes you know what we'll just we'll just barely as we go you know we'll bill you a couple of hours here a couple of hours there and we'll just we'll just keep betting you as and when um so I think there's there's definitely a use case for that but I do think having the ability to um you know to Mark tickets when they are complete I think I agree with you I think it's you know in most cases that's probably what you're going to do you're not really going to have you know a lot of scenarios where tickets might take a long time to complete and then you would be only billing at the end um but it's up to you the options there um it gives you the flexibility to be able to do that if you want to yeah yeah and what you might actually want to do is you might want to find the middle ground in Halo whereby you make use of this option uh called ticket review processing so ticket review processing basically adds a holding area for billable time entries prior to those time entries going into the ready for invoicing section so with that use case you've got a long ongoing incident and you want to you know it's been going on for six months you want to build the first four months of it or the first five months of it and you don't want you can't close it off yet because the issue hasn't been resolved but you also don't then want time entries thereafter to immediately go into ready for invoicing so all you can do there is enable our ticket review processing and what that does is that adds an additional section into our invoices module uh namely there's a waiting review section here so our awaiting review section is going to include effectively all time entries that have not yet been reviewed and what's nice about this as well again jumping the gun a little bit but taking a step back what's nice about this is when you do have your billing plan combination set up and when you do have some time going to an agreement and some time being considered as billable uh you might want to actually make sure that the billable time is in fact billable and is not covered by an agreement but the the agent has just you know made a mistake somewhere uh or similarly you might want to make sure that time that is being consumed by an agreement is being done so correctly and you're not missing out on any of that billable labor so it's a waiting review section will give you the option to have a breakdown of your sort of sub lists for the different types of billable time in the system or uh more generally the different types of time whether they are billable which is uh non-contract pretty pay so that's everything that would go on to an invoice that hasn't yet been reviewed yeah there is contract slash prepaid that is time that has been consumed by the Block hours or by the agreement Dairy and then there is uh overages here as well where this is saying that the time entries have been allocated to an agreement but we've actually gone over the allotted hours so this will go on to an invoice despite it actually going towards an agreement again we go back to that example that we saw in the last session or that we discussed in the last session where you have an agreement that's got eight hours support per month uh at hour 10 you want that to be billable but you still want to denote that that has gone to the agreement so that's what an overage would be considered as and I think we're this awaiting review is also a really good thing and I see this quite often is you know a lot of msps might have um you know the service desk manager or somebody who's who's actually reviewing the time before it goes to billing right because the service desk manager may know that actually yeah this work should be billable or not billable whereas you know somebody in the accounts team isn't necessarily going to know you know maybe maybe the SDM was on a on a call with a customer and said okay you know we would normally charge you for this but in this instance we're not going to charge you but the engineer has accidentally made it chargeable so at least then the SDM can come in here and say okay I'm going to review this and like I say should it be chargeable should it not be chargeable are we charging the correct rate um all those kind of things and be able to override that before it actually goes into the ready ready for invoicing so that when it gets to the ready for invoicing then accounts knows that everything that's in there is accurate and good to go and can just be built so I kind of like that I like that extra step in there so I just think it gives you especially if you're a bigger company you know you're a you know a smaller MSP you're probably not going to need to have this in but certainly has a bigger MSP you may need to have that extra approval level in being put into place yeah absolutely agree yeah cool and one of the important configuration option in uh config building General under our charge type settings is this calculate charge rounding at ticket level so let's go back to that ticket and so we've added two actions onto uh sorry we've added two billable actions onto our ticket um this one and this one we've added five minutes each time so effectively 10 minutes of actual work has been put into these two actions however our billable time recorded is one hour so the reason for that is because this option is disabled and when this option is disabled the charge type minimums and the charge type roundings are evaluated on an action by action basis so remember how I set my minimum minutes to be 30 for my remote support well that means that each individual time entry if it's less than 30 minutes have been added in we'll go to 30 and if I add 31 minutes on to the next time entry it will be 45 minutes so the majority of people that I speak with want this option enabled because with this option enabled what we'll find is the total billable time for the ticket is evaluated based on the charge roundings for my individual charge Finance so I think that's probably just cash but what we can see is after I went in here and I recalculated my billing we'll see now my build hours on this action is five minutes of my build hours on this action is 25 minutes rounding up there we go rounding up to that minimum of 30 across all of the actions on the technical yeah yeah that makes much more sense having that that button changed yeah yeah for sure um cool so let's take a look at what we get on the invoice so I'm going to go ahead go into my ready for invoicing section click my labor entry click create invoice itself and let's take a look at this so first point to note the invoice description is as we saw it set up in our charge type configuration where our dollar variables dollar fault ID dollar symptom Etc have been replaced with the ticket specific information uh the second point to note that you know Psalms is a sort of split School of four the second point to know is we have two lines here right because we had two billable actions some people would rather have one single line with all of the time added on to that one single line we can handle that as well and that is set up within configuration billing General under our invoice creation settings where in here right at the top we have this grouping for labor lines so at the minute there is no grouping and that means that every single individual billable action on a ticket or on any ticket that would go on to an invoice would be its own individual line yep if you instead want to group that you'll see a couple of grouping options in here the probably the most common is grouping by ticket and rate so let's take a look at the invoice if we set that as our grouping also really handy point for people is they're sort of playing about with Halo and understanding invoices in general any invoice that is Created from the ready for invoicing section if you delete that invoice those records go back into ready for invoicing so you know if we go back if we're going here of course my labor section is now empty because I just created the invoice for that labor and you know we're not going to be invoicing that again however if I delete my invoice that flows back in here so for the sake of you know if you're getting to groups of things and you you're fiddling about the billing settings it can often be quite it could be a faster method to just get a get a test ticket if we're talking about Labor billing create an invoice for it change the settings delete the invoice recreate it and have a look at the uh outcome option in this case our two lines have now been wrapped up into one single line and that quantity uh that decimal hour quantity it has been has been rolled up accordingly again it's a size point I'm not going to go into too much detail on this but again I want to make sure that people are aware of this and we'll probably come back to this and let on another session um a common question that comes up at this point is okay yeah so I actually I want my all of my labor to be uh wrapped up onto as few lines as possible so I want to group by ticket and by rate but I actually still want to show the customer a breakdown of where that half an hour has gone so I do want to give them supplementary information I just don't want every single line to go over to QuickBooks we can on our invoice PDFs include a report or include any report for that for that matter um and what that means is a report can be created we've already got one in the system a report can be created for billable time per invoice and we can then return that report onto the invoice document where we can see you know the invoice itself one line half an hour and then a supplementary page that provides the notes as to where that half an hour has gone so just something to bear in mind yeah cool so um I know we're getting on but the uh as there's still a couple of other points that I want to make sure people are aware of when it comes to label bidding um and uh the next point is default charge rates so we saw previously that we can add time onto our tickets and we can specify a charge type but by default the charge type that's being selected is no charge if if this is how you want to work fantastic however there is always that risk of your technicians not selecting the correct charge rate or not selecting any billable rates meaning that you know they might put six hours onto a ticket and just forget to change this and at which point you've just lost out on six hours of potentially billable time so we can default the option that is selected in here there's a couple of places that we can default that the first place that I want to mention is within the actions themselves right so within each individual action under our defaults tab we do have the ability to set a default charge type so this is a good way of being quite granular into what actions would be billable by default customer facing actions like emailing the customer you may well want to default that to remote support however uh something like a private note you might want to leave that as being non-billable by default yeah and of course so that's one place we will see that we have this option here to actually not set a default and if we're not setting a default then that default can be inherited from our ticket type or from our agents so our ticket type default is set within the details tab I I think ironically uh yeah down here where we have our charge type override and then the other place agent level is set against the agents details here default charge type which I quite like the concept of um because that allows you to create like a level one level two level three rate or you know Junior architect Network architect and they all have their own unique rate and then based on the individual who is adding time onto those tickets that rate would be inherited uh but yeah so those are the places for them to sell those defaults yeah yeah I kind of like that as well I like you know I often set to that at the um at the age of level because like I say then it's then at least you know that and if you select that option that that says you know that it gets inherited from there you'll always know that each engineer will always or agent as saying that calls it will be um will always be billed at the correct rate right they're not then having to and they also then don't have to decide but they don't have to go and pick something to say this is the charge rate or this is the whatever they just do their work and and kind of Halo takes care of all the benefits I think it's much nicer so now we can very quickly see if I click private no on-site support is selected on-site support has been selected because private private note charge type is no default and my agent charge type is on site hence that's why we're getting on site and then if I click email user oh we'll see that remote support is selected yep cool so that's how we can default those charge types and not have to worry about the technicians manually picking those each and every time the other place where charge types can be configured is at customer level so we saw in configuration billing we can set our Global defaults for our charge types up so that's where we actually create the charge types that's where we set the default rate for them however you'll probably find that you have customers that are grandfathered in and they get a slightly better uh rate than those newer customers or you find you might find that as a customer that is a particularly hard place to get to so on-site might be a little bit more expensive for them and the point is charged hikes will likely diverge slightly from One customer to the next and so what we could do there is we can go to our customer record we can go to our billing tab where in here we have a couple of options uh the ones that we're going to be looking at now are our charge type restrictions and our overriding charge types so the overriding charge folks allow us to select from the list of existing charge types that we have in a system you know and then from that allocate some specific charge type configuration to this particular customer so maybe this customer actually has their remote support at 40 pounds or forty dollars an hour as opposed to 50. uh again we set up minimum our increments set our multipliers and we're good and then the other place where charge types can be manipulated on a customer by customer basis uh is in our charge type restrictions section where for a given customer we can actually restrict the available options that the available charge types that we can make use of so you know you might have different charge types for different types of work but a customer might actually not have the ability to have that type of work allocated to so um this will probably make a bit more sense when we look at our billing plan combinations however we might have different charge types for our different types of agreements whereby the selection of the respective charge type allocates the time on that action to go to the agreement that we have set up however if a customer doesn't have a particular agreement we might not want to allow that charge type to be selected at all so we can come in here and actually specify the particular types particular charge types that will be allowed for this particular customer yeah and I see that happen quite a lot I mean I see a lot of you know msps that I work with when when I used to run my MSP is you know there's certain like say maybe based on where they are or what have you it might be that hey we only offer on-site support to this customer right we don't we we don't offer any kind of remote support or vice versa we only offer remote spawn you know they're too far away to get to so and so that's where you would then kind of restrict your charge type and go well those customers only ever going to be able to we're only ever going to be able to do remote support or pick that charge type at least for this particular customer um and um and I see that quite a lot I see a lot of people kind of saying you know based on on location I mean I actually had an MSP who's um customer was in the same building as them like in the floor above um and they basically are like well there's no point I still got remote support we might as well get in the elevator and actually go to this customer so they pretty much only ever do on-site support with them um they don't charge them a higher rate for that because it's it's you know or a left right up to the to where they are or going up the stairs if you if you're feeling very energetic but you know it's um and in those instances you might want to be able to change things based on who those customers are and um and you know set those and set those charge type restrictions so pretty worth mentioning as well the the options in here are the allowed options it's not very obvious but this would mean that only remote support could be used yeah cool I'm so that was a fairly lengthy session I think that's a good place to to wrap things up so uh what we've covered in this session is the concept of charge types how we can bill for labor how we can invoice the time on tickets some of the associated configuration uh regarding that functionality you know how we can figure our charge types how we set our charge type rounding the awaiting review section Etc and basically we've just looked at Labor billing uh as it as its own entity we haven't had we still don't know how the time on these tickets actually gets added to an agreement or actually chipped away against some Block hours and that's what we'll be covering in our next session where we have a look at billing plan combinations and we tie everything billing related that we've seen so far together and provide a bit more of a holistic overview and yeah we'll go from that absolutely and once again thank you Morgan for your time and you know if anyone hasn't if anyone's hit this video and is completely confused at this point um go back and watch some the other videos I'll link to them there somewhere wherever they are um and go back and watch the other videos because it is kind of going through a flow in a particular sequence um if there's any questions you know put them in the um in the notes below um we'll make sure that we get those addressed and then as as Morgan said what we'll do in the next video is we'll cover up in combinations and show how to build the stuff as part of the contract um and and then go from there so yeah really appreciate it again once again Morgan and um you know big shout out to Halo um for letting us do these and for allowing us to use your time so really appreciate it thank you so much and we look forward to seeing you on the next video yeah I as always pleasure to be here and uh help help and do my bit for the community excellent thanks very much see you soon thanks guys

Want help putting this into practice?

Get in touch and we'll talk through how it applies to your MSP.

Let's Talk

← Back to all content