Quick Tip: How to apply non-working hours from Calendar Template in PSA / Project Operations
Problem Definition: It is generally thought by Project Operations / PSA (PO/PSA) users that the non-working hour cannot be copied via 1 Template resource to another resource when the Calendar Template is assigned. It is only assumed that the working shifts and the weekends marked are the only ones that gets copied. But that is not the case. There is a minor catch in how we do it. Following tip will help you make the non-working hours copy when a Calendar template is applied to a resource that contains a template resource which has the non-Working hours in the Work hours. Solution: Perform the following steps to get to the required solution mentioned in the Problem Definition. Step 1: Add a non-working hour in the template of the resource by following the screenshots below: Step 2: Click on the Template Resource and add a non-working hour as shown below in the Screenshot. Step 3: Select the Date range that you want to mark as non-working days. Mark them as all day. In my case, I have selected 12-July as the non-working day. The Calendar gets marked with a non-working day as shown below. Step 4: Navigate to the Calendar Template again and Remove the Calendar Tempalte Resource and Save the Calendar Template as shown in the below screenshot. Step 5: Re-add the same Calendar Template Resource again and Save the Template. Step 6: Navigate to the Resource entity and select the resources whom you want to apply the Calendar Template and apply as shown in the below screenshot. Step 7: Final step to validate if the resource which was applied with the Calendar Template is having those non-working hours as the Calendar Template resource had. This blog reflects my personal findings and based solely on my experience of using PSA/PO for last 4 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. This helps in keeping all the ONLY ACTIVE projects in the view and the ones that needs our action and attention.
How to do split billing in D365 Project Operations?
Often there is a need to split the bill which can be paid by 2 parties for a project. For e.g. if we are getting a project executed and there are 2 customers involved, for whom the project is getting developed, they can decide on who should pay what percentage bill should be borne by whom. Project Operations comes with this functionality known as Split billing. The following steps illustrates how to achieve that: Step 1: Login to your Project Operations CE environment. Step 2: Create an Opportunity by Navigating to Salesà Opportunities Module and by clicking on +New button from Ribbon control. Step 3: Create a Quote, by clicking on the Quote Tab and then click on +New Quote as shown in the screenshot below: A Quote filled with all the details from the opportunity form is created. Step 4: Navigate to the Customers Tab in the Quote. Here is where you can add another customer who shall split the bill with the other customer. Click on +New Quote Customer as shown below, add the details and decide the percentage of billing as per need basis between each customer. Step 5: Add Quote Lines to the Quote as per shown in the screen shot below: Step 6: Add Quote Line Details as per shown in the below screenshot: Step 7: Once the Quote is Ready Mark the Quote as Won as shown in the screenshot below: Step 8: Once the Quote is marked as won a Contract is created with all the detail pre-filled (picked up form Quote). Then mark the Contract as confirm as shown in the screen shot below: Step 9: Navigate to the Billing Milestones and Open a milestone for Invoicing: If you observe, after opening the billing milestone, it has 2 lines in each for different Quote Line customers that we added. The amounts are also calculated based on the percentage of the split billing decided for both. Step 10: Change the status of both the lines to Ready for Invoicing as shown below: Step 11: Navigate to the Contract and click on the Create Invoice button from the ribbon as shown: Step 12: Navigate to the Invoice Entity from Sales Module as shown below. You will observe there are 2 different invoices created for both the customers: That ends the process. Here on the Accounts Manager can send out the invoice individually to each of the customer. The entire process briefed above is how the split billing works.
PSA Invoice Integration to Quick Books disclosed
Problem Definition: Often Invoicing needs of a company operating with Multiple geographic locations are sophisticated. PSA’s Invoicing module lags a bit in that and hence, people prefer using a third party tool such as QuickBooks (QB) from Intuit to manage their invoices. Solution: That doesn’t mean that we completely ignore the invoicing in PSA. We create the Invoice in PSA and Post the Invoice is created in PSA, we integrate it with QB. Following is the process we follow to Integrate the Invoices between PSA and QB Step 1: Create an Entity in CRM that stores the required information from QB like: Client ID Security Key Refresh Token Access Token URL: This is the URL that provides us with the Refresh Token that is valid for 101 days. For the first time, we need to manually login to https://developer.intuit.com/v2/OAuth2Playground/RedirectUrl and get the Client ID, Security Token and Refresh Token and store it in the Entity (Diagram show below for the entity designed in CRM). When we hit this URL, it provides us with some more information than the above information i.e. Expiry Time of the Token and in some cases the Refresh Token is updated and sent even though the validity is for 101 days. Hence, it is important to store the Refresh Token on all the call backs. Access API URL: This is the URL that is to call the specific Module from QB end (also know as the end point) to do the specific functions from Invoice Entity Design Diagram Step 2: Decide the fields from the Invoice Entity and call the function in the Step 3 to integrate and post the invoice to QB. Below screenshot shows the fields that are to be integrated to QB. There are fields that are apart from the OOB fields and needs for invoicing as per Global Industry standards. Step 3: Call the Invoice End Point from Access Token URL. Below is the Screen Shot of the code that is used to call the Invoice function from QB Basic Architecture of How CRM connects to QB Conclusion: The above process can do the integration for as many legal entities in QB. This will ensure all the invoice information from PSA to QB and vice versa as we may need some information to flow back from QB to PSA like QB invoice ID, Part Payment Information, etc. PN: The entire integration code is not mentioned in the above blog. In case there is any help needed, you may contact me.
Fast tracking the Sales Process in PSA with PowerApps and Flows
Problem definition: While creating OpportunityàQuoteà Contract the process is not easy and there are multiple clicks involved in reaching the end goal i.e. to finally create a Contract. We want it somehow to be with less clicks and so does people love the tools when smaller things are taken care of automatically by the system, like creating a basic structure project specific price list, creating the Quote line Details, creating of Milestones, etc. Solution: With the power of new technologies and challenging solution being brought to the table PowerApps combined with Flows have the ability to resolve the above issue to make users life simple by reducing the no of clicks and also by providing robust user interface. Let’s understand at each step of OpportunityàQuoteàContract process what is it that can be done to improvise the process as and when we navigate through the process. Step 1: Create the Opportunity by navigating to Opportunity Entity in Project Service App. Step 2: On the Save of the Opportunity a Flow runs behind the scene that does the following things: Creates the Quote automatically based on the billing Type. Creates the Quote Line record. Creates the Project Specific Price List. (Developed in Power Apps) This is now very easy to edit since the interface becomes very user friendly and it directly updates the Roles Prices in the Pricelist. This too is a lengthy process in the OOB PSA. Creates the Quote Line Detail with 1 line with: (Developed in Power Apps) Developer Selecting the Quantity as 1 hour. Picking up the rate from the default pricelist on the Opportunity. Step 3: Now the Salesperson opens the QuoteLineDetails to add more lines in case needed. Else, I prefer adding one line each role and adjusting the quantities appropriately to reach to the quote amount. Step 4: After the Quote is ready and the negotiations are done with the client, we proceed to win the Quote, which does the following: Marks the Quote as won. Creates the Contract automatically with all the information in Quote (OOB Feature) Automatically marks the related Opportunity Won: This is done via a Flow where it looks for the Opportunity from where the Quote was created and marks it as won. This was a manual process in PSA and also reduces first navigating to Opportunity and second marking it won. Conclusion: So, you can imagine how powerful the Flow that is written is and how much amount of time it saves of the Salesperson. All the above takes lots of clicks and entries to be done and hence is a time taking process when done manually. PowerApps too improvise the UI and enrich the look and feel of the app. It also helps in reducing the navigation between the entities and thus saving lot of time. The above blog is as per the process we have configured for our internal use @CloudFronts. All of the above information is as per the best of my knowledge of PSA, Power Apps and Flows.
PSA Quick Tip: How to Understand whether the Actual is invoiced or not
PSA Quick Tip: How to Understand whether the Actual is invoiced or not Problem Definition: Often the Accounting department is not so technical and comes back with small issues. One of the issues brought to me last week was, amongst 1000’s of Actuals how do we understand whether they are invoiced or yet to be invoiced. Pretty nice a question as when it comes to you for the first time you realise the trouble of invoicing department. This is mainly the trouble for T&M Project and not for Fixed Bid as the invoicing in Fixed bid is not depended on the approvals of the Time Entries done by the resources. Quick Solution: Solution 1: If you login to your PSA environment and navigate to your project. Click on Related Actuals as shown in the image. Traverse to the Unbilled Sales When you open that record, you will find a field Billing Status. Check the status of the field. If it is “Customer Invoice Created” meaning the invoice is created. Solution 2: Inorder to help the team and open them each and every actual record, I got a view created for them and saved it for them from Advanced Find. Following is the condition which I used to create the view for them. The result will only show the actuals that are not invoiced to the customer and are approved for invoicing by the Project Manager. 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.
First cut review of new D365 Project Service
The new Project Service coming up is a much-advanced version of PSA. Even more that it will be called as Project Service. We would learn about it and a few features that are exposed to the world shortly in the blog below. How to Install and Basic Requirement? The new project service can be installed on the Default environment of CRM. Now if this confuses you, let me explain. Every CRM environment has a Default CRM Instance associated to it. How to go and check it? Follow the below steps: Step 1: Ensure you have Project Plan 3 or Project Plan 5 license procured. Go to your admin portal and assign the license to your login id. Step 2: Login to https://admin.powerplatform.microsoft.com/ with your admin credentials. Step 3: Click on Environments. Before that ensure you toggle the switch to use “Try new admin centre”. Step 4: On the right-side pane, you will see a default environment mentioned as “Default” in front of the environment name. Click on it to see the URL of the environment. Step 5: Click on the URL to open the environment and below page will appear. Click on Project from the apps that you see. You will be taken the Active Project view as shown below: Create a New Project In order to create a new project, click on +New Project button mentioned on the Ribbon Control. It will ask you for some basic details like Project Name, Project Manager and Calendar Template. As soon as you save the project, the estimated start date comes up as the current date. Next step is the plan the schedule (WBS) so we will navigate to Tasks. As soon as you click on tasks. It will take some time initially for the first time to connect to the project online services and you will see 3 tabs coming as shown below. Let’s look at each one of them one-by-one. Grid This is where you create your WBS, Assign Resources, Set Duration, Predecessor and many more. As soon as the task is created in the WBS. It creates the similar task on the Board (Explained below). Good Thing: We can mark the task as complete in new WBS with Project Service which was not the case in earlier version (PSA). It is connected to the new Project Online Services so we can take advantage of the Project Online features right herewith. We can manage the project using the board which is much nice a feature. Needs Improvement: Here the Duration and efforts are tightly integrated to each other and in case one changes the other too changes. Boards should had allowed to add sprints in them, so we could even do Agile Project Management there. Board This is where you can create tasks, to which the resources can be assigned. You can add Bucket (Swim lanes in Azure DevOps) to manage the state of the tasks. It also manages the progress of the task, Remaining effort, etc. Timeline This is the Gantt Chart view of the tasks based on the efforts entered. What’s not available and when will it be available Currently only the WBS or the Project Planning Module via Project Online is Exposed for General Availability. The sales extension and the invoicing piece is expected to be announce in Feb’2020. This blog reflects my personal findings and based solely on my experience of using Project Service for last couple of months. 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 new Project Service as guided above.