Manager Hierarchy Settings in Dynamics 365 CE

In this post, you’ll learn how to configure Manager Hierarchy for Dynamics 365 CE environment –


Let’s first look at the scenario which we want to look at and then how we can configure the Hierarchy to limit and show the Managers the intended data.

Scenario

Let’s consider the below scenario on who reports to whom in the Org CFT300 used in this example –

In the above example,

  1. Manager of Vidit Gholam and Ethan Rebello is set as Amit Prajapati.
  2. Manager of Amit Prajapati is Jack Green.

And this structure looks as below in Dynamics 365 CRM environment –

Note: Please note that in order to set Hierarchy Settings correctly, the Read privileges on the intended entity must be set to “User” level. If it is set to “Organization”, the the User will anyway be able to access everyone’s records despite Hierarchy Security Settings in place.

Manager Hierarchy

Given that you already know how to navigate to Hierarchy settings in Power Platform Admin Center, refer the below to understand how to configure the same based on the above scenario –

  1. Once you are in the Hierarchy Settings in the Environment’s Settings area in Power Platform Admin Center –

  2. Now, you can select Enable Manager hierarchy Model and click on Save to apply the Hierarchy Model access to your environment.

  3. The Depth defines how many levels should a Manager be able to access records of the Users in the top-down approach.
  4. You’ll also need to set the Users’ Manager in Power Platform Admin Center. If you go to the Users and select any 1 of them, you’ll see Change Manager button on the ribbon.

  5. And, search the User who should be the Manager of the User which you are editing.


    So based on this, Jack Green will only be able to access Amit Prajapati’s records and not Vidit Gholam’s or Ethan Rebello’s records.

    Also, the selected Tables are the one to which the Hierarchy Security should apply.


    Now, based on the above setup and the Scenario provided, let’s look at how the records will be visible to the users in the hierarchy.


Dynamics CRM Records access based on Manager Hierarchy Security –

  1. Let’s start reviewing from the bottom of the hierarchy. Vidit and Ethan, both will see their own record in the Active Accounts view and no one else’s based on the Hierarchy Settings.
    Also, note that the Read privilege for all the Users in their Security Roles is set to “User” and not Organization” level.

    Ethan Rebello


    Vidit Gholam –

  2. We move 1 level up to Amit Prajapati – he’ll see his own record and also Vidit’s and Ethan’s records in Active Accounts view.


  3. And Jack Green can access his own record and as he’s the Manager of Amit Prajapati, he’ll only see Amit’s records for Account and not Ethan’s and Vidit’s.


    This will change is we increase the depth to 2, 3 and onward based on the hierarchy structure.

Hope this was useful!

Thank you!

Time and Materials Billing Backlog table in Project Operations

Even wondered what is Time and Materials Billing Backlog table in Project Operations which you see in the Sitemap but you might not be sure what records are in it –

Time and Materials Billing Backlog

Here’s the purpose of Time and Materials Billing Backlog entity –

  1. Given that you have 2 Time Entries Submitted for Approval to the Project Management / Account Manager.

  2. When the Time Entries are Submitted, the Approver receives them for Approval. The Project Approver can then Approve the Time Entries.

  3. Once they Approve the Time Entries, they are turned into Actuals (msdyn_actual) in Project Operations.
    Then, Actuals are then Supposed to be marked as Ready to Invoice.

  4. So, when the Actuals are the created and even when they are marked Ready to Invoice, that’s when they appear in Time and Materials Billing Backlog view.
    This table is in fact Actuals table itself! 😊 (There’s no Time and Entry Billing Backlog as a separate Table in Dataverse).

  5. In fact, Accounting managers or Project Managers can Ready the Actuals from the Time and Materials Billing Backlog table itself.

  6. Now, then the Invoice is created for the ready Actuals, they are added to Invoice Lines

  7. And then, they are removed from the Time and Materials Billing Backlog view.

Hope this was useful!

Thank you!

Create Project Plan using Copilot in Project Operations

Now that you must have enabled Copilot for Project Operations [If not, you can refer this post to learn how you can enable Copilot for Project Operations – Enable Copilot for Project Operations]

Note: Please note that this is a Preview feature at the time of writing this post and hence, not recommended for Production usage.

Enable Copilot For Project Operations

First, you need to ensure that Copilot is enabled for your Project Operations environment – Enable Copilot for Project Operations

Once this is enabled, you’ll be able to see Copilot on the ribbon button on the Project. Let’s look at the same in the below section.

Task Plan

Now that you have Copilot enabled for Project Operations, you can now create Task Plans for a Project in Project Operations –

  1. Before you proceed to trying to create a Task Plan, the Copilot in Project Operations will look for data on the Project record such as the Description of the Project, Start Dates, End Dates etc as reference point in order to understand what type of Tasks are to be created.


    The sample Description I put for this Project is – “This project will be a 3-month implementation for Microsoft Dynamics 365 Project Operations with integration to F&O system. This project will involve developers to design, architect, develop code, test and deploy the same.

  2. Once Project details are in place and the Project doesn’t have a Project Plan yet. It should look something like this and having Copilot button on the ribbon visible.

  3. If you expand the menu, you’ll see that it has an option called as Task Plan. Click on it and it’ll begin processing operations and show loading screen while it processes in the background.


    And the loading screen will keep showing messages like Computing, Collecting, analysing etc.

  4. In a few moments, it’ll process successfully and you’ll see Tasks being generated in the Tasks pane on the Project. Note that it’ll only segment into tasks and sub-tasks based on the Description and Start/End Dates – it won’t assign anyone or estimate any hours.

Here’s Microsoft Documentation on how the Task Plan feature works. Please note that this in Preview at the time of writing this post – https://learn.microsoft.com/en-us/dynamics365/release-plan/2023wave1/finance-operations/dynamics365-project-operations/generate-project-plans-using-project-manager-copilot?WT.mc_id=DX-MVP-5003911

Hope this post was useful!

Thank you!

Enable OneNote Integration for Dynamics 365 Sales environment

Since collaboration tools like Teams, SharePoints are a norm, so is OneNote. Here’s how you can enable OneNote Integration in your Dynamics 365 CRM Instance –

Settings

Given that you are a Dynamics 365 Administrator, you can navigate to Power Platform Admin Center of your environment –

  1. Go to the Settings on the Environment you want to enable OneNote Integration on

  2. Once you are in Settings, you can expand Integration section and then click on Document management settings.

  3. Then, you’ll be redirected to the classic UI and there, you can select Enable OneNote Integration (provided that SharePoint Based Document Integration is already enabled).

  4. It’ll open up this dialog box and you’ll see the pre-enabled OneNote for the tables which you want to enable. You can choose the ones you want to enable OneNote Integration for and click Submit. This dialog box will then close.


  5. Also, double-check on the entity level if OneNote Integration is turned On or not.

  6. Once this is done, you can refresh the record on which the OneNote Integration is enabled and click on + on the Timeline to show the Activity options. You’ll see OneNote appear as well.

  7. Once you click on it, it’ll be redirected to SharePoint location where the OneNote notebook is created.

  8. Now, when you come back on the record and click on Related section and go to Documents. You’ll see the OneNote notebook appear there in the record.



Thank you!

Setting up Project Operations Lite | Blog Series

I felt that I should document steps to setup a Project Operations Lite Trial environment for everyone who’s trying to spin up a Project Operations Instance and trying to get the basic setup done as of January 2024.

Hopefully, this blog series will help you to quickly access and understand the info you need to setup your Project Operations Lite trial environment –

Provisioning a Project Operations Trial

BlogDescription
Starting a Project Operations Lite Trial EnvironmentDescribes how you can provision a new trial for Project Operations Lite and

Setting up Master Data in Project Operations Lite

BlogDescription
Setting Up Default Organizational Unit, Cost and Sales Price List in Project Operations LiteFind and rename a default Organizational Unit, attach a Cost Price List to the default Org Unit and also create a Sales Price List
(Roles, Prices will be added in preceding post)
Resource Roles and adding Role Prices to Cost and Sales Price List in Project OperationsReview and Create Resource Roles, Add Resource Roles to Sales and Cost Price Lists

Billing / Invoicing

BlogDescription
Time and Materials Billing Backlog table in Project OperationsExplains what Time and Materials Billing Backlog table in Dataverse in Project Operations is used for.

Copilot for Project Operations

BlogDescription
Enable Copilot for Project OperationsEnable / Disable Copilot as a feature for Project Operations
Create Project Plan using Copilot in Project OperationsCreate a Project Plan for your Project using Copilot based on the Description and other details on the Project record.

Here are some Power Automate posts you want to check out –

  1. Select the item based on a key value using Filter Array in Power Automate
  2. Select values from an array using Select action in a Power Automate Flow
  3. Blocking Attachment Extensions in Dynamics 365 CRM
  4. Upgrade Dataverse for Teams Environment to Dataverse Environment
  5. Showing Sandbox or Non Production Apps in Power App mobile app
  6. Create a Power Apps Per User Plan Trial | Dataverse environment
  7. Install On-Premise Gateway from Power Automate or Power Apps | Power Platform
  8. Co-presence in Power Automate | Multiple users working on a Flow
  9. Search Rows (preview) Action in Dataverse connector in a Flow | Power Automate
  10. Suppress Workflow Header Information while sending back HTTP Response in a Flow | Power Automate
  11. Call a Flow from Canvas Power App and get back response | Power Platform
  12. FetchXML Aggregation in a Flow using CDS (Current Environment) connector | Power Automate
  13. Parsing Outputs of a List Rows action using Parse JSON in a Flow | Common Data Service (CE) connector
  14. Asynchronous HTTP Response from a Flow | Power Automate
  15. Validate JSON Schema for HTTP Request trigger in a Flow and send Response | Power Automate
  16. Converting JSON to XML and XML to JSON in a Flow | Power Automate

Resource Roles and adding Role Prices to Cost and Sales Price List in Project Operations

Now that in the previous blog posts of this series, the Organization Units, Cost Price and Sales Prices were setup – Setting Up Default Organizational Unit, Cost and Sales Price List in Project Operations Lite, let’s look at what Roles (or Resource Roles) are and how you can add them to the Price Lists

Resource Roles

Let’s see how we can add Resource Roles –

  1. Navigate to Resources Area and then select Resources sub-area in Project Operations App.

  2. Now, navigate to Roles on the Sitemap and you’ll see some existing Roles already available out-of-the-box

  3. If you open any existing roles, you’ll see that Billing Types the type/behavior of the Role which we’ll discuss in further sections.

    Now, let’s add the Resource in both Cost and Sales Price Lists in the next section.

Add Role in Cost Price List

Now, lets assume we want to assign a Cost Price to the Consulting Lead role (which is of type Chargeable). Let’s see below on how we can do this –

  1. Navigate to the Organizational Units in Settings area in Project Operations since it’s easy to go than to find the Cost Price as you might not remember the exact name every time.
    Open the Organization Unit record which is your default Organization Unit for the PO environment.

  2. Now, since we had already associated a Cost Price in the previous sections, you can open the Price List.

  3. Now, once you open the Cost Price List, go to Role prices tab and click on + New Role Price to add the existing Role to this price list and define the Cost of the Role to the organization.

  4. Now, make sure you select the Role and also select the Organization Unit even if you have selected the Cost Price List from the Organization Unit. That’s because you can add multiple prices for the same role across different Organization Units.

    I’m keeping a sample Cost Price of $150

  5. Once you Save and Close, the Role Price will be defined in this Cost Price for this Org Unit.


    Alternatively, let’s also add the same Role in the Sales Price List as well from this series.

Add Role in Sales Price List

Let’s also add the same Consulting Lead role to the Sales Price List as well –

  1. Navigate to the Sales area and then look for Price Lists. Look for the Sales Price List you created for your organization.

  2. In the Sales Price list, go to Role Prices and click on Add New Role Price

  3. Now, as Sales Prices are supposed to be higher than Cost Prices, I’m using a Price of $240 for the Consulting Lead which was $150 in the Cost Price

  4. And once you Save and Close, it’ll be added to the Sales Price list as shown below.

Hope this post was useful!

Here are some Power Automate posts you want to check out –

  1. Select the item based on a key value using Filter Array in Power Automate
  2. Select values from an array using Select action in a Power Automate Flow
  3. Blocking Attachment Extensions in Dynamics 365 CRM
  4. Upgrade Dataverse for Teams Environment to Dataverse Environment
  5. Showing Sandbox or Non Production Apps in Power App mobile app
  6. Create a Power Apps Per User Plan Trial | Dataverse environment
  7. Install On-Premise Gateway from Power Automate or Power Apps | Power Platform
  8. Co-presence in Power Automate | Multiple users working on a Flow
  9. Search Rows (preview) Action in Dataverse connector in a Flow | Power Automate
  10. Suppress Workflow Header Information while sending back HTTP Response in a Flow | Power Automate
  11. Call a Flow from Canvas Power App and get back response | Power Platform
  12. FetchXML Aggregation in a Flow using CDS (Current Environment) connector | Power Automate
  13. Parsing Outputs of a List Rows action using Parse JSON in a Flow | Common Data Service (CE) connector
  14. Asynchronous HTTP Response from a Flow | Power Automate
  15. Validate JSON Schema for HTTP Request trigger in a Flow and send Response | Power Automate
  16. Converting JSON to XML and XML to JSON in a Flow | Power Automate

Enable Copilot for Project Operations

Recently, you must have observed Copilot being introduced in every other Microsoft Business and M365 applications. Dynamics 365 Project Operations too being no exception! Here’s how you can get the same

Enable Copilot in Project Operations

Here’s how you can enable Copilot in Project Operations –

  1. In Project Operations app, Navigate to Settings in the SiteMap area –


  2. Then, Navigate to Parameters. Then, open the Parameter record itself (Avoid click on the Default Organization Unit as it’ll take you to the Org Unit record and not the intended Parameter record).

  3. Then, you can drop down from the Feature control and see that the Copilot option is available to enable for you.

  4. Once you click on it, it’ll ask you for confirmation. Click OK if everything looks good to you.


    It takes a few moments for Copilot to be enabled for Project Operations environment.

Disable Copilot

Here’s how you can disable Copilot if not needed –

  1. In case you don’t want to use Copilot and want to disable it, you can open the Parameter record in Project Operations’ Settings area and drop down from the Feature Control ribbon button to find that you can now Disable Copilot if it is in enabled state.

Hope this post was useful!

Thank you!

Setting Up Default Organizational Unit, Cost and Sales Price List in Project Operations Lite

One of the first things to do when starting a new Project Operations Lite environment is to start setting up organizational data for your environment and in that, setting up Organizational Units, Price Lists and Roles is one of the first things to start setting up –

Let’s see on how you can start the same!

Organizational Unit

One of the first things is to find the Default Org unit for your Project Operations Lite environment –

  1. Ensure that in your Project Operations environment, you are in Project Operations app. On the SiteMap, switch to the Projects area and then, Settings sub-area.

  2. Now, locate Parameters and there should be 1 record in the Parameters which is mapped to the Default Organization Unit. Select the same (click on the clickable Default Organization Unit lookup itself to directly go to the Organizational Unit [or referred to as Contracting Unit in further blogs])

  3. Once in the Org Unit record, update the name to what should be relevant based on your use case.

  4. I’ve renamed this to a more readable name based on my example. Now, it should be easy for you to deal with this Org Unit while referencing further.

Cost Price List in Organizational Unit

Now that the Org Unit is found and renamed correctly, let’s add a Cost Price List first –

  1. In your Org Unit record, click on Add Existing Price List.

  2. Then, click on New Record button upon clicking the Look for records lookup field.

  3. Select Price Lists as the record type and it should be the only option there.

  4. Then, it’ll open the Price List record creation form on the window and you can start filling in the details. Make sure the Context selected is of type Cost.
    Also, the Effective Start Date and Effective End Date should be relevant as all calculations will be successful only if the dates to be processed for transactions fall inside the intended Price List dates.

    Save and Close the record once completed.

  5. Then the saved record will be shows as selected on the lookup field and you can then click on Add button at the bottom.

  6. Once added, the sub-grid on the Org Unit will take a while to refresh and then show you the tagged Cost Price List correctly.

Now, you have tagged a Cost Price List successfully. Let’s quickly add a Sales Price List.

Sales Price List

Now that you have created and tagged a Cost Price List in the previous section, let’s quickly create a Sales Price List shell so that you have a corresponding Sales Price List to look at as well –

  1. Navigate to the Sales area and then select, Sales sub-area in the Sitemap.

  2. Here, click on the Price Lists table and then click to add a new Price List record.

  3. Note that the Context of the record should be Sales this time since we want to create a Sales Price List. Save & Close once the record looks satisfactory based on your relevant information to fill in.

  4. Now, you can see that the Sales and Cost Price Lists are ready in your environment.

Next Section here will cover adding Resource Roles, and then adding Role Prices to the Sales and Cost Price Lists.

In later parts of this series, we’ll continue to add more to the Price Lists, Roles etc.

Hope this post was useful!

Thank you!

Starting a Project Operations Lite Trial Environment

One of the first things you want to get done is to spin up a Project Operations Trial environment. Here’s how you do it!
Note that no Credit Card is required for a Project Operations trial environment.

Project Operations Trial Environment

Here’s how you start a Project Operations trial environment –

  1. Navigate to https://trials.dynamics.com/ which will be redirected to https://dynamics.microsoft.com/en-us/dynamics-365-free-trial/ and the page you’ll see will be something like this –

  2. Scroll down on the page till you see the option for Project Operations. Click on Try for free.

  3. Once you click on Try for free, you can enter a new email on which you want to start a trial. I’ve come up with a sample email which I haven’t used before. I prefer not to enter an email/username which I already use.

  4. Click Next and then you can select Setup my account.

  5. Then, you can validate/enter the details which would be something like this and click Next.

  6. Then, choose if you want to receive an OTP via Text or a Call. Text is my preferred way so I selected that and clicked on Send verification code.

  7. I received an OTP which I entered as asked on the next pane and clicked Verify.

  8. Further, I’ll be shown the login details of the trial environment I want to create. Once this is done and I save the information, I click on Next.

  9. Then, you’ll be shown the details of the environment you’ll be provisioning. Save this info before proceeding.
    Next, click on Start using Dynamics 365 Project Operations (CE) – Preview Trial. It’ll redirect you to the questionnaire page on a new tab where you’ll need to answer the questions before choosing the Deployment Type.

Deployment Type Questionnaire

As we left off from the Step #9 in the above section, you’ll be taken to a questionnaire Wizard in order to provision a Project Operations trial –

  1. Yes to managing Opportunities as they move through the process.

  2. Yes to requiring advance or extensible resource management.

  3. Yes to requirement of workflow for approval of Time and Expense.

  4. No to advanced Expense management.

  5. No to Non-Stocked Materials

  6. No to Stocked materials as well.

  7. Select the version here. Even if you would have answered the questions randomly, you would have still gotten to choose a different version than recommended. Hence, the answers above point to a recommendation of Project Operations Lite type of Deployment.
    Click Begin Setup once Lite Deployment is selected.

  8. Setup will start provisioning once you click on Start.

  9. And it’ll take a while and it’ll say that it will redirect you to the Power Platform Admin Center.

  10. And once you are redirected to Power Platform Admin Center and you’ll see that the environment is provisioning. This will take a few minutes before completion.

Set Name and URL for your environment

Provisioning a Project Operations trial will get set a predefined URL and name which you should update to be readable –

  1. Open the environment once the link is clickable and the State is set to Ready.
  2. Then, click on the Edit button

  3. Once you click Edit, you’ll get to update the Name and the URL. Set to something that is relevant to the purpose of the environment.

  4. Once you click on Save, you’ll see this loading page which will take a while to complete and finally, your Project Operations Lite environment setup will be ready!

Here’s Microsoft’s Documentation detailing which all Deployment Types have different Project Operations features available – https://learn.microsoft.com/en-us/dynamics365/project-operations/environment/determine-deployment-type?WT.mc_id=DX-MVP-5003911

Hope this post was useful!

Here are some Power Automate posts you want to check out –

  1. Select the item based on a key value using Filter Array in Power Automate
  2. Select values from an array using Select action in a Power Automate Flow
  3. Blocking Attachment Extensions in Dynamics 365 CRM
  4. Upgrade Dataverse for Teams Environment to Dataverse Environment
  5. Showing Sandbox or Non Production Apps in Power App mobile app
  6. Create a Power Apps Per User Plan Trial | Dataverse environment
  7. Install On-Premise Gateway from Power Automate or Power Apps | Power Platform
  8. Co-presence in Power Automate | Multiple users working on a Flow
  9. Search Rows (preview) Action in Dataverse connector in a Flow | Power Automate
  10. Suppress Workflow Header Information while sending back HTTP Response in a Flow | Power Automate
  11. Call a Flow from Canvas Power App and get back response | Power Platform
  12. FetchXML Aggregation in a Flow using CDS (Current Environment) connector | Power Automate
  13. Parsing Outputs of a List Rows action using Parse JSON in a Flow | Common Data Service (CE) connector
  14. Asynchronous HTTP Response from a Flow | Power Automate
  15. Validate JSON Schema for HTTP Request trigger in a Flow and send Response | Power Automate
  16. Converting JSON to XML and XML to JSON in a Flow | Power Automate

Difference between Project Operations Deployment Types

Now, as you know that there are the following 3 types of Project Operations Deployments –

  1. Project Operations Lite (Deal to Proforma Invoicing).
  2. Project Operations for resource/non-stocked scenarios.
  3. Project Operations for production/stocked scenarios.

To keep the comparison understandable and simple, let’s review the below in a short summary.

Comparison

Project Operations LiteProject Operations for Resource/Non-stockedProject Operations for Production/Stocked
Finance & Operations module is not setupFinance & Operations setup is requiredFinance & Operations Setup is required
No Dual Write IntegrationDual Write Integration is required.Dual Write Integration is required.
Up to Pro-forma Invoicing is availablePro-forma Invoicing in PO and Customer-facing Invoicing in F&OFull Invoicing in F&O
Basic ExpenseBasic and Full Expense with Receipt OCRFull Expense with Receipt OCR

Hope this quick summary was useful. I’ll continue adding more to this article over time.

Here’s official Microsoft Documentation for full deployment guidance with questionnaire –

Thank you!