Category Archives: Dynamics 365
How CPA Firms can Increase their Profitability & Productivity Using Professional Services Automation (PSA) Software
Project management teams use an array of products to manage different projects that they manage. They also use various tools or software to take care of tasks such as time tracking, raising invoices, etc. It is wise to use a PSA or Professional Service Automation software instead to do all the activities mentioned above with ease. There is so much action in a CPA or Certified Public Accountant Firms than in any other firm. Many companies have developed PSAs or Professional Services Automation Software for CPA Firms these days. Selecting the best product will help you to manage the tasks better. With the evolution of Technology, every industry is getting process oriented and so are CPA firms getting more organized and professional in their way of working. The software provides the immense capability for CPA’s to look into there Books of Accounts, manage their allocation for clients, Create Project Plan, Perform accurate Invoicing and what not. Impact on CPA firms with PSA As CPA firms complain about process orientation and adoption of software tools, as per our existing New York-based CPA firms, Project Service Automation (PSA) has helped them streamline the process and the inter-communication between the departments have becomes seamless and more optimal. Organized Central Repository of Data PSA being the data source and a single point where the data is stored makes it more powerful. System Administrators have a full view of the data and can provide access restrictions to who should have access to the data, what is visible and what can be modified. This is impossible without the central repository of data. The power unleashes itself, with solid reporting and dashboard, that allows you to take a dive in how and what’s of the business. Seamless Mobile Experience With the era of Smart Phones, applications are becoming smart enough to be accessed from mobile phones. PSA has a seamless mobile experience and when clubbed with Power BI reporting makes it one of its kind. A lot of strategic decisions can be made based on these Power BI reports. People while driving back home on the signal can do their time entries, raise expenses, access their opportunities, type in notes and what not via Mobile phones. Allocations Vs Time Entry & Expense Entry needs Technology keeps a business structured and so is Resource Allocation a good example of what PSA offers in its bucket. While the management can take a decision as to which employee is more billable and who is busy working on a client project, who is billable can all be taken out if the CPA’s are well allocated. While CPA’s do not believe in allocation, but this is the only way to run a result and data-driven the organisation. This is a proven fact with one of our CPA based firms. Along with Allocations by default comes the Time Entries. CPA’s if they do their Time Entries regularly are more likely to save 10% – 15% of revenue loss per annum. Also, what I heard from a CPA firm was even shocking “We do expense approvals based on trust”. PSA allows you to remove that factor as already mentioned, doing time and expense entries is a matter or seconds and can be easily done via mobile phone even when you are waiting at a signal. The receipts of the expenses also can be uploaded right at that time via your camera phone to make it more user-friendly. Project Management and Accounting makes PSA a choice of CPA firms Right from the sales cycle i.e. OpportunityàQuoteàContract and then from there to Project in PSA, CPA firms get benefitted since PSA guides them the processes at various levels as to keep the business organized. Like for e.g. our existing clients, a CPA firm, used to initiate the work even without the contract getting signed by the customer. Wherein PSA asks you to confirm the contract, post the same is signed by the customer. With the integration of SharePoint Online, CPA’s can access the signed contract directly from the Opportunity. All of the above drills down to how effectively CPA’s can Invoice it to the customer and this can be done with the practise of Time Entries and Expense Entries in the system religiously. PSA caters to all Fixed Bid and Time and Material projects which CPA firms make a choice between. Improvised Skill Selection and Schedule view Every allocation, before getting done asks for a variety of questions like, where can the Resource Manager see the schedule of all the Team. Which Resource bears what Skills. All such typical allocation questions are well addressed via PSA. Every Hour counts Yes, it true a thing as to every hour, in fact even a minute spent of CPA advisors are precious. It is Technology that can only help them get it converted into effective revenue. With PSA the effective way of working and dedicating time to a client gets better with time. A Happy CPA firm will only be when they will be able to offer enhanced services to the clients, offer stability and reduce errors. It is tough for a CPA firm to walk aligned with software as getting the right value from the same needs complete streamlining of processes. The opportunity is abundant if utilized well. CPA’s being not technically sound can rely on what is dictated by PSA to get a better outcome and indirectly improvise billing. This also helps the clients as the service offerings improve and hence the billing so too.
Share Story :
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. Else, do an advanced find on the Resource Requirement with the below-mentioned criteria shown in the screen shot. See the results of the Advanced Find shown below. Open the task from Advanced Find by Double Clicking on it and check the status of the task. Change the Status of the Task to Canceled and Save the form. 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.
Share Story :
Discount Settings for D365 Sales Line Items – Line Items or Per Unit?
For Line Item entities Opportunity Products, Quotes Products, Order Products or Invoice Products, you can chose what type of Discount you want to give out. This is a simple Organization-wise setting that you’ll need to set to define how Discount should be given on the Line Item level. System Setting Navigate to System Settings and under Sales tab, find this setting You can chose either between Line Item or Per Unit. Discount Behavior Line Item Now, when the Discount method is set to Line Item, the Discount value will be given to each of the Line Item regardless of the Quantity In the above example, the Discount $50 is applied to the entire Line Item entry of 2 quantities of the commodity of the price $1200 is 2 x 1200 = $2400 – $50 = $2350 ($50 Discount given to the Extended Amount) Per Unit And in case of Per Unit, the Discount amount of $50 is given to each Quantity in the Line Item In the above example, the $50 Discount is given to the quantity of commodity of worth $1200 each. i.e. 2 x $1150 ($50 Discount given to each Price Per Unit amount) = $2300 Hence, it vital what setting you want to use while giving Discount to Line Items in D365 Sales Hope this helps! 🙂
Share Story :
How to fix connectivity issues between SSDT, Report Authoring Extension and Dynamics 365
Microsoft has mandated TLS1.2 for Dynamics 364 v9.0, which is why we may face issue while connecting to the CRM online instance from visual studio for creating new report via fetch XML. This post will help developer to solve the connectivity issue for connecting with latest Dynamics 365 v9.0 using SQL Server Data Tools and FetchXml Authoring Extension. Issues: Not able to login Plugin registration tool (keeps popping up for Credentials) Not able to see custom entities in Plugin Registration tool Connection to CRM from Custom Web Application and Console fails Able to retrieve data in dataset in Report RDL but unable to preview Root Cause: This issue occurs because of the latest update in the Microsoft TSL(Transport Layer Security) Protocol in SDK assemblies. Microsoft has allowed TSL connection 1.0 and 1.1 for the browsers or client to connect to the CRM org. The Microsoft TLS 1.0 implementation has no known security issues but because of the potential security vulnerabilities for future downgrade attacks and TSL vulnerabilities, Microsoft has discontinued the support for TLS 1.0 and 1.1 in Microsoft Office 365. Now Microsoft supports only TSL 1.2 or above. If you are connecting your org with the old version of plugin registration tool , then you may face this issue. What is TSL ? Transport Layer Security (TLS) is a cryptographic protocol used to establish a secure communications channel between two systems. It is used to authenticate one or both systems, and protect the confidentiality and integrity of information that passes between systems. HOW TO IDENTIFY: Use fiddler to check the your server request TSL Version. Install fiddler https://www.telerik.com/download/fiddler Go to Fiddler Setup -> Tools -> Options Click on highlighted text after “Protocols” label and add ;tls1.2 text at the end and click “OK”: Run the report again. It should work as expected. This is how we can fix the connectivity issues between SSDT, Report Authoring Extension and Dynamics 365.
Share Story :
Add HTML page in Dynamics 365 Customer Engagement Apps
Introduction In this blog we will take a look at how we can add an custom HTML web resource in your customer engagement app. There have been client requirements where there was a need to add custom UI to handle some additional functionality, let see how this can be achieved. Implementation Step 1 : Firstly we create an HTML web resource, and we add the required code in it. For this demonstration i have used bootstrap to create an responsive page. You can view the entire code for the HTML here Below shown is how the HTML file looks. Step 2 : Now to add this in our app in Dynamics 365 Customer Engagement, navigate to your app and open the editor pane as shown below In the above shown pic add a new subarea and add the required name, here we have kept it as Safety Inspection Map and in the properties tab we add the Type as Web Resource and URL is the HTML web resource that we have already pubished Now click on Save and Close at the top right corner and then click the Publish option. Once this is done navigate to your app in Dynamics 365 Customer Engagement to view the newly added web resource. Below show is the how the customization looks like in the unified interface. Hope this helped!
Share Story :
Create SharePoint Folder using POST request in MS Flows
Introduction: This blog explains how to create folders in SharePoint when new record is created in D365 CE. Use Case: When new account is created in D365 CE create “Contact Documents” and “Documents” folders in SharePoint. Pre-Requisites: D365 CE SharePoint Online Microsoft Flow Steps to be followed: Sign in to the Microsoft flow. https://flow.microsoft.com/en-us/ Go to My flows -> “+New”-> “+Automated-from blank” 3. Select “When a record is created” trigger and click on create. 4. Select “Organization Name” and “Entity Name”. 5. Click on “+New Step” and select “Compose” Action. 6. a. Add “Account Name” from Dynamics Content in Input. b. Add underscore “_” c. Click on Expression enter below formula: toUpper(replace(triggerBody()?[‘accountid’],’-‘,”)) d. Compose should look like below: 7. Now we will create “Main folder in SharePoint” for this account. 8. Click on “+New step” and select “Send an HTTP request to SharePoint” Action. 9. Enter below details: Site Address: Select the site address from the list. Method: POST Uri: _api/Web/GetFolderByServerRelativeUrl(‘account/Output of Compose‘)/Folders Headers: Content-Type application/json;odata=verbose Accept application/json;odata=verbose Body: { ‘__metadata’: { ‘type’: ‘SP.Folder’ }, ‘ServerRelativeUrl’:’account/ Output of Compose‘} 10. Now we will create sub folders inside the main folder. 11. Click on “+New step” and select “Send an HTTP request to SharePoint” Action. 12. Enter below details: Site Address: Select the site address from the list. Method: POST Uri: _api/Web/GetFolderByServerRelativeUrl(‘account/Output of Compose/Contact Documents‘)/Folders Headers: Content-Type application/json;odata=verbose Accept application/json;odata=verbose Body: { ‘__metadata’: { ‘type’: ‘SP.Folder’ }, ‘ServerRelativeUrl’:’account/ Output of Compose/Contact Documents‘} NOTE: “Contact Documents” is the sub folder which we want to create in main folder. 13. Repeat “step no 12” to create “Documents” folders. Uri: _api/Web/GetFolderByServerRelativeUrl(‘account/Output of Compose/ Documents‘)/Folders Body: { ‘__metadata’: { ‘type’: ‘SP.Folder’ }, ‘ServerRelativeUrl’:’account/ Output of Compose/ Documents‘} NOTE: “Documents” is the sub folder which we want to create in main folder. Complete Flow: Testing Flow Create new account record in D365 CE. Check Documents in SharePoint.
Share Story :
Add Dynamics 365 Lookup functionality in HTML Web resource
Introduction In this blog we will look at how we can add the lookup functionality of dynamics 365 Customer Engagement in our HTML web resource. Implementation Step 1 : We have already added a web resource in our app, you can refer to my blog on “ADD HTML page in Dynamics 365 Customer Engagement Apps”. Below is the screenshot of how it looks like Step 2: Here we have a project field, and every time the Project button is clicked the select Project form opens up as shown in the below image. Please note that the Project entity we are using is a custom entity and not the Out of Box project entity Step 3 : When the Project is selected from this and the Add option is clicked, the name of the project will be shown in the “Select Project” field on the HTML web resource. Step 4: The HTML code for this is here. In the HTML code there is a reference to an external JavaScript file which handles the logic to open the lookup tab and set the name of selected project as seen previously. You can find the JavaScript code here Note: In the referenced HTML code, for the Layout button we have added an “on Click” event which is not present in the referenced JavaScript code. So while using the referenced code, please make sure you remove that reference from the HTML or add another function that you would like to call. Below shown in the code snippet that needs to be modified <input class=”form-control” id=”selectedProjectRelatedLayout” type=”text” placeholder=”Select Layout” readonly=””> 2. In HTML file we have also added the reference to a JavaScript file which we have added as a JavaScript web resource in Dynamics 365 CE. You will need to modify this reference based on the web resource structure in Dynamics 365 CE. <!– Below mentioned are the CRM Reference files based on the hierarchy of Webresources created, the bottom two references will change according to your folder structure for Webresources in CRM–> <script src=”../../../../ClientGlobalContext.js.aspx” type=”text/javascript”></script> <script src=”../BusinessLayer/SafetyInspectionCustomization.js” type=”text/javascript”></script> Hope this helped!
Share Story :
Error during CPOS/MPOS activation for Microsoft Dynamics 365 for Retail
In this blog I am going to show you how to fix an error you get during CPOS/MPOS activation. At times you may get following error : Validation: Failed, Messages: <“Channel has not been published.”> Solution: Step 1 Go to Channel categories and product attributes. Select your store and in Category hierarchy select channel navigation hierarchy Step 2 Then click on publish channel updates Step 3 Now go back to your device and click on “Validate Devices for Activation.” You should not get the error message anymore. Hope this works!
Share Story :
How to Add a Sales Representative/Associate in Microsoft Dynamics 365 for Retail
You may need to add a sales representative/associate while performing a transaction on POS. For this, you need to add the particular worker to sales group and set it up as below. In this blog, I will show you the process: Step 1 Go to Sales and marketing>Commissions>Sales groups Step 2 Click on General>Sales rep Step 3 In filter type the name of the Rep and select Step 4 Next run staff job from the distribution schedule and check in download sessions if the job is run. If it remains in the available state for more than few minutes then you may need to run a batch job manually from batch jobs by changing its date and time. Check again in download sessions. It should be in an applied state. Hope this works!
Share Story :
Infinite_Loop_Fetchxml
Introduction While using fetch XML to retrieve records more than 5000 records and if you have multiple entities involve in it. There are chances that you will get into an infinite loop even if you have less than 5000 records. Description: We have noticed that after 9.0 if you are using the old method to retrieve more that 5000 records using the fetch xml in the script it is possible that you will get the into infilter loop. This happens due to the internal multiplication of table which gives fist and last records id same in fetch xml You need to make sure that include the header as shown in the below screen Need to make sure that you have below check condition before calling the fetch next record collection if (data[“@Microsoft.Dynamics.CRM.fetchxmlpagingcookie”] != null && data[“@Microsoft.Dynamics.CRM.morerecords”] != null && data[“@Microsoft.Dynamics.CRM.morerecords”]==true) { It has more than 1 record true only than call the next request. Conclusion Hope this helps you to solve your infinite loop issue.