cancel
Showing results for 
Search instead for 
Did you mean: 
anttipajunen

Time Entries in Field Service by using Flow and PSA

Tested on:
Dynamics 365 version 9.0.2, Field Service solution version 7.x, PSA solution version 2.x, classic web client, Microsoft Flow

One of the most frequent questions I face when doing Dynamics 365 Field Service presales is “How do we submit time entries?“. OOTB Field Service doesn’t offer Time and Expense Entries the way Dynamics 365 Project Service Automation does. Field Service has Booking Journals, which are based on applied resource booking statuses. While some customers are happy with Booking Journals, many need more versatile Time and Expense Entry functionalities. This is where PSA can help.

Booking-Journal.png

The goal

The goal in this example is simple: Allow field technicians using Field Service to submit Time Entries for work and other activities related to a Work Order. Field technicians and back office staff shouldn’t have to create new records or spend extra time in Dynamics 365 CE excluding creating, submitting and approving Time Entries.

To achieve the goal, PSA’s Time Entries are leveraged. The process in this example is simple and straightforward: A created Work Order fires off a Flow that creates all the records required for Time Entries. The idea of this blog post is to pitch a no-code solution about what’s possible with PSA and Flow. As every company has different needs for the devil in the details, you can freely take this concept and tweak it to fit your business specific needs. 

The process is:
Create Work Order -> Create PSA Order -> Create Project -> Create Project Tasks -> Create PSA Order Line -> Submit Time Entries -> Approve Time Entries.

Invoicing is something this blog post doesn’t cover. There are plenty of variables with Time Entries without speculating on an approach to invoicing. A good point to understand and remember is that where as in Field Service a Closed-Posted Work Order usually creates a Field Service Invoice, in PSA approved Time Entries create Actuals. These Actuals are then invoiced from an Order’s (Project Contract) context and the formed invoice is a PSA Invoice. You can always create a nice document using SSRS reports with data from both Invoices, however if you are integrating Dynamics 365 CE to an ERP, your approach will most likely have to be different.

The Flow and its steps 

The images of the Flow’s steps include annotations to point out specific fields that need clarification. As this blog post covers a fairly straightforward approach where only OOTB fields are used, your own Flow may look different. When using Dynamic content, be sure to choose a field’s value from the correct step of your Flow.

dynamics-content.png

 

Step 1 – Create PSA Order 

The first step is fired off when a Work Order is created. Considerations:

  • This step could also be fired off when a record in updated.
  • Choose a value to the Customer field based on your processes. In this example the value is of a Service Account from the related Work Order. Billing Account would be another option.
  • Name equals Work Order Number for the majority of records throughout the Flow for a straightforward approach.
  • Organizational Unit lookup could be placed on Work Order and the value then pulled to the Flow’s first step. In this example the Org Unit value is fixed thus the GUID on the Contracting Unit field.flow-psa-order.png

     

Step 2 – Create Project

A Project is created after a PSA Order (Project Contract). A field technician will submit Time (and possibly Expense) Entries against a Project. As the Name field equals Work Order Number, it’s easy to distinguish the correct Project for Time Entries. Considerations:

  • If a Project Template is used, set its GUID to the Project Template field. If a template is used, skip the steps to create Project Tasks.
  • The msdyn_calendarid field on the Project entity may need to be set to Optional or Business Recommended for the Flow to work.flow-psa-project.png

     

Step 3 – Create Project Tasks (optional)

If a Project Template is not used, Project Tasks can be created in this step. In this example I’m creating four tasks which represent different options a field technician can submit Time Entries against. Unique fields on the tasks are Project Task Name and WBS ID. The image at the bottom of this chapter illustrates a WBS with four tasks on PSA V2. Considerations:

    • Estimated Effort, Start Date and Due Date can be set according to your requirements as longs as the fields have a value.
    • If you’re running PSA V3: IsLineTask. In PSA V3 a Project Task relates to a Resource Assignment directly so Line Tasks are not used in this context anymore.
    • A WBS ID must be unique on each Project Task on a WBS.flow-psa-project_tasks.png

      psa-project_wbs.png

       

Step 4 – Create PSA Order Line 

The fourth step is to create an Order Line for the Order from step 1. As a Project will be associated with an Order Line, it’s easier to first create an Order, then a Project and leave an Order Line for last. As field technicians are submitting Time Entries for a Project and we may want to invoice those entries, it’s important to set the Billing Method as Time and Material and to set Include Time (as well as Expense) to Yes. Considerations:

  • Project Contract Line Details, Invoice Schedules etc. are not created in this example.
  • The Name field in this step doesn’t equal the name of an Order Line. The name of the Order Line will be based on what is populated on the Write-In Product Field in this step. Go figure.flow-psa-order_line.png

     psa-order-form.png

     

Step 5 – Submit Time Entries

The final step is to submit Time Entries either with the Dynamics 365 for phones and tablets app or the Dynamics 365 Field Service Mobile (truck app) which leverages the Resco Woodford solution. The “truck app” is more versatile and is also more straightforward for field technicians as they can use a single app for both Fields Service related work (such as Work Orders) and Time Entries. Before you can use Time Entries on the “truck app” you have to customize your Resco Woodford mobile project and enable Time Entries on it. More information on installing the Field Service Mobile App can be found here.time_entries.png

 Project ApprovalsProject Approvals

 ActualsActuals

I hope this post helps you take more out of both Field Service and PSA and gives you ideas on how to leverage PSA’s Time and Expense Entries with Field Service. There are many ways this concept can be taken even further. I challenge you to experiment with Flow! If you want to grab this Flow and edit it for your environment, grab it from the Those Dynamics Guys PowerApps Bank here.

My personal thanks to MVP Elaiza “What The Flow” Benitez for giving me the (All)Spark to this article and Flow!

Disclaimer:
This blog posts reflect my personal opinions and findings unless otherwise stated.

About the Author
  • Experienced Consultant with a demonstrated history of working in the information technology and services industry. Skilled in Office 365, Azure, SharePoint Online, PowerShell, Nintex, K2, SharePoint Designer workflow automation, PowerApps, Microsoft Flow, PowerShell, Active Directory, Operating Systems, Networking, and JavaScript. Strong consulting professional with a Bachelor of Engineering (B.E.) focused in Information Technology from Mumbai University.
  • I am a Microsoft Business Applications MVP and a Senior Manager at EY. I am a technology enthusiast and problem solver. I work/speak/blog/Vlog on Microsoft technology, including Office 365, Power Apps, Power Automate, SharePoint, and Teams Etc. I am helping global clients on Power Platform adoption and empowering them with Power Platform possibilities, capabilities, and easiness. I am a leader of the Houston Power Platform User Group and Power Automate community superuser. I love traveling , exploring new places, and meeting people from different cultures.
  • Read more about me and my achievements at: https://ganeshsanapblogs.wordpress.com/about MCT | SharePoint, Microsoft 365 and Power Platform Consultant | Contributor on SharePoint StackExchange, MSFT Techcommunity
  • Encodian Owner / Founder - Ex Microsoft Consulting Services - Architect / Developer - 20 years in SharePoint - PowerPlatform Fan
  • Founder of SKILLFUL SARDINE, a company focused on productivity and the Power Platform. You can find me on LinkedIn: https://linkedin.com/in/manueltgomes and twitter http://twitter.com/manueltgomes. I also write at https://www.manueltgomes.com, so if you want some Power Automate, SharePoint or Power Apps content I'm your guy 🙂
  • I am the Owner/Principal Architect at Don't Pa..Panic Consulting. I've been working in the information technology industry for over 30 years, and have played key roles in several enterprise SharePoint architectural design review, Intranet deployment, application development, and migration projects. I've been a Microsoft Most Valuable Professional (MVP) 15 consecutive years and am also a Microsoft Certified SharePoint Masters (MCSM) since 2013.
  • Big fan of Power Platform technologies and implemented many solutions.
  • Passionate #Programmer #SharePoint #SPFx #M365 #Power Platform| Microsoft MVP | SharePoint StackOverflow, Github, PnP contributor
  • Web site – https://kamdaryash.wordpress.com Youtube channel - https://www.youtube.com/channel/UCM149rFkLNgerSvgDVeYTZQ/