Webcraft Solutions

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.    

Expenses in PSA for Fixed Bid and T&M contracts

Problem Definition: One of my clients decided to use Expense module in PSA and to his surprise he could see the amount value to be 0 in the Actuals. But, at the same time the Cost line had values in it. Upon researching and digging into all the configurations I was tiered and couldn’t conclude. Finally, one configuration that made it work was to add the Transaction Category in the Sales Price List and make it Chargeable at Cost. Below is how to do it: Navigate to the project contract. Open the Pricelist associated with the Contract. It can be either the default pricelist or can be the custom price list for that particular contract. In the case shown in the screen shot, it is the Custom Price List. How do we Identify whether it is a Custom Price List is that, with the name of the Pricelist i.e. Sales Price List USD, there is the name of the opportunity and the Timestamp appended to it. You will see it in the screenshot below. Once you open that Custom Price List and Navigate to Category Prices, Click on “+ Add New Transaction Category” You will see a Quick Create Form opening up to add the Transaction Category. Fill in the details as shown in the below screenshot. The click on Save and Close and you will see your transaction Category added in the Grid. Your configuration is now ready. The next step is: To raise an expense as shown below. Configure/Create a Expense Category and relate it to the Transaction Category as per below. Navigate to Settings Area and Click on Expense Categories and then click on New. Fill in the details as shown below. If you observe in the above image, there is a Transaction Category associated with the expense category and that is the one that should be present in the PriceList that we discussed initially in the above part of this blog. Once the expense is raised, Submit it. Submission sends it for the project Manager for approval. Project Manager approves it and as soon as the Project Manager approves it, it gets converted to Actuals as shown below. Last step is to Create Invoice and see if the Expense gets shown up in the Invoice. For the same traverse to Project Contract and Open the specific project contract. It will automatically take you to Invoice Entity where the Invoice will be generated as shown below. Tips to remember: For Fixed Bid Project contract, you will need to create one more project contract line header which is of T&M type. This will be associated with another project on which you can raise the expenses. For T&M, we can still continue to raise the expense on the same project and there is no need of creating one more project contract line header. 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.