Field Servic for Microsoft Dynamics CRM contains a feature that allows for the creation of agreements, which can then be used to automatically schedule work orders for routine maintenance. In this post I will explain the concepts connected with agreements.
Agreements are often used for preventative maintenance as they support recurring jobs for a set period of time using an agreement schedule. For example: A quarterly inspection over a two-year contract. Work orders can be automatically generated from the agreement.
Each agreement can have multiple booking setups, then each booking setup will have one or more associated incidents types. Work orders and resource bookings can then be automatically generated for each agreement booking setup based on its incident types. (And any other service / products added to the booking setup.)
Each agreement booking setup has a recurrence, very much like a recurring appointment in your Outlook calendar.
Each booking setup is then associated with one or more incident types, services, products and service tasks. (in a very similar manner as you’d expect on a work order!)
In addition to a booking setup, each agreement can also optionally have an invoice setup. Each invoice setup contains one or more invoice products. Both the agreement booking setup and the agreement invoice schedule can have a recurrence. You may (for example) have an annual agreement to service a piece of equipment weekly but will invoice on a monthly basis.
Agreements start off in as “Estimate” state whilst they are being build, they then become “active” once ready and once past the end date the agreement status will change to expired. (Plus if required agreements can also be cancelled.)
You can think about the process for creating an agreement as being in three parts;
Part one – Creation of the agreement foundation. (Account details, duration, price list etc)
Part two – creation of the agreement booking setup
Part three – Definition of the work to be completed
Part four – Invoice Setups
To access agreement, load the agreements option from the Field Service navigation menu.
Part One – Agreement Foundation
When you create an agreement the “header” of the agreement looks like this; below I will explain the meaning of each field.
|Agreement number||The agreement number is a read only field, it is automatically calculated by the system when the agreement is saved.|
|Service and billing account||The service account is the account who will receive the serviced outlined in this agreement. The billing account is the account that will pay for the work. (if the billing account is blank then the service account will be the billing account.)|
|System status||Agreements start with a status of “Estimate”, become “active” and then progress to “Expired” when the end date is reached. Alternatively, agreements can be set to cancelled if they are terminated.
Typically, the status of an agreement will be estimate whilst it is being created. But don’t forget to change it too active once ready.
|Sub status||The sub status is an option user configurable status field that can be sued to give more granular detail about the status of the agreement, if required.|
|Description||A text field describing the agreement.|
|Owner||The owner of the agreement, typically the person who created the agreement.|
|Start Date||The date the agreement started.|
|End Date||The date the agreement ends.|
|Duration||The length of the agreement. The duration is automatically calculated based on the start / end of the agreement.
Alternatively, you can enter just a start date and enter a duration. This will calculate the agreement end date.
|Agreement Details||A second text field to further describe the details of the agreement.|
|Originating Agreement||If this agreement has been created from another agreement, then this field will link back to the original. Typically, this will be populated when the copy / renew option is used. As you might want to copy an expired agreement and re-activate as part of a renewal process.|
|Price list||The price list is mandatory and important; this will be the source for all prices applied on work orders associated with this agreement.|
|Service Territory||An optional field describing the geographical area this agreement covers.|
|Currency||The currency that will be used for all work orders / invoices associated with this agreement.|
|Taxable||Is sales tax to be applied to work orders associated with this agreement is applicable?|
Part Two –Booking Setup
Having saved the agreement foundation, you will next create the agreement schedule(s)
Notice that the agreement has a business process flow designed to help you define each part of the agreement in a logical order.
|Summary||Name||A text name describing the agreement schedule|
|Owner||The owner of the schedule, typically the same as the agreement owner.|
|Agreement||The number of the related agreement.|
|Description||A detailed description of the schedule.|
|Work Order Settings||Auto Generate WO||Set to Yes, if work orders are to be automatically generated.|
|Work Order Type||When work orders are generated, either automatically or manually against this agreement this field will define their type.|
|Generate WO days in advance||Work orders can be generated “n” days in advance of their required date. Setting this value high could create a large number of work orders but it needs to be set high enough to ensure that work orders are generated far enough in advance to allow the dispatcher time to schedule.|
|Priority||A user defined field to indicate the priority of the work orders.|
|Work Order Summary||A text description giving a summary of the work which is added to the work orders.|
|Booking Settings||Auto generate booking||If the work order is automatically generated, then optionally a schedule can also be generated.
If set to No, a work order will be generated but its status will be “Open – unscheduled”, it can then be scheduled by the dispatcher. Either manually or by using the scheduling assistant.
If set to Yes, the work order will be automatically scheduled using the settings / preferences below.
|Schedule duration||The amount of time to schedule for the job.|
|Pre and post schedule flexibility||How many days pre (and post) of the proposed start date that can be allowed for flexibility.|
|Preferences||Preferred Resource||A mandatory field if the work order is going to be automatically scheduled. Otherwise optional, implying the dispatcher will select the resource when the work order is scheduled.|
|Time window start & end||The time window the job could start.|
|Preferred start time||The preferred start time.|
Having entered and saved the booking setup detail, you can now define the booking recurrence. Using the ribbon button “BOOKING RECURRENCE”.
The recurrence pattern can be daily, weekly, monthly or yearly. And / or specific custom dates can also be entered. Meaning the flexibility available for the recurrence pattern is extremely high.
Part three – Definition of the work to be completed
The next step will be to define the work that needs to be completed. Typically, this will involve adding one or more incident types to the agreement. Assuming you are already familiar with creating work orders this should be a straight forward task.
When adding the incident types, you can also optionally associate the incident with e specific customer asset. This allows service records to be maintained to specific pieces of customer equipment.
You can also optionally, add specific service tasks, products and services directly to the agreement.
At the moment I haven’t found a way to associate characteristics (skills) with an agreement! I will update this post if / when I do.
Once the agreement has been activated one (or more) booking dates will be created. The status of each date will change to “Processed” when a corresponding work order is created.
The agreement booking dates are created via workflow in background. I have noticed that it can take some time for the required dates and work orders to be created. So you may need to be patient.
Part Four – Invoice Setups
Each agreement can have one or more invoice setups. I guess you can think of them as working in a very similar way as to a booking setup. But instead of being used to generate a work order they generate invoices. Like the booking setup once you have cerated the invoice setup using the ribbon recurrance button to define when and how often the invoice should be generated.
I have (so far) found that you can only invoice products in this manner. Man hours spent servicing equipment is could not be listed. If / when I find any additional invoicing options I will update this post.