In my environment with the way we use Service Desk, we will never have a time when we will not check the Billable and Show On Invoice checkboxes on a ticket note. (Please don't argue about this, it's just the way it is. Let's just move on...). The problem lies with each tech sometimes forgetting to check those each time they make a note on a ticket. The solution was to find a way to have those two boxes automatically checked every time the notes tab was opened. I've spent the better part of a week trying to figure this out, from looking in the form XML, to the XML schema, to the back-end code (which isn't provided to us... stupid compiled DLLs), to the database tables. It seems that Kaseya went to great lengths to make the function of their tool unchangeable. I even tried some hacking techniques to hook the JSON that gets passed back and forth to create the popup tickets.
My first attempt was a SQL trigger to automatically change any note where the tech forgot to check the billable box to make it look like he did check it:
SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
ALTER TRIGGER [kasadmin].[billableToY]
SET NOCOUNT ON;
SET a.billable = 'Y'
FROM inserted i
INNER JOIN kasadmin.SDIncidentActivity a on i.id = a.id
WHERE i.editingPartnerUserFK is not null and
i.billable = 'N' and
i.sdNote not like 'Auto Generated Note%'
It is of note that this trigger doesn't actually "check" the checkbox, it only changes the database field to make it look like the checkbox was checked. Though after looking through the database for some way to auto-check the "Show on Invoice" checkbox, I found a ton of KSB.* tables that had many tables/fields relating to "billable" and "invoice". This leads me to believe that there is some back-end code that does much more than set a field to Y or N if either of those two checkboxes are checked. It is creating rows and setting fields in many tables behind the scenes.
So after that long diatribe, here is my question... Does anyone know how to make checkboxes on a Service Desk form automatically checked? I don't care if it's a hack or the "right" way of doing it. I just need them checked as soon as the ticket is opened so that all of the back-end stuff happens when the tech saves the ticket.
If anyone from Kaseya is reviewing this, I'd also be interested in whatever (if anything) comes of this. Techs forgetting to check billable is a problem even (or especially) when only a small portion of tickets/notes should be billable. Reviewing all items (billable or no) to ensure accuracy afterwards is tedious at best and a waste of time at worst.
Isn't this possible via a Ticket change procedure? Like assign ticket property, billable = yes
Our business manager, currently, has to go through the list of each person's time reports and verify that if they entered hours that it was also marked as billable. This is a huge waste of his time considering the number of employees we have. So, yes, he can change tickets after the fact but that is a horrible way to go about this. All we want is a way to make tickets appear with the Billable and Show on Invoice boxes pre-checked.
I dug through their code and it would be easy to implement.... if Kaseya would have given us all of the code, which they did not. Stupid code-behinds. The fix for them would be simple... Add an attribute to the checkbox object in the XML schema for "checked" and add a couple lines of code in the C# file that generates the JSON that creates the Tickets on-screen to check for that attribute and if it's on add "checked=checked" to the HTML of the checkbox object. Simple.
As of 6.3 you can control this using Role Preferences to have Service Billing checkbox default to on. Select the billable column and you will see two additional options: editable checked and hidden checked. These will default the billable flag as checked.
The solution is a lot more complicated than just checking a check box.
I am running 6.3:
And I see those two options you suggest when I edit the Helpdesk form:
But the boxes do not automatically check, neither Billable or Show on Invoice. Hidden is not an option for me, because we need the ability to make a note NOT billable, but we want the default to be checked. Could you point me in the right direction... I'm not even close to a Kaseya master.
The steps I took to get there was:
Am I even close to the right place for what you suggested?