Category Archives: D365 Project Service Automation
Chargeability view substitute in PSA V3
Introduction: In recent deployments of Dynamics 365 Project Service Automation (PSA) V2 for customers, I’ve come to rely on the chargeability view as a way to modify a quotation and reach the appropriate pricing for a project. In V3, PSA has abandoned the chargeability view. But no need to worry, I will show you how to accomplish the same thing with customer pricing in PSA V3! Steps: Let’s take the example of a quotation I have prepared for the Rotary Club. They need CRM to be implemented. By default, the price list that gets tagged comes from the opportunity that we create or the one that we tag with the quotation. Let’s check the price of a developer in the default price list in the screenshot below. Here, the default price that it shows is $1,250. I built a quotation to the customer based on my default sales price list. Below is what it looks like. The quote now is $12,500 ($1250 x 10 quantity) for 10 hours of requirement gathering. After submitting the quotation to the customer, they came back with a request to reduce the pricing. Now how do we achieve this in V3 which lacks the chargeability view of V2? In V3 we will need to follow these steps: 1. Open the quote 2. Click on “Project Price Lists” as shown in the below image: 3. Click on Create Custom Pricing and PSA creates a custom price list for the quote where you can store the negotiated price like you used to do in chargeability view. 4. Open the price list by clicking on it. There you can navigate to role prices. Select the line on which you want to update the price and click on the edit button that comes up in the header of the grid. Then you can proceed to update the prices based on what you have negotiated. To post the updated prices, click on the activate button. The sequence is shown in the image below. Overall, the process tends to be pretty intuitive. 5. Navigate back the Quote line and follow one more final step: If you open the Quote line details to see if the prices have been updated, you will see that the prices are still the same as the old entries. In order to reflect the new updated roll prices, open the line, go to remove the roll, and re-enter the roll to fetch the updated price. The updated quote with the updated price looks like this: And with that, you have achieved the functionality. Conclusion: Microsoft Dynamics 365 for Project Service Automation enables companies to deliver projects more productively and profitably with higher client satisfaction. Even though PSA V3 has eliminated the chargeability view, it is still possible to access the view in a much simpler way.
Share Story :
Delegated Resource error for making time entries in D365 PSA 2.x version
Have you been added as a Delegate for a fellow colleague but not able to Read, Create or Submit Time Entries on their behalf? Let us see what you are missing. Scenario: William Contoso wants to make Veronica Quek as his Delegate and let her enter time on his behalf. Let’s say William added Resource Veronica Quek as the Delegate above. Error for the Delegate Resource: Now, Veronica is attempting to do time entries for William by going to Time Entry Calendar view and switching the user to William. And when Veronica wants to enter time as William, she’d switch to the User on the Time Entries Calendar View like this – But, see this error and she don’t know what the issue might be. Even though she’s the Delegate! Missing Security Role: Yes, this is the first thing you should check. Veronica Quek is missing a Delegate Security Role in PSA to be able to make time entries on behalf of other users. Assign Delegate security role to the user to make them enter time on behalf of others. And thus, your Delegated User should be good to make time entries.
Share Story :
PSA – Create Time Entry Delegations for all resources
Background: One of the frequent requests we continuously get from our clients is for someone else to do Time entries on behalf of other resources. We know that this can be done using Delegations feature in Dynamics 365 PSA. You can read more about delegations here written by another D365 PSA Expert – Priyesh Wagh : Delegating Time Entries in D365 PSA Example: But if we want to do this for all the Resources, then it is tedious and not practical to ask each resource to create delegate. For example, on of our clients requested that HR should be able to enter Time entry on behalf of any resource in the organization. I also saw that many organizations need a feature like this. So I thought of creating a console application which will get all the Bookable resources of type User and create Delegations. Below is the code that you can use to create delegations for all users in the organization. You can use the same code to create a plugin if you want to automatically create delegate on creation of Bookable resource. Sample Code: You can get the entire code from my Github #region Create Delegations for all User Bookable Resources to Particular person foreach (Entity bookableResource in userBookableResources.Entities) { Entity TimeEntryDelegation = new Entity(“msdyn_delegation”); TimeEntryDelegation[“msdyn_delegationfrom”] = new EntityReference(“bookableresource”, bookableResource.Id); TimeEntryDelegation[“msdyn_delegationto”] = new EntityReference(“bookableresource”, DelegateToId); TimeEntryDelegation[“msdyn_startdate”] = new DateTime(2018, 10, 1); TimeEntryDelegation[“msdyn_enddate”] = new DateTime(2022, 12, 31); TimeEntryDelegation[“msdyn_type”] = new OptionSetValue(192350000); //Time Entry TimeEntryDelegation[“msdyn_name”] = string.Format(“Delegation to HR for {0}”, bookableResource.GetAttributeValue<string>(“name”)); try { Guid DelegationId = _client.Create(TimeEntryDelegation); } catch (FaultException<OrganizationServiceFault> ex) { Console.WriteLine(“Resource: ” + bookableResource.GetAttributeValue<string>(“name”) + ” Error: ” + ex.Message); } } #endregion Note: Please note that the “Delegate to” Resource/ User should also have Delegate role in order to be able to do time entry on behalf of others. If not, then you will face below error:
Share Story :
Contract Invoice Schedule Status Change on Invoice Actions
Stages of Invoice Schedules are changed behind the scenes as you perform actions on the Invoice of the Contract. Let’s see what we have got here – So, when an Invoice Schedule is Ready for Invoicing, it will be considered in the Invoice you’ll end up creating. Now, if you create the Invoice for that Contract (shown below) The status now changes to Customer invoice created. And, when you mark that Invoice as Confirm, shown below – The Invoice schedule record’s Invoice Status will be changed to ‘Customer invoice posted’ Pretty straight forward!
Share Story :
Enable Run Report button on Project Entity in D365 PSA
Introduction: This blog details steps for Run Report button on Project Entity in D365 PSA. Pre-requisites: 1. Ribbon Customizations solution installed in environment. Steps: Below are steps to configure Company Insights on custom form “FSA Account” for Account Entity 1. Create a new solution for Ribbon Customizations. Add project entity in the solution. 2. Add Another entity which has Reporting Enabled like – “Opportunity”. 3. Open the new solution in Ribbon Work bench. 4. Copy the “Report” button from Opportunity. 5. Paste the Button on Project Form Ribbon like below: 6. Publish the ribbon Customizations. 7. You should now be able to see the Run Report Button on Project form. 8. Similarly you can also add other buttons like “Run Workflow” or “Start Dialog” button on Project or any other entity which does not have this enabled by Default. Conclusion: Hope this blogs helps you to enable “Run Report”, “Run Workflow” or “Start Dialog” button missing from Project entity in D365 PSA.
Share Story :
Quote revision in D365 PSA
Problem Statement: D365 Sales on CRM in general has ability to revise Quotes to track the Quotes revision. In sales, the process was to Activate the Quote, and then you get option to Revise Quote which will create the Copy of Quote with new revision number in Draft state. In Project Service quotes, we don’t see the option to Activate Quote or Revise Quote. Solution: Steps to Revise Quote in Project Service Quotes. Close the Quote as Lost using the button – “Close as Lost” Then you can see the button – “Revise Quote” This action will revise the quote with new Revision Number.
Share Story :
View Resource Skills and Roles on Schedule Board in D365 Field Service / PSA
Introduction: This blog explains how to view Resource Skills and Role in D365 Field Service / PSA. Scenario: We often get inquiry from Clients do we have option to view Resource Skills or Roles on Schedule Board before scheduling a Work Order to Resource. Steps: Open Schedule Board and follow below steps to view skills / roles of Resource. a. Select Resource in Resource Panel as highlighted b. Right Click on Selected Resource and Click on View Resource Card. c. Resource Details will displayed as shown below screenshot with details like Time Zone, Sills, Roles of Resource and many options to connect Resource like chat/email/phone call. Note: Above explained blog is with Reference to D365 Field Service Version 7.5.1 Conclusion: Using above mentioned steps, you can view Skills or Roles of Resource and many options to connect Resource like chat/email/phone call on Schedule Board in D365 Field Service and PSA.
Share Story :
D365 PSA: Impact of Project Closure on Bookings
Introduction: Let’s look on a high-level of what Project Closure has impact on the Bookings on the Schedule Board. Now, while working in D365 PSA, I encountered that I needed to mark a Project as Completed even when I had some bookings in the future. This led me to notice its effect on the Bookings (Bookable Resource Bookings records) I’ve created which also span a little into the future. Project Booking for a Resource: Now, let’s see the below scenario, Brian is booked on Archer Pens Project according to the following 13 and 5 hours (8 hours) on 9th July 2018 10 hours on Monday, 10th July 2018 10 hours on Tuesday, 11th July 2018 5 hours on 12th July 2018 9th July 2018- 10th July 2018- 11th July 2018- 12th July 2018- Now, if I mark the Project as completed today i.e. 10th July 2018 and the End Date being tomorrow i.e. 11thJuly 2018. Let’s see what happens – I marked the Project as Completed (went past the Complete stage in the Business Process Flow) as seen below – Deletion of Bookings: Once I mark the Project as Completed, the Bookings for today, 10th July and all the future Bookings will be deleted. Only historic Bookings before today will remain in the system. If I check back, 10th July will have no Bookings 11th July will have no Bookings And 12th July too will have no Bookings anymore What remains is only for 9th July because it is before the date I closed the Project Note: I also tried to observe if today’s bookings have any end time before I actually Closed the Project. Meaning, a booking ending at 10 am and I Close the Project later at 12pm, it would still delete today’s Booking for the day. So, close Projects carefully if you feel you need to close them in advance, just in case.
Share Story :
Customizing the Booking card information on Scheduled Board – D365 PSA/Field Service
In order to help your organization manage complex service management track assets and inventory, identify and dispatch resources, and manage service order Microsoft has given D365 field service which is an end to end solution that turns out to be an integral part of your day to day business. It provides customers with proactive updates and self service portals that helps is tracking of technicians hence giving customers a smooth and positive experience at every step. Detecting troubleshooting and resolving issues has been made possible through Dynamic 365 field service due to which a technician is dispatched only when it is necessary. A real time guidance is provided in order to build customer trust and improve resolution time which empowers technicians with a 360 degree view of the customers. Introduction: Sometimes, stock Schedule Board doesn’t quite do justice by default to your bookings and how Dispatchers see this information today. Out-of-the-box information on a Bookable Resource Booking looks like this – What if you want to modify this information and show what’s relevant to Dispatchers? Modifying the Schedule Board: You can modify the details of what you need to see on the booking by modifying/configuring some details as shown below: First, this is how the default Booking Template looks like – Double-click on the board you want to make changes to (Or, navigate to Tab Settings). As in picture 1 above, double-click on Initial Public View to open the Tab Settings area, then look for Schedule Types section and look for Work Order / Project entity (depending on which entity’s Bookings you want to effect.) In the Booking Template section, write this sample code which will show different information other than what comes out-of-the-box. Sample Code: Customer:{msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_account_msdyn_workorder_ServiceAccount.name} WO Name: {msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_name} Type: {msdyn_msdyn_workorder_bookableresourcebooking_WorkOrder.msdyn_workordertype} 5. Once finished, click Apply. The Schedule Board will refresh and you’ll see the updated information as shown below: And very simple, you’ve modified the Booking Template without much hassle or complex coding.
Share Story :
Scheduling Project Tasks in Dynamics 365 PSA
Overview: Out-of-the-box, it is not possible to Book a task a on the Schedule Board, instead what you get at the easiest disposal is to allocate partitions of the Project to the resources and not the items from the WBS! Well, as a workaround, I’ve enabled the Project Task entity for Resource Scheduling using the PSA OOB feature to make this happen. Enabling Project Task Entity for Resource Scheduling: To be able to schedule a Project Task on the Schedule Board, we must first expose the entity itself for this capability. Here’s how you do it – Navigate to Resource Scheduling once you are using PSA and then select Administration. Then, select Enable Resource Scheduling for Entities Then, look carefully that the only entities enabled are the Project and Work Order (Field Service) Now, you want to add Project Task entity so that you can directly use Project Task to schedule on the Board. Make sure you make your selection as per below and click on Publish Customization Once Published, Project Task will appear in the Enabled Entities list Scheduling on the Project Task on Schedule Board: Assume you have some Project Tasks to Schedule, you can simply use those as you would do for Project and Work Order and you can schedule in the usual way thus, achieving Scheduling on Project Tasks from WBS instead of the Project.
