In Field Service for Microsoft Dynamics CRM 2016 we can define various pay types which can be used to govern how much field engineers are paid. In this post I will describe the logic involved.
Often times your engineers will be paid on a salary basis and you won’t need to calculate their pay on a job by job basis. But sometimes you may need to calculate some or all of their pay. For example, even if they get a standard basic pay you may wish to setup overtime pay rates and extract that information from Field Service. Or maybe your field agents are actually self-employed contractors and you need to calculate full pay / cost information per job.
Create Pay Types
Firstly, in the administration options you can define the various pay types available, using the “Resource Pay Types” option.
Below you can see that I have created various pay types and decided what percentage of the resources hourly rate should apply. For example, the normal rate of pay will be 100% of the resources hourly rate. But if they work on a holiday they get double time, so 200%.
Tip: If you change a pay type percentage this will only effect future work orders not work already completed.
Decide When Pay Types Apply
Next we need to alter some system settings to decide when to use each pay type. To do this we goto the “Field Service Settings” option in the administration area of Field Service.
Within “Field Service Settings” you will find a section that governs the resource pay types. Below you can see that I have assigned a appropriate pay type to each category.
In deciding what pay type to use a few things come into play. Firstly, each resource has a working calendar showing their normal working hours and also when business closures happen. Meaning the system will know if they have worked outside their normal working hours, overtime. Or if they have worked on a business closure etc. Also travel pay and break pay is calculated by knowing when an engineer was on route or on a break. This can be calculated as the engineer changes their status in the mobile application against each booking for a work order.
Resources will get the business closure pay type if a business closure has been defined AND they are set to observe business closures. If they aren’t set to observe business closures their normal work and overtime pay types would be applied.
Setting the Resource Hourly Rate
On the resource record you will find an hourly rate of pay field. This is used in conjunction with pay types to decide how much to pay an engineer. In the Field Service tab on the “Bookable Resource” record you will find the hourly rate field.
Pay Shown on Bookings
Now the component parts have been defined Field Service can calculate the pay for each resource against each booking on a work order. Several fields on the booking are used to help calculate engineer pay, including “Actual Travel Duration”, “Total Duration in Progress”, “Total Break Duration”, “Total Duration and Total Billable Duration”.
On each booking we can see a breakdown of the information that will later be used to calculate the pay. This is help in the “Timestamps” sub grid which can be found on the resource booking record. This is a useful area to look whilst jobs are in progress to understand the current position. And afterwards we can see how long the agent spent at each stage.
Keep in mind that there is only ever a single resource booking for each resource. If two people are working on the same work order you would have two resource bookings. And therefore two sets of pay information for this work order.
Once the resource booking has been completed you will see journal entries that will have been derived from the timestamp information to calculate the pay. You view the journals from the Resource Bookings navigation.
Tip: To get to the resource booking information you could load the work order and see all the booking for the work order from there.
When the resource booking is complete and the work order therefore has a status of “Open – Completed” the booking journals will be created from the timestamp information. Notice that each journal is given a journal type, this will be used to decide which pay type to apply.
Opening the journal will show you a breakdown for the pay related to this part of the job. In this example my hourly rate was £30. But I only spent 23 minutes on the job. The pay type was normal working hours. (Meaning 100% of the £30 per hour would be paid.) This resulted in a payment of £11.50 for this part of the job.
On the resource booking record the values for all of the journals are totalled to give a total cost figure for each job.
Once you understand that this data is stored for each resource booking and that each resource booking has a number of journals that are aggregated to derive the total cost field on the booking …. Then it should be possible to create whatever reports or extracts are needed to create a summary of pay for your resources for each week or month.
Hopefully this post has given you an insight into how you could calculate field engineer pay with Field Service. J