• Skip to main content
  • Skip to primary sidebar
  • Skip to footer
  • Home
  • Blog
  • Power Platform
    • Power Apps
    • Power Automate
    • Power BI
    • Power Virtual Agents
  • Dynamics 365
  • Azure
  • About Me
Joe Gill Logo

Joe Gill

Microsoft MVP - Power Platform Consultant

Home » Power Platform » Dynamics 365 » PSA Contractor Time Entry

PSA Contractor Time Entry

25th July 2017 by Joe Gill Leave a Comment

PSA Project Actuals

A shortcoming in the current release of Dynamics PSA, Project Service Automation, is that it only allows you to book time against a project for resources that are users. Resources in PSA can also be created for contacts and this is a typically how you handle sub contractors. You create them as a contact and then create a bookable resource records linked to this contact. You can then assign this resource tasks on your project.

The Time Entry function allows users to enter their time worked on project tasks and they can also use delegation to enter time worked on behalf of others users. When the time entry records are approved this triggers the creation of the project’s actuals records which get rolled up to the projects actual hours and progress percentage figures. More importantly the actuals are also used for invoicing. Unfortunately there is no way to enter the time worked for a contact type resources so your project level actual figures will be incorrect.

This blog posts suggests a “no code” way you can enter time worked for a contact resource  by booking their time against a single generic user and using a custom relationship to record which contact it relates to. So the first step is to create a new relationship between the between the time entry entity and the bookable resource entity.

PSA Contractor Time Entry Joe Gill Dynamics 365 Consultant


Then create a custom entity where you can enter contractors time. This basically is a copy of the time entry with an additional field to link it to the contractor’s resource record.

PSA Contractor Time Entry Joe Gill Dynamics 365 Consultant
PSA Contractors Time Entry Entity

Now create a workflow that fires when a contractor time entry records is created that creates the time entry records and populates the lookup field we created in the first step. This time entry records will be created for the owner of the workflow.

PSA Contractor Time Entry Joe Gill Dynamics 365 Consultant

Now when you save a new records contractor time entry record the workflow fires and creates  a time entry record. By default the time entry record is created with its Entry Status set to Draft so it needs to be submitted by the workflow owner or a delegate.  By setting the description field with the contractors name, in the workflow, the user submitting the time entry can see the contractors name.

PSA Contractor Time Entry Joe Gill Dynamics 365 Consultant

 

Once submitted the project approver can approve the time entry and the projects actuals get updated.

PSA Contractor Time Entry Joe Gill Dynamics 365 Consultant

This is not a foolproof solution to this problem, as it does not cover scenarios like reversals,  but it does provide a simple no code solution to create contractor time entry in Dynamics Project Service Automation.

In case you are interested in trying to use the SDK to enter a time entry record for a contract type resource
by setting the bookablerersouce as shown unfortunately it won’t work. It always set the bookableresoure to the user running the code.

Entity e = new Entity(“msdyn_timeentry”);

e[“msdyn_bookableresource”] = new EntityReference(“bookableresource”, new Guid(“4F1483D8-5C33-E711-80FD-5065F38B0302”));

 

Share This On Social:
  • Tweet
  • PSA Contractor Time Entry Joe Gill Dynamics 365 Consultant

Filed Under: Dynamics 365, Project Service Automation Tagged With: dynamics 365, project service automation, psa

Reader Interactions

Leave a Reply Cancel reply

You must be logged in to post a comment.

Primary Sidebar

Popular Categories

  • Power Platform
    • Power Apps
    • Power Automate
    • Power Virtual Agents
  • Azure
    • Logic Apps
  • Dynamics 365
  • .NET
  • AI
  • SQL

More to See

Power Platform Requests – Base Request Capacity

17th December 2020 By Joe Gill

Power Automate Desktop

Power Automate Desktop – UI Flow

26th November 2020 By Joe Gill

Tweets

Footer

Joe Gill

Microsoft Business Applications MVP – Power Platform, Dynamics 365 and Azure.

An architect with over twenty years experience designing and developing technology solutions. Specializing in the Microsoft technology stack including Power Platform, Dynamics 365 and Azure. Microsoft MVP Profile

Connect on Social

Useful Links

  • Home
  • Blog
  • About Joe Gill
  • Power Platform
  • Dynamics 365
  • Azure

Featured Posts

Power Platform Requests – Base Request Capacity

Power Automate Desktop – UI Flow

MB-600 – Solution Architect – Supportability

AI Builder – Form Processing Layouts

© 2021 · Joe Gill