How to ensure annual billed clients are billed.

The dilemma:

We are wanting to create a method to a) mark certain clients as annual billing (most are on monthly so we’re not bothered about tagging them) b) have a button for each accounts period / tax return period (for only the annual billing clients) where we can tick a box to show it’s been billed.

If we can do above, is it possible to generate a report which shows us the list of annual billing clients and which one’s have not had button ticked to say billed?

The solution:

Create a custom client field (type boolean aka yes/no):
First we'll create a custom client field to hold whether this client is an annually billed client or not. To create this field follow this guidance, you can either add this field to the summary tab or to a specific workflow tab. Functionally this makes no difference, it is simply your preference as to where you would like the field to appear on the client card.
Be sure to choose the field type Boolean, we would recommend having a default value of 'No' which would mean clients default to not being annual billed. You can then set those that are annually billed to Yes. You could call this field Annual billing?

Create a boolean job field:
Now we need a boolean job field. The purpose of this field will be to hold the above yes/no information on a job by job basis. This is generally recommended because it will mean you store a job by job history of the field which will be useful for any reporting that includes older jobs, as opposed to simply being able to report upon the current client field. For example if you were running a report of all jobs that have been annual billed for the last 36 months, you would not want this to report upon the current setting as this could have changed.
To create a boolean job field follow these steps. Crucially we will set the Initial value to be the above client field. This means that when a job creates it will inherit its starting value from the client field automatically, with the exception of jobs that already exist, you should never need to actually set or edit these job fields.
Your new field will automatically be added to any routes that exist, remove it from any that do not need it.
Remember to repeat this step for any workflow system where you would like the functionality. In theory you could have a client field dedicated to each workflow system or say two client fields that both link to a few workflow systems, it is completely flexible. Here we'll stick with a single client field.
This job field could also be called Annual billing?

Create a date job field to hold date bill raised:
We need to be able to indicate when an annual billed client has been billed. Create another job field called say Annual bill raised this time it will be a date type field with no initial value setting (so it starts blank).

Make completion of the date field mandatory, i.e. block the workflow with a traffic light workflow action:
For the control to be effective we need to choose a stage in our workflow where we shall insist on the date field being completed, until such a time as it is completed then the progress of the job shall be blocked by a traffic light. This means the job can not reach completion and will stay firmly on the radar/dashboards until this bill has been raised.
You might want to create a new stage to be this point, if so follow these steps to create the new stage. The benefit of doing so would be that you can easily see how many jobs are held up via the progress monitor widget. It is likely this would work best as the very final stage in a workflow. You could not have stages after this stage that in theory could be completed before you raise the bill as users would be unable to progress through them. If you have stages that you do not want to be done until such a time as the bill has been raised then they would be fine to come after this stage.
Note that you do not need a stage, for example you could use an existing stage such as 'To send accounts to client' - you just need to be happy that you shall not be able to progress through this stage until the bill has been raised, so do ensure this reflects the reality of your processes, otherwise it will frustrate users.
Once you have decided on your stage, add a traffic light: field completed workflow action to any steps that go from this stage. If applicable ignore any steps that go backwards in the workflow, we're just trying to block the job from reaching completion. To add the workflow action you would be on the routes tab in the workflow editor, choose the appropriate route, find the step(s) (scroll down to detailed editor) and click Create new action.

Option 1: Add a workflow action to ignore Step 4 for non annual billing clients:
Read step 6 before doing this - if you implement step 6 then this step is not necessary.
Currently all clients will be blocked by the above traffic light until such a time as a date is entered into the Annual bill raised field. As a basic control where you want users to check for a bill on all clients this might be fine, in fact you could activate the N/A tickbox on this field to allow users to indicate the annual billing is not applicable. For our example we have the Annual billing? job field that indicates whether the job is annual billed or not and we only want to block those jobs where this is set to Yes (i.e. where Annual billing applies).
To achieve this we need to add another workflow action to each of the steps that we put the traffic light on (in step 4). This time add the Ignore another workflow action on a field 'No' workflow action. In the top dropdown choose the existing traffic light workflow action and in the lower dropdown choose the Annual billing? job field.
This will now ignore the traffic light where Annual billing? is set to No. It will respect the traffic light where the field is set to Yes and also if the field is currently blank which might be the case for existing jobs when this is first set up.

Option 2: Only allow Annual billing jobs to reach your new stage
Currently you are blocking jobs at a certain stage and allowing progress only when the Annual bill raised date field is completed or where the Annual billed? field is set to No. If these traffic lights were added to an existing stage such as To send Accounts to client, i.e. a stage that needs to be completed on all jobs, then this setup is likely to work nicely.
If you created a new stage such as To send Annual bill then you might get frustrated that non Annual billed jobs sit on this stage too, for these jobs you have currently added the need to click through a stage for no obvious benefit.
This can be avoided as follows:
  • Find the step(s) that go to this new stage and find the stage that each of these steps goes from (most likely, but not always, the stage immediately before your new stage).
  • For each of these steps create another step which goes from the same stage (so you'll see both options when the job is at that stage) but which goes to a different stage. The idea here being that you'll jump past your new stage and progress onto the next one (perhaps even completion).
  • If the existing step were called say To send to client then you might rename this one To send to client (Annual billing) and your new step could be called To send to client (Non annual billing).
  • To ensure users can only press the correct button add the following workflow actions:

This will mean that only jobs that have annual billing will ever progress into this new stage. It means you do not need to do step 5 as you'll never have jobs on this stage that can ignore the workflow action.


If you decided to create a new stage then you'll be able to:

If you decided a new stage was not necessary then you can still report on the jobs that are being held up as follows:

  • Firstly the existing stage to which you added the traffic lights will have all of the above reporting, it just might be that some jobs are held here for other reasons as the stage is not solely referring to raising an annual bill.
  • In the jobs report (Workflows menu, [name of workflow] jobs) you can filter the jobs by both your Annual billing? job field and your Annual bill raised date field, you'll also see the field in the results. So if you were to click on the stage on the progress monitor you would be brought to here and then you could filter down to only those with annual billing.
  • In the Jobs database query engine you can write your own reports that specifically extract this information, you would probably want rules for:
    • State doesn't equal Complete.
    • System = (e.g.) Accounts [it seems logical to do one report for each system though it would be possible to do an overall report]
    • Annual billing = Yes -> You'll find this in the job fields section.
    • Annual bill raised = NULL -> Again you'll find this in the job fields section.

Alternate control system:

We're currently rolling out our fee info fields, if your system does not have these now then it soon will. These new client fields, specifically designed to hold fee info, might offer another way to control annual billing.

You can set up fee info for all clients and the fields can hold both the frequency of billing and the date of the first bill. From this the system is able to report upon the expected billing for any period of time between two dates, if you are using Glide time to raise your bills then the system can also compare the projected billing to the actual billing to highlight any missing bills.

Please do get in touch if we can assist further or if you have any questions.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us