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

Timesheet check for Project Service Automation (PSA - Microsoft Dynamics 365)

Losing a lot of time by checking everyone's timesheet if the work week has been completely registered in the PSA timesheet portal. In Belgium, most of the employees have 40 hours working week. In this MS Flow, a check will be performed every Friday evening around 8 PM. 
msflow08 - step 01.1 - 2.pngSet time schedulemsflow08 - step 01.1.png
Defining some variables that later will be used during the calculation of the timesheet total hours and to send a notification to the employees.

msflow08 - var.pngVariables

In the example, the work week is starting on Monday at 8.30 AM and end on Friday at 5 PM. To define the date on Friday, "Date Time" - actions will be used to get the current date and time. This will reflect the date on this Friday that the Flow is running.

msflow08 - step 02.1 - 2.pngDate Time - Actionmsflow08 - step 02.1.png

Getting the date and Time before Monday morning, so that when filtering the time registration of the complete week will be selected.

msflow08 - step 03.1.pngSet Begin date and Time

To get all the employees that need to be checked, the "comma Data Service"- connector/action will be used.
The action "List records" will be used the get all the record of each employee.

msflow08 - step 04.1.pngPSA Users - getting employee records

After collecting the first information, check of the timesheet for an employee can be started. Process 05 - Check timesheet employee" will handle the work. Six steps in the "apply to each" will calculate the total hours in registered for an employee and sent a notification when needed. Let's look deeper into the process.

msflow08 - step 05.pngProcess calculate registered work hours and notification as needed.

The first step of the process is getting the Employee Name (Because in PSA the employee/user is a unique number). The name of the employee can be found in the entity "PSA Users", under the field "psa_name".
This value will be set into the variable "EmployeeName". msflow08 - step 05-1.pngSet variable EmployeeName
The second and third step will get the employee e-mail address and this can be found in the entity "Users". This entity contains detailed employee/user information.

msflow08 - step 05-2-3.png

The output value will contain the Primary E-mail address of the employee/user (field "internal email address" in the entity Users), this value will be set to the variable "EmployeeEmail". The fourth step in the process will be filtering the weekly registered hours out the entity "Hours". 
msflow08 - step 05-4.pngFiltering registered hours

The fifth step of the process will be calculating the total amount of registered hours in the week.

msflow08 - step 05-5.pngCalculate Total Hours

Getting the hours will result in output as a string (example 1.5). This need to be converted to a floated integer value, before adding to the number variable that has been defined upfront, see screenshots below.

msflow08 - var - detail1.png

 

The calculation in detail:

msflow08 - step 05 detqils.pngProcess calculation details

In the last two steps, the total amount of hours will be check if there is a minimum of 40 hours registered, when not email notification will be sent to the employee/user to review his weekly time registration. The total hours variable will be reset to zero for the next check for another employee/user.

msflow08 - step 05-6-7.png

Total overview of the Flow, see below.

msflow08 - total.png

When questions or remarks please feel free to contact me.

Thanks for reading!

Comments
Anonymous

Hi, 

 

This is exactly what I have been looking for.

Are you able to expand some of the flow steps a little more or export and share as a zip?

 

Thanks,

 

Mike

Hi @Anonymous , can you send me a personal message? 
Then we will try to arrange a call so that I can explain everything a little more.

 

Regards,

 

Frederik

Anonymous

Hi Thank your for this interesting guide .Could you please provided more details for the variable created 

 

Best Regards 

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/