Super Tech Support Ep.1 | Solving Reporting Confusion

Richard Kohberger walks through ServiceTitan's reporting tools to fix revenue and tax discrepancies. He explains why newer reports work better than the old ones and shows you how to use them to catch what's actually happening in your numbers.
What's going on, everybody? Richard Kohberger here, the blue Collar nerd. So welcome to Super Tech Support. So this is kind of a new series, I guess. I don't know. I don't want to commit to it that much. It's something I'm playing around with. Basically the idea is this. So I see a lot of questions, you know, out there in the world, in the community or whatever, and I spend a decent amount of time just in there kind of answering some questions. But when an individual has some specific problem and I help them with their specific problem individually, I don't know, I don't really feel like I'm doing my job because it's not my job to be a support person. I'm not a support person. It's not my job to help an individual with a specific problem. I'm the blue Collar Nerd. I'm a content creator. I'm an educator. I'm supposed to help large groups of people all at once via video content. And so with this I'm trying to do both. I'm going to take some question that I see online, wherever that I think I can help with that's maybe a little bit more complex than just like a couple sentence answer. And I'm just going to film my whole process of figuring it out and helping with the problem in the hopes that other people with the same or similar problems can watch it, stumble upon it and get something out of it as well. Okay, so here's what we're doing today. This issue started with this post. It says, dear service titan decision makers, why do we report revenue 55 different ways depending on what report we pull? It makes me crazy. So here was my initial response. You know, there are different ways to count things, but it's always up to you how you want to count it. So for example, if you compare the converted jobs number on the dashboard to a total job count for the same date range on some report in reporting, then you might see different numbers of total job count because one is only accounting for converted jobs, meaning jobs that are over whatever your sold threshold is. And one is just a total job count, including unconverted jobs and $0 tickets. They're two just different KPIs. Both are valuable. Certain companies will want one versus the other versus some will want both, just depending on the circumstances. But they're not. One's not bad, one's not good, they're just different. But. But if you're in that situation and you have two numbers that are different and you want them to match. You can make them match. You've just got to make sure you're using an identical KPI or that you're filtering the exact same way. For example, on some sort of invoice report, you can filter it different ways to say like, okay, this date range, what does that actually mean? So I've got the report pulled for this week, but does that mean I want to see invoices for jobs that were started this week, for jobs that were completed this week, for. For jobs that were invoiced this week? All of those different types of filters, different ways of counting could show you different numbers. Again, doesn't mean one's right or one's wrong. They're just different ways of looking at it. That sort of flexibility is a very good thing. It's just, it does add complexity. Flexibility inherently adds complexity. It's just a matter of understanding it. Okay. Anyways, somebody from this company chimed in with some more specific issues. So. So problem number one on the dashboard, our average ticket for text does not work. We work for a home warranty company and Service Titan process has us use adjustment revenue. That adjustment revenue does not calculate on the text revenue on the dashboard. That makes their average tickets wrong and we have to manually calculate it in a spreadsheet. Okay, so this one's a really easy fix. It's just a backend feature. So there's a backend configuration that will choose whether or not you want the adjustment revenue included on the dashboard Technician scorecards and support can toggle that on for you. If you have a problem like this, don't jump straight to just like using a spreadsheet outside of Service Titan. Talk to support. Talk to your CSM team. See if there's something that that can be done to help you within the product. A lot of the times there is. Now, I don't know what the situation here is. Maybe they did ask and they got bad information or there was some sort of miscommunication. I don't know. It could have been our bad. But still something just worth pointing out. So I have that feature enabled for this example account here. So this revenue number, the 794 that is including an adjustment invoice that I put on this job. And if I click in to see the full technician scorecard, I can see here it even specifies completed revenue with adjustments. Just make sure that your adjustment invoice date matches whatever date range you're looking at on the dashboard. Like if you make the adjustment invoice date today, it's going to show up for today. I bring that up because it was a problem that I was having when I was just testing this to make sure that I understood everything myself. I had accidentally left the adjustment invoice date blank and so I wasn't getting the adjustment invoice revenue. And I was pretty confused for a while until I figured that out. Okay, problem number two, taxes. When calculating taxes, I have a custom report that works for my needs as long as everybody inputs everything correctly. When they don't, my numbers don't add up and I have to go searching. The easiest way to do that is comparing to other reports, particularly the tax zone report. That report then would be able to isolate which zip code my errors are in and narrow my results, making it a quick fix. Unfortunately, one of the reports excludes taxes in the revenue totals and one includes them, which means none of the numbers match and I can't use them together. This issue is across several of the pre made reports. There needs to be a way to determine across the board how things should be calculated or just have one picked and everyone adjust. So the way to determine how everything should be calculated is you as a company decide how everything should be calculated and then use Servicetitan to calculate it that way. However you want to calculate a KPI, I promise Service Titan has you covered 99.5% of the time. So many companies think about things and calculate things so differently. I promise, I promise, I promise. If we here at Servicetitan just decided, hey, this is how you calculate these KPIs, and everyone get used to it, this is the right way and just stripped away all the flexibility of calculating it. However you want to calculate it, there would be an upheaval. I'm talking pitchforks, I'm talking torches. My house would be on fire. Tom Howard's house would be on fire. It would be very, very ugly. Now the first question I want to ask here is you're using this tax zone report. That's a legacy report. Legacy reports rob you of a ton of flexibility and just understanding of how things are calculated that you get with the newer 2.0 reports. 2.0 reports will always tell you exactly how they're calculating a KPI. And with 2.0 reports, you choose the KPIs. You can change what KPI you want. You want something calculated differently, you just swap it out. You can filter, you can group. They're just way more powerful. The legacy reports were replaced for a reason. So my first question would be, do you really need to be using legacy tax on Report. Maybe you do. Maybe there's something very niche and specific about how your company works that only that report can do still. But I would bet that you could probably replace it with a 2.0 report. But I'm not going to make that assumption for this, let's say, okay, you're going to use that tax and report, that's fine. But that tax zone report, when it shows like revenue totals, it includes the taxes, I'm pretty sure. So I'm guessing whatever custom report you've got built is not looking at the total revenue, it's looking at the subtotal. So let's build a report that does it the way that you need it done. So I'm going to go into reports here and I'm going to create a new report. I believe that the invoices data set is what's going to serve us best here. That other report, that legacy report using groups by zip code. So we want the location zip and then we want the total, not the subtotal. So subtotal is going to not include taxes, total is going to include taxes. Just for extra clarity, let's also include a separate tax column so that we can see what we collected in taxes just to make sure that we understand what we're looking at. By the way, any of these KPIs, you can hover over this little eye icon here and see how it's calculating. So this taxable total, that's a sum of all the invoice items marked as taxable. I'm going to also put in the subtotal just so I can again, just have clarity for what I'm looking at. And then I'll clear out some stuff I don't really need. I don't really need to see the balance. I don't really need to see the address. Okay, good enough. Obviously you can customize this however you want. This is just what I'm doing. I'm going to call this the tax report. We'll call it an accounting report and save. All right, so let's filter by this week. You know what? I forgot? I'm going to actually add in the tax zone column because that other report I believe is grouped not by zip code but by tax zone. And then I'm going to drag that up to this purple bar so that our results are grouped by the tax zone. I'm going to hit save changes just so every time I pull this report, this is how it looks. And let's run the report. Okay, so in my example account, it's just an example account. It's auto generating data. So most of these jobs here, most of these invoices, the tax zone is null, meaning it's not assigned to any tax zone. But then here's a tax zone simply called tax. And then here's some jobs that are within it. So we can see. Let me drag subtotal closer to total so it's more clear tax as well. This doesn't really clarify anything just because all of the tax is $0. So we didn't charge any tax on any of this. Let me change the filter date to today. I'm pretty sure I did make an example job today that charged some tax. You know what the problem is that we're filtering by invoice date and that job isn't invoiced yet. So this is the job I'm thinking of. Let's go to the invoice and let's set the invoice date to today. Okay, now if we go back to our report and leave it filtered by invoice date, we should see it. Okay, and there it is. There's a job that we charged some tax on. Now I had to go in and change the invoice date to today in order to see it here because we're filtering by invoice date. But I could have just simply filtered by job start date because the job started today and then it would have shown up in the report. I left it filtered by invoice date because this particular person that we're helping right now is trying to compare a report to this other tax zone legacy report. And I'm pretty sure that that report is filtered by invoice date. And so I just want to try and match it as close as possible. And I forgot to save my reordering of the columns here. So let me do that again and save it this time. Okay, so we see here the subtotal is $160.62, but the total is is $162.19. And that's because the total is adding in this $57 of taxes. So again, just two separate KPIs we can hover over here and see. Total is the sum of all invoice items and taxes on the invoice, whereas subtotal is just a sum of all the services, equipment, chargeable materials, and discounts and fees on an invoice. Now let's pull up that legacy report and just make sure we're going to look at this job here and make sure that we have a Matching number. This tax zone legacy report. Okay, I dealt with it off camera, but when I first came to this report, I was filtering for today and I was getting nothing. It was just a blank report. It turns out that in order for it to show up on this report, the invoice had to be posted. So a little troubleshooting I had to do there. And again, that's another downside of these legacy reports. They're just a lot more opaque. It's a lot harder to figure out why you're not seeing what you're expecting. But anyways, we're showing two totals here. So this is the invoice itself, the 160, 62 and then the 633 25. That's the adjustment invoice that I added to it back when we were testing for the dashboard technician scorecard issue. So we've got a buck 57 of taxes collected which matches what we have on our other report here under the tax column, buck 57. And this is for the main invoice here. That one, that's 162. That adjustment invoice I probably didn't assign to a tax zone. So because we're grouped by tax zone here, it's probably up in the null. And yes, there it is. 633.25 for Lisa Woods. That's the adjustment invoice. And that's up here purely because of me and what I did. I didn't charge any tax on that. I didn't put it in a tax zone. And therefore this report is doing exactly what I'm telling it to do and grouping it under the tax zone null because it doesn't have one. And we see that confirmed. Even on this legacy report, you see it's under non taxable sales 633 25. That's the adjustment invoice. And taxon is unspecified. So the numbers on these two reports now match. And the total on this report, I expected it to be the full total, including the taxes. It's actually the subtotal. So 160 62. But that's okay because we have that KPI available to us over here. So we're just comparing to this. That's the subtotal 160 62. But over here on this nice shiny 2.0 report, I can understand that. I can hover over subtotal and understand exactly what that means. Over here on this legacy report, it's not calling it subtotal, it's calling it total. And I hover over that. And Nothing happens. I have no explanation of how that's being calculated. So I really, really, really. I mean, for everybody. As much as you can get away from the Legacy reports, the 2.0 reports are much, much better, more powerful, easier to understand once you, you know, go through the legwork and the learning curve of understanding how to use them to begin with. You've also got these handy counts down here and sums, and I can even change this to like, the minimum or maximum. This is actually a gated feature because there's one little tweak that we need to make to it before we drop it to everybody. We are planning to drop it to everybody. But if that's something you want, you can ask for that as well. Now, you know what? Before I wrap up, I can already see it. I can already see it in the comments. Some, some Legacy report apologist is going to come in here and they're going to say, but Richard, look how clean this legacy report looks compared to how messy this 2.0 report looks. Okay? But that's because this report isn't showing us any specific invoices, which in my opinion is not a good thing. And we can significantly clean up this report. Look, we've got all these jobs here that have $0 in taxes. And this is a tax report. So do we care about those? Probably not. So cool. We can just go here to this tax column, hit the filter icon and say, is not equal to 0. Hit Filter. And doesn't that look a lot cleaner simply by using a filter? One of the very powerful features available to us in 2.0 reports. All right, let's see. Did we solve all the problems yet? Completed revenue. The adjustment revenue issue appears in quite a few reports. Also, when needing the completed revenue line. Technician Performance Report M, for example. Okay, so again, this is just a matter of using the right KPI. Now, the Technician Performance Report M, that is. Let's see. So there is a 2.0 version of that report. That's what I'm assuming and hoping that you are using. Although I do think that the Legacy Reporter report might still be accessible. Yeah, you can still get to the legacy version. So I'm going to hope that you're using the 2.0 version, because then we can change the KPIs if you're using this. I mean, my advice is just to use the other one, because you can't change the KPIs here. You can change the KPIs on the 2.0 version. All right, so here's the 2.0 version. And your complaint was that the revenue KPI that's in here by default, completed revenue does not include adjustment revenue, which we can see confirmed by hovering over this, the last sentence there. Adjustment invoices are not included. So it's telling us that, but that's not what we want. So we simply swap it out. So we're going to hit edit columns here. We're going to search for revenue. Completed revenue is what's checked off now, but that's not what we want. So let's hover over invoiced revenue. Let's make sure that that's what we want. Split adjusted sum of prices of all income items from posted or exported invoices on jobs assigned to technician date filters correspond with the invoice date. Business unit filters correspond with the invoice items. Business unit adjustment invoices are included. Okay, so that could work. But that's telling us that the job has to be posted or exported in order for it to reflect with that. Maybe that's not what we want. Maybe it is, but I'm going to assume that it's not. So let's come down here to completed revenue with adjustments. That sounds promising. Sum of completed revenue and adjustment revenue. That is the sum of income on job invoices whose completion date is within the range and income on adjustment invoices counted against the technician whose invoice date is within range. I think that's probably going to work for us. So let's check that off. Puts it at the end here. Let's drag it further up. Kind of where the other revenue one was. Whoops. Let go of it too early. There we go. Let's run it for today because we know we have a job with adjustment revenue today. And there it is. There's that job completed revenue with adjustments. $793.87. That's correct. That's what I was expecting to see. And with this KPI, that invoice didn't need to be posted in order for me to see it here. And now I'm just going to hit save changes. And now that's the KPI that's in this report forever, unless I change it. So it's not like I have to remember to keep doing that every time it's done. Now, there was one issue brought up where I have to concede I don't have a perfect solution. This individual, they wanted their technician performance report, like average ticket KPI to include the adjustment invoice revenue as well. And I've looked and pretty much. All of our Average ticket related KPIs do exclude adjustment revenue. You can hover over pretty much any of them and see it. It tells you somewhere in the description. So right here on average tickets, the last sentence adjustment invoice is not included. Now with that gated feature enabled for the dashboard that we talked about earlier in the video, you do have this total job average KPI on the dashboard that includes the adjustment revenue as well. So 794 that's the only job this tech ran today. And so that's their total job average. But total job average is different from opportunity job average. I don't really know which one you're hoping for. If it happens to be total job average then we're in good shape. But total job average is going to mean even if the job was a non opportunity, it's still going to count against them in the total job average, whereas it wouldn't in an opportunity job average. But that one does exclude the adjustment revenue. Anyways, that's all I got for today. Hey, let me know what you thought about this video. It is a new kind of thing for me. It's a little bit more laid back. I know it's less, less concise, less well thought out because it's just me on the fly kind of doing what I would otherwise do off camera. But let me know if you like this and this provided some value to you. Appreciate it. Peace.
More from Bill

Capturing the 80%: How SmartAC’s Gen-2 Targets Non-Membership Homeowners | Podcast Ep. 296

Build better customer data with every booking in ServiceTitan | TAD Tune-Up Series

The Biggest Change for Roofers Coming From Other Roofing Software to #ServiceTitan?







