D365 Field Service: Not-to-exceed values

This month there are a bunch of features that are part of 2023 Release Wave 1 that will roll out. One of them is the not-to-exceed functionality in Dynamics 365 Field Service. This is functionality we have been waiting for and I am excited that it’s finally rolling out! I’ve had some prospects in the past who were interested in this type of functionality and I ended up building this out myself, but it’s great to see that this will be native functionality going forward! For the folks that are unfamiliar with this concept, let me explain. “Not-to-exceed” limits are often used in the field service industry to ensure that service technicians do not exceed a certain budget when performing work. It involves setting a budget limit for a visit and ensuring that technicians do not exceed that limit. This limit could be related to price, cost or both.

How does it work?

The not-to-exceed functionality in Dynamics 365 Field Service covers all three of the scenarios mentioned above. The price scenario allows us to set NTE limits for what the customer will be charged. For example, if a company has an agreement with a customer that specifies a maximum price of $1500 for a service call, the technician assigned to that call will be expected to complete the job within that limit.
Your organization could have internal rules for certain types of work where they might not want to exceed a certain cost amount. For example if the estimated total cost of a service call is $500, you probably don’t want the tech to exceed the cost amount on that work order as this would be felt in your bottom line.
Lastly we can also use both price and cost not-to-exceed limits. This will allow you to define price limits (these will be a static dollar amount) and cost limits (which will be a percentage of the price amount) for work orders. For example the not-to-exceed price could be $1000 and the cost not-to-exceed limit could be 20% of the price, which is $800.

Enable NTE functionality

Before you can use this functionality, you’ll need to enable it from the Field Service settings page. You can do this by navigating to the ‘Settings’ area and selecting ‘Field Service Settings’ on the top of the sitemap. You’ll notice the ‘Not-to-exceed’ on the ‘work order/booking’ tab which you’ll need to turn on. Please note that if you want to use the pricing NTE functionality you’ll also need to turn on calculate price. If you want to use cost NTE or pricing and cost NTE’s then you’ll need to also enable the calculate cost option.

NTE configuration

Dynamics 365 Field Service allows you to create NTE records in the system. As soon as you enable the NTE functionality you’ll need to refresh your page and you’ll see the ‘Not-to-exceed’ navigational item on the sitemap. As I mentioned above, we can account for price, cost and price and cost margin when creating NFT records. You’ll also notice that we can set the scope (when an NTE should be applied to a work order) per each individual NTE. Keep in mind there are some rules on which NTE’s have priority over others, which I will go over later in this article.

  1. Type of NTE. Options are ‘Price’, ‘Cost’ and ‘Price and cost margin’.
  2. Dollar amount of the NFT.
  3. Account this NTE is related to
  4. Functional location this NTE is related to
  5. Priority this NTE is related to
  6. Work order type this NTE is related to
  7. Incident type this NTE is related to

The was this works is that if there are work orders that meet the criteria on the NTE, the NTE will be assigned to it. For example, if you only entered “data “Emergency’ in the ‘Priority’ column as you can see on the image on the left, this means that this NTE will be assigned to all work orders with this priority!

If you also populated the incident type column, this means that the NTE will be associated with all work orders that have the same incident type and the same priority (emergency) as the NTE.This means that the more columns are populated on the NTE, the narrower the scope becomes, because all columns on the NTE must much the work order for it to be applied. When you select the NTE type to be Price and cost margin, you’ll notice there will be an additional field below the ‘Amount’ field. This is where you can enter the percentage amount for the cost, which will be calculated from the amount field.Another thing to keep in mind is that NTE’s will only be applied to new work orders. Any previously created work orders that existed prior to the functionality being enabled will not be affected.

NTE assignment and priorities

Now let’s talk about the prioritization of NFE’s. It’s important to understand that ‘Price and Cost Margin’ NTE’s are always applied before ‘Price’ NTE’s or ‘Cost’ NTE’s. This means that if there is a ‘Price and Cost Margin’ NTE that is applicable to a work order, ‘Price’ NTE’s or ‘Cost’ NTE’s will NEVER EVEN BE CONSIDERED. Let me give you an example. We have a price NTE where only the incident type (‘Fan Out’) is filled out. We have another NTE for the same incident type (‘Fan Out’) that is a ‘Price and Cost Margin’ NTE. Whenever a work order is created with the Fan Out incident type, the ‘Price and Cost Margin’ NTE will be applied. The ‘Price’ NTE will not even be considered. That is part one of the logic that will assign/apply NTE’s to work orders. There is more…
I’m sure you noticed that there is an account field on the NTE’s. This account field has the highest priority of all the fields on the NTE, the rest of the fields have equal priority. This means that if a work order is created and the service account has an NTE, this will be applied. If there is no NTE for the service account, then the system will check to see if the billing account has an NTE. If it does, the billing account NTE will be applied to the work order.

View NTE values

Now that you know how to create NTE’s and how the system assigns them to work orders, how do we view the NTE values? Simple! When you open a work order you’ll notice the ‘Price not-to-exceed’ and ‘cost not to exceed’ fields on the work order. These are fields that show the calculated NTE values on the work order. I also noticed there are PCF controls on the fields, which are most likely allowing us to see the warnings on the NTE fields.

The warnings are shown if the NTE limit is close to exceeding or exceeded. NOTE: It’s important to know that these are just warnings and it won’t prevent users to update and save changes to the work order(s). It looks like the system determines if the NTE value is reached (or nearly reached) by comparing the NTE values to the new cost (total cost) and price estimate (‘estimated total price’) fields.
NOTE: The ‘estimated total price’ field is the estimated price including taxes.

You’ll also notice there are two fields (‘Cost Not-to-exceed(%)’ and ‘Price Not-to-exceed(%)’ in the header of the work order, which seem to represent the percentage that the cost and/or price estimates are at in comparison to the NTE values. 100% in the ‘Price not-to-exceed(%)’ field means the NTE amount is 100% of the estimated price amount on the work order. For example if the ‘estimated total price’ amount of the work order is $3000 and the NTE price amount on that same work order is also $3000 then the percentage in the ‘Price not-to-exceed(%)’ field is 100. (see image above). If the ‘estimated total price’ amount on the work order is $3000 and the NTE price amount is $2500 then the percentage in the ‘Price not-to-exceed(%)’ field is 120. (The ‘estimated total price’ amount is 120% of the NTE amount: $2500/100=25 | 3000/25=120). So if the percentage in those fields are above 100, then the NTE limit is reached and someone should take action. The reason I am pointing this out is because we can use these fields to filter work orders that are over the NTE limit. We could also use this to create notifications by using Power Automate flows or real time workflows.

When you navigate to the related ‘work order not-to-exceed’ table you’ll see the NTE records associated to the work order. It seems that if there is an NTE associated to the work order that has a value in the Applied Amount field, we’re able to change that value manually, but this is not advised. It is allowed to manually change the NTE value(s), but you’ll have to do this from the work order. When you so, you’ll notice that also changes the ‘Not-to-exceed’ field on the ‘Work order not-to-exceed’ row from ‘Not-to-exceed’ to ‘User-specified’. When saving the new value you’ll notice the NTE fields on the work order are updated with the new values. If you click on the refresh icon next to the ‘Price Not-to-exceed’ or ‘Cost Not-to-exceed’ field on the work order, the system will reset the value of those fields it to the system selected amount from the ‘Work order not-to-exceed’ record related to the work order.

View NTE Values – Mobile App

The NTE values are also viewable on the Field Service mobile app. If you click on the service tab from the booking, you’ll notice them below the Primary Resolution field. I would probably move them up a bit so they are easier to spot. Just like when we access work orders in the Field Service app, the warning can be seen, but there is not won’t prevent users to update and save changes to the work order(s). Lastly, when the Field Service Mobile application goes in offline mode, it will use the NTE values from the most recent synchronization. I hope you enjoyed reading this article! Be sure to check in again next week for a new article or subscribe here to never miss another post!

Share this!


Comments are Closed