Dynamics 365 PSA setup and user guide

This is for all you guys who want to learn MS D365 PSA. I faced lots of trouble while referring to documentation available from MS. It is good but not exhaustive enough. So i thought of writing an e-Book on my own (Step by Step guide); a place where i can myself go and figure out how to do certain things in case i forget something of the product. You guys can also download the e-Book from here, PSA User Guide

PSA Quick Tip: How to give Team Members access to only do time entries and expense entries and not expose other entities in PSA v3.X

Problem Definition:

We sometimes have a few team members who only need to do the time entries and expense entries. They do not need any exposure to other entities. How do we make it possible via the OOB (Out of the box) security roles in PSA V3.X.

Solution:

  1. From the security–>Users–> select the user–>Manage Role and Only keep “Project Resource” Role.SR1
  2. Go to Security–>Security Roles–>Open the security Role “Project Resource” –> change the following 2 parameters read/write access as shown below in the image.sr2sr3
  3. Log off and log in again and you are set 🙂

 

 

 

 

First canvas Power app: Learn few easy and important commands

As my thoughts build to initiate writing this blog, similar was the feeling when I first thought about exploring Power Apps. The expression was, “What exactly is Power Apps?”. When the world is talking about it, it brings me more curiosity to understand what is so powerful about it.

Let’s first commence with understanding what exactly is Power Apps:

  • PowerApps is an initiative by Microsoft that allows developers and nontechnical users to build mobile applications from selectable templates.
  • The objective of PowerApps is to enable business users to build new capabilities via apps, without requiring that they have code expertise.

 

Types of Power Apps:

  • Model driven apps: These types of apps directly publish the entity on the mobile/ tablet. These apps can be used from Microsoft Dynamics 365 App from mobile. They are very easy to make and can be ready within 15mins of time.
  • Canvas apps: These apps are blank canvas given to the developers with a free hand to design the app in the way they want.

In this blog we shall focus more on how to make a Canvas app. Follow the steps below to make a PowerApps.

Step 1:

Login to www.portal.office.com

Step 2:

Click on PowerApps icon as shown in the image below:ca0

This will open a new browser tab where we need to select what kind of app do we need to make.

ca1

Step 3:

Click on Canvas app from blank, which opens a pop up. Please name your app and select whether the app is for Phone or for Tablet as shown below and click on Create button.ca2

This opens the Canvas app editor as shown below:

ca3

To take this blog forward, I will use an app that is created by me and explain a few commands used by me and how was the design done in that app.

The app captures the Grievances of people in office.

There are 5 screens created by me and they are:

  1. list_Grievances Screen: This list all the grievances in the system.ca4
  2. frm_GrievanceRecord Screen: This opens a grievance record.ca5
  3. Frm_NewGrievance Screen: This screen is used to capture a new grievance.

ca6

  1. Frm_CameraScreen : This is used to capture the image of the grievance using camera control.ca7
  2. SuccessScrn: This is used to display the success on the screen.ca8

Technical dive

Let’s take a dive in each screen and get into understanding of functionalities developed on each screen:

  1. List_grievances
  • New Grievance button: This button will navigate to a frm_NewGrievance Record to capture new grievance from the employee. The code written behind that is:

Navigate(

frm_NewGrievance,

ScreenTransition.Fade

);

  • To display the list of Grievance I have inserted a List Screen as shown in the image below:

 

ca9

  • To display the list of Grievance, we need to add a Data Source. How to add a data source is shown below:

ca10

ca11

There are approximately more than 250 Data sources to which Power apps can connect. Select the data source you wish to connect. In my case, I will connect to Dynamics 365 Data Source.

ca12

It will ask you to choose your entity and then you can click on connect.

ca13

Your Data Source “Grievances” will start appearing in Items drop down of Property Window.

Post that we can align the attributes that we need to see on the list view:

To Display Employee Full Name, below is the code that i wrote:

ThisItem.’Employee Full Name’

ca14

To get the department value, which is a lookup to another entity below is the code that was written

LookUp(Departments,new_departmentid=ThisItem.Department, new_name)

ca15

To display the image from the SharePoint Library, below is the code:

LookUp(GrievanceLibrary, Title = TitleGrievance.Text, Image)

ca16

Where GrievanceLibrary is the Sharepoint Datasource added in Powerapp and Title and image are the fields created in SharePoint.

 

To open the Grievance record on frm_Grievance Record, write the below code:

Navigate(frm_GrievanceRecord,ScreenTransition.Fade,glryGrievances.Selected)

 

  1. frm_NewGrievanceRecord:

To store the new grievance record, we used the Form Screen.

ca17

On the update button, write the below code:

Patch(

    Grievances,

    Defaults(Grievances),

    {

        new_employeefullname: DataCardValue3.Text,

        new_description: DataCardValue15.Text,

        _new_departmentl_value: DataCardValue10.Selected.new_departmentid,

        _new_grievancetypel_value: DataCardValue6.Selected.new_grievancetypeid,

        new_signature: PenInput4.Image

    }

);

Patch(

    GrievanceLibrary,

    Defaults(GrievanceLibrary),

    {

        Title: DataCardValue3.Text,

        Image: First(Collection1).Url

    }

);

UpdateContext({resettext: !resettext});

UpdateContext({resetcombobox: !resetcombobox});

Navigate(SuccessScrn,ScreenTransition.Fade);

  1. frm_CameraScreen

Insert a Camera Media Control on the form as shown in the below screen shot.ca18

Insert an image control on the form below the Camera Media control.

Capture button code:

ClearCollect(Collection1, Camera1.Photo)

Collection 1 s described above is the SharePoint collection object which needs to be cleared and then referred with the new Photo from the Camera Control, which in our case is Camera1.

Confirm button code:

Confirm Button will only Navigate it to New Grievance form and the code is ass per below:

Navigate(frm_NewGrievance)

 To summarize:

  1. We learned how to create a Canvas Power app.
  2. Different controls that can be used.
  3. How to store image on SharePoint in a Power app.
    • Again I am sharing the code for storing the image on SharePoint herewith:

Patch(

    GrievanceLibrary,

    Defaults(GrievanceLibrary),

    {

        Title: DataCardValue3.Text,

        Image: First(Collection1).Url

    }

);

  • To explain the above code, GrievanceLibrary is the SharePoint site of which Data Source is added.
  • Title: This is a field in the Sharepoint library that will store the name of the Grievance. The data type in Sharepoint for Title is Single line Text
  • Image: This will store the image in Sharepoint library in Base64 format. The data type of this field will be Multi lines of Text , but, we need to ensure that the rich text format is set to No. Please refer to the below screen shot.ca19

 

This blog reflects my personal findings and based solely on my experience of using Power Apps.

 

 

Resolution to bulk import Time Entry issue of importing Cancelled Time Entries in PSA V3.X

Problem Definition:

Post upgrading to V3 I faced issues while importing the time entries from my Resource bookings. This was not the case with V2. In V2 when I went to Import Time Entries from Resource Bookings, it used to pick up all the time entries that were in Active State.

BI1

Resolution:

The resolution to this was simple, but, little tricky. Below are the steps to be followed to get the issue resolved.

Step 1:

Go to the D365 – Custom App as shown in the below image.

BI2

This will take you to the classic interface of D365 CRM as shown below.

BI3

Step 2:

Navigate to Settings –> Customizations

BI4

Step 3:

Click on Customize the System.

BI5

This will open a screen as shown below.

BI6

Step 4:

Navigate to Entities –> Bookable Resource Booking –> Views and open the view named Resource Bookings for Time Entries Import

BI7

Step 5:

Click on Edit Filter Criteria and add a condition

Status –> Equals –> Active

This conditions ensures that only the Active bookings is to be selected.

Then click on OK and Save and Close.

BI8

Finally click on Publish All Customizations.

BI10

Now when you try to import the time entries from Resource booking it will import only the Active time entries and leave behind the cancelled time entries. The issue is resolved.

This blog reflects my personal findings and based solely on my experience of using PSA for last 3+ years. For those who are looking for a platform that can track and manage the entire procedures of sales and project managements, I would highly recommend them to try Microsoft dynamics 365 for project service automation.

 

 

 

 

Time Entry Adjustment in Journal with PSA V3.7

Problem definition:

With the previous releases, PSA could allow adjustment of Time Entry hours via mere plain Journal entries. That means, if we need to adjust a couple of hours or adjust a time entry worth 4 hours, we needed to make a 4 hours journal entry, which could not be tracked against a Time entry.

Problem Solution:

With PSA V3.7 there is a Journal correction for Time Entries which can be done against a Time Entry done. How do we do it is shown in the below steps:

  1. Suppose we a do a Time entry of 1 hours for a Project and Submit it for approval as shown in the below screen shot.

TE1

  1. Approve the same via Time Entries for approval.TE2
  2. As soon as the time entries are approved, they get converted to Actuals. This can be validated by going to Project Contract–>Select the appropriate Contract –>

You will see there are 2 records that get created:

  1. Cost
  2. Unbilled Sales.TE3
  3. In order to get the same adjusted via Journals, go to Journal Entries, Sales –> Journals and click on +NewTE4

 

  1. Write the Description and select the Journal Type Equals “Time Correction” and Save the record.TE7

 

  1. Click on Browsers back button, Open the Record from Active Journal view and click on Time Entry Corrections Tab.

TE6TE8

  1. Fill in the fields:
    1. Project
    2. Project Task
    3. Time Entry Date
    4. Bookable Resource
    5. Resource Role
  2. From the below grid select the Time Entry for which the correction is needed, by clicking on the Add Existing Time Entry and then select the time entry from the quick create form that opens and click on Add.
  3. Post Step 7 and Step 8 is done, click on Preview Button from the Ribbon control as highlighted in the screen shot below.TE9
  4. It will highlight the Journal Lines Tab and show you the Journal Entries with negative values of the value of the time entry and there will be 4 records that can be seen. 2 with positive value of the time entry and 2 with negative that is the Adjustment value.TE10

This is how we can do the adjustment of the time entry which indirectly creates a Journal entry against the time entry done.

This blog reflects my personal findings and based solely on my experience of using PSA for last 3+ years. For those who are looking for a platform that can track and manage the entire procedures of sales and project managements, I would highly recommend them to try Microsoft dynamics 365 for project service automation.

 

 

 

What if the Resource Requirement Still appears post the task is deleted from Schedule (WBS) in PSA V3?

Problem Definition:

I have observed a fact in PSA that when the task in PSA Schedule (WBS) is deleted, the corresponding Resource Requirement doesn’t get deleted. Hence, it keeps on appearing in the Schedule Board to allocate.

Resource Managers face difficulties in order to understand whether to allocate them or not. Hence, it is a job of Project Manager to ensure they are not appearing on the Schedule Board to allocate.

Solution:

Following are the steps with which the Resource Managers can ensure they do their job end-to-end post the task is deleted from the Schedule (WBS).

Step 1: Check in the Schedule Board in the Project Tab whether the task appears to schedule. If not, then the job is done.

SB1

Else, do an advanced find on the Resource Requirement with the below mentioned criteria shown in the screen shot.

SB2

See the results of the Advanced Find shown below.

SB3

Open the task from Advanced Find by Double Clicking on it and check the status of the task.

SB4

Change the Status of the Task to Canceled and Save the form.

SB5

The task will now not appear in the Resource Requirement. You are done with the solution.

This blog reflects my personal findings and based solely on my experience of using PSA for last 3+ years. For those who are looking for a platform that can track and manage the entire procedures of sales and project managements, I would highly recommend them to try Microsoft dynamics 365 for project service automation.

 

 

 

 

Non-Billable classification of task work around in PSA V3

Problem Definition:

As soon I upgraded my PSA version from V2 to V3, I saw that the role field got deprecated. Not only that, it was removed from Schedule (WBS in V2). We now had the functionality to directly assign resource to the task against having assign role.

The projects that got migrated from V2 to V3 were all tagged with the resource named “Auto-Developer” and were with the roles, but, was not advisable to go the deprecated way.

We now as an organization, heavily dependent on our day-to-day activities had to change the way we work and had to understand and reframe the working methodology for the following things:

  1. How to take care of the tasks that we need to make it Non-Billable
  2. Where to assign roles and learn to assign Resources instead.

 

Solution:

The above problem was not an easy cake to eat. The impact went all the way to Schedule Board and we need to redesign the way we allocate on tasks, since, I started seeing duplicate tasks on schedule board, one with Role and one without Role.

I had to change the view query to reflect the tasks without role and match the remaining hours to the previously assigned hours on the task. Now this became a major challenge. We had to export all the bookings from the system and delete the previous allocations on the task with role to the task without role. This would then match the remaining hours to allocate on the task.

The next things I did to make the tasks be treated as Non-Billable was to add the Column in the Schedule named Category, Wherein I added a Category named “Non-Billable”. This category was made Non-Chargeable.

Char 2

This is the Transaction Category which can be added from Settings–>Transaction Categories

char1

I added a Calculated Field on the Project form then to calculate the Billable Hours which excluded this Non-billable Category task to see the correct Billable estimate of the project.

BI Team in your organization will now need to change the reports adjusting to the above criteria to reflect the correct data.

This blog reflects my personal findings and based solely on my experience of using PSA for last 3 years. For those who are looking for a platform that can track and manage the entire procedures of sales and project managements, I would highly recommend them to try Microsoft dynamics 365 for project service automation.

 

 

 

 

 

 

Getting the price right post the time entries are approved in PSA

PSA demands a perfect configuration and that is the proof of being a sophisticated application. You won’t see any result unless the configurations are all set right.

Use Case: I am observing from quite sometime that my Accounting Team complaints that when the Actuals are created on the project they are with 0 value. This was an issue as I went out to check a couple of things:

  1. Is the project having a currency tagged to it.
  2. Is the project price list existing for the project.
  3. Is the resource having a Resourcing Unit tagged to himself.
  4. In the approval tab is the time entry submitted by the resource having a Role and is it Chargeable.

To my surprise all of the above were looking correct.

Out of curiosity I digged in one more step and that’s where I found out the issue:

 

Issue Resolution:

Step 1: I navigated to D365 Project Service–>Resources. Search for the resource who is working on that project.

RU1

Step 2: Open the Resource by clicking on it and then navigate to the Scheduling Tab.

RU2

Step 3: Make a note of the Organizational Unit mentioned for him. In this case it is CloudFronts Mumbai (USD).

Step 4: Navigate to Projects and Sales Tab and Open the Project Contract Header by clicking the link in the Project Contract grid.RU3

Step 5: Navigate to Project Price Lists and Open the Price List in the project price lists. Navigate to Role prices. Check the Role and the Resource Unit mentioned for that Role should be exactly the same as the Resourcing Unit mentioned for the Resource mentioned in Step 3.

RU4

Now when you try approving the time entries the Actuals will have correct price. You are done.

This blog reflects my personal findings and based solely on my experience of using PSA for last 3 years. For those who are looking for a platform that can track and manage the entire procedures of sales and project managements, I would highly recommend them to try Microsoft dynamics 365 for project service automation.

According to my opinion, implementation of Microsoft dynamics 365 for project service automation is one of the best things that we did in CloudFronts Technologies. We have gained a lot with this implementation because we save time and money due to easy access resources and ability to manage them.