Dynamics 365 Project Service Automation: Circumventing Time and Expense Entry approvals with the Field Service mobile app

Tested on:
Dynamics 365 version 9.0.2, web client
Field Service mobile app (truck app)

While working on Resco configurations for our demo environment, my colleague Juhani Sammalkangas suddenly stated that Project Approvals can be circumvented using the Field Service mobile app (truck app). After a brief moment of disbelief I naturally decided to try this out. The idea is something that is both a threat and an opportunity: In every single Dynamics 365 Project Service Automation project a customer has at some point asked if they have to use the Time and Expense Entry approval process in PSA. While going around the approval process could save time and streamline a time entry process, it is always a dangerous idea as an approved Time Entry will be pulled on an invoice when one is created either manually or with Batch Jobs.

Circumventing Time and Expense Entry approvals

Going around the approval process is actually really simple. To test this the necessary steps are:
– Create a Project Contract with a Time & Material Order Line.
– Create a Project with someone else as a Project Approver. I.e make sure you’re not the approver.
– Customize the Field Service mobile app with the Resco Woodford solution so that it has the Expense, Expense Category and Time Entry entities enabled. The navigation needs the Expense and Time Entry entities. You may need to create a form and a view for the Expense entity on the Woodford solution (Time Entry should have these all set up in a vanilla instance). If the Expense Category entity is not enabled, you won’t be able to choose an Expense Category at Expense entry on the mobile app.

Next step is to use the mobile app to create Time and Expense entry records. When making a record, choose Approved instead of Submitted when saving the record. Project Approval is circumvented and the results are Journal Lines and Actuals for Cost and Unbilled Sales.

As Project Approval is essentially bypassed completely, we run into a small challenge with Expenses: We won’t be able to set a Sales Price for them as this is done at Project Approval. One way to solve this is to create a workflow that updates the Amount field found on the related Unbilled Sales Actual with the Based Price field of the same record. This will allow you to invoice an Expense at its cost price.

The downside to the workflow is that you can’t set a custom sales price for your expenses unless you edit the price on an invoice. Then again without the workflow the price will be 0 when you pull the expense on an invoice. Considering all these variables it may be more feasible to continue using Project Approvals for Expense entries but this really depends on your needs and processes. An additional point I want to make is that the workflow in this example doesn’t change anything on Journal Lines.

I hope this small tip gives you more options around Time and Expense entries. Keep in mind that an approved Time and Expense Entry will end up on an invoice so circumventing Project Approvals will most likely make you familiar with correcting Actuals using Journals. Plan well if you circumvent the Project Approval process!

All my blog posts reflect my personal opinions and findings unless otherwise stated.