New Project Team Experience (OneGrid) in Project Operations

If you’ve been using the Team tab on a Project in Project Operations, there’s a new experience you can switch on now – the Team Member grid can use the Power Apps OneGrid control, the same modern grid you are already seeing across other areas of the app.

Here’s how to enable it and what changes on the Team tab – before and after –

Enable the Feature

  1. In Project Operations, change the area to Settings and open Parameters. Open the Parameter record and drop down Feature Control. Look for Enable OneGrid for Team Member – notice it doesn’t have a check mark yet.
    Enable OneGrid for Team Member highlighted in the Feature Control menu
  2. You’ll be asked to confirm. As the message says, the Power Apps OneGrid control will now be used for the Team Member grid on the Project form. Click Enable. Note: once enabled, the option no longer appears in the Feature Control list, so do this on a Sandbox first and see how your users like it.
    Enable button highlighted on the OneGrid confirmation dialog

Before

  1. Here’s how the Team tab looked on my project before enabling the feature – a regular subgrid with + New, Refresh and Flow.
    Team tab on a project before enabling OneGrid
  2. And when I expand a team member, I see the tasks they are assigned to. Selecting the row gives me Generate Requirement and Subcontracting Options.
    Expanded team member showing task assignments before enabling OneGrid

After

  1. Now, on the same project, the Team tab uses the new grid. You get checkboxes to select rows, the Bookable Resource, Role, Resourcing Unit and Position are now clickable links, and there’s a new Add Existing Project Team button right next to + New. At the bottom, you also get a Rows count.
    Team tab on the same project after enabling OneGrid
  2. Expanding a team member now opens a proper nested grid for the task assignments – with its own checkboxes, links to the Task, Bookable Resource and Role, an icon to open each assignment record and a Rows count of its own. When I select the team member, Generate Requirement and Subcontracting Options are still right there, and the footer shows how many rows are selected.
    Expanded team member showing the nested assignments grid after enabling OneGrid

So nothing changes in how you staff your project – it’s the same actions, just in a grid that’s easier to work with, especially on projects with larger teams.

Hope this was helpful!

Here are some more Project Operations posts you want to check out –

  1. Deploying Project Operations Core vs Integrated with ERP
  2. Hide Resources from Schedule Board in Project Operations [Quick Tip]
  3. Resource Roles and adding Role Prices to Cost and Sales Price List in Project Operations
  4. Permissions in Project in Project Operations
  5. New Copy Project Experience in Project Operations
  6. Project Task Progress Update in Project Operations & Mark Task as Completed

And some popular Power Automate posts –

  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. Call a Flow from Canvas Power App and get back response | Power Platform
  4. Parsing Outputs of a List Rows action using Parse JSON in a Flow
  5. Asynchronous HTTP Response from a Flow | Power Automate
  6. Converting JSON to XML and XML to JSON in a Flow | Power Automate

Thank you!

Deploying Project Operations Core vs Integrated with ERP

So what was known as “Project Operations Lite“, “Project Operations Non-Stocked/Resource” and “Project Operations Stocked/Production” type of deployments are now – Core, Integrated with ERP and Manufacturing. In this post, we’ll focus on Core and Integrated with ERP.

And with LCS sunsetting, this is even easier with just the Power Platform Admin Center. Let’s see how!
But first, a quick look at the differences between them –

Which Deployment Type do you need?

CoreIntegrated with ERP
Old NameLiteResource / non-stocked
App LayersDataverseDataverse + Finance (dual-write)
Distinguishing FeaturesProforma invoicing, URS, Project for the webCustomer invoicing, revenue recognition, full expense with receipt OCR
PPAC App SelectionProject OperationsProject Operations ERP

If you are unsure what applies to your use case, it helps to take this questionnaire to get to what Microsoft suggests – https://admin.powerplatform.microsoft.com/projectoperations

1. Deploy Project Operations Core

Deploying Project Operations Core is fairly simple, just like deploying any other Dynamics 365 App. Let’s breeze through this quickly –

  1. Given you have access and the right privileges in the Power Platform Admin Center, create a new Environment.
    Give your environment a suitable name and then make sure to enable the Data Store, meaning Dataverse will also be deployed with the environment.
    New environment with Dataverse data store enabled in Power Platform Admin Center
  2. Then, make sure the correct Currency and Security Group are selected as they are required.
    Then, select Enable Dynamics 365 Apps? as this will help you choose which Apps to deploy for your Environment.
    Enable Dynamics 365 apps option in Power Platform Admin Center
  3. Then, select only Project Operations. This is the Core type amongst the others and will be deployed as CE only, without any integration to ERP/F&O.
    Project Operations app selected for a Core deployment
    Click Save and let the environment get provisioned for a while. This will be relatively quicker than the other Project Operations deployment type.

2. Deploy Project Operations Integrated with ERP

So, you already have the right Power Platform Admin privileges. Here are the steps to create both the Project Operations environment and a new F&O environment, and tie them together –

  1. Start by creating a New environment and enter the right region and name of the environment. Make sure to select Add a Data Store before you move to the next page.
    New environment with region, name and Dataverse data store
  2. Then, give it an appropriate URL. Note that this is also what the URL of the F&O environment will end up being.
    Then, select Enable D365 Apps and in the list, select the Project Operations ERP app.
    Enable Dynamics 365 apps set to Yes
    Project Operations ERP app selected
    And once you click Save, it’ll start Provisioning as below –
    Environment in Preparing state
  3. Once it’s deployed, you’ll find that you also get the F&O link in it –
    Project Operations environment with the Finance and Operations URL

But what if you already have an environment with Project Operations only and want to set up F&O with it?

  1. Already have an environment? Install the Finance and Operations Provisioning App on it instead of creating a new one. But first, you’ll need to install the Finance and Operations Platform Tools. Here’s how you go about it –
    In your Project Operations environment, drop down Resources and select Dynamics 365 Apps.
    Resources menu with Dynamics 365 apps
  2. Then, click Install app.
    Install app button on Dynamics 365 apps
  3. Then, look for Finance and Operations Platform Tools and click Next.
    Finance and Operations Platform Tools app
  4. Confirm the details you see – the Finance and Operations Package Manager will get installed.
    Confirm Finance and Operations Package Manager installation
  5. Once this is installed, install the Finance and Operations Provisioning App.
    Finance and Operations Provisioning App
  6. Confirm when asked – this opens up in a new tab. Select the options and proceed.
    Provisioning App options
  7. Then, select the latest version available to you when you set this up [it could vary when you are reading this] and click Next.
    Select the Finance and Operations version
  8. Confirm that the options you selected appear checked.
    Agree and install
  9. It’ll install for a while and once ready, the Finance and Operations URL will appear on your Project Operations environment.
    Finance and Operations URL on the environment

Hope this was helpful!

Here are some more Project Operations posts you want to check out –

  1. Difference between Project Operations Deployment Types
  2. Starting a Project Operations Lite Trial Environment
  3. Setting up Project Operations Lite | Blog Series
  4. New Copy Project Experience in Project Operations
  5. Permissions in Project in Project Operations
  6. Environment Groups in Power Platform Admin Center

And some popular Power Automate posts –

  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. Call a Flow from Canvas Power App and get back response | Power Platform
  4. Parsing Outputs of a List Rows action using Parse JSON in a Flow
  5. Asynchronous HTTP Response from a Flow | Power Automate
  6. Converting JSON to XML and XML to JSON in a Flow | Power Automate

Thank you!

Advances and Retainers in Project Operations

Below is how you can setup Advanced and Retainers – and what is this in simple terms?

  1. Pre-Bill the Customer upfront.
  2. Reconcile the Billing amount before the next Billing cycle.
  3. If under-utilized or till the Amount, 0 is billed on.
  4. If over-utilized, the overage is billed to the customer on the Invoice created on Contract.

Setup Contract for Retainer Schedule

On the Contract for a combination of T&M and Fixed Price Contract Line, here’s how I setup the Retainer Schedule –

  1. Here are the Line Items on the Project Contract tied to the same project.

  2. And on the Contract, you have Advanced and Retainers Setup already.

  3. Here, you have the option to Setup the schedule.


  4. When you click on Setup a retainer schedule, it’ll ask you to fill out the details. You can either select and End Date for the Retainer of no. of Retainer Invoices to be created.
    But, the message isn’t shown till you realize it after you enter both.


    And when I tried to enter this – it gave me an error.

  5. So, I just kept the End Date

  6. And it’ll create the Schedule for me.

    Now, this is set.

Invoice the Retainers

Now, the Retainer Schedule is ready, let’s Invoice and confirm the Invoice –

  1. I can select the Retainer line and click on Ready to Invoice.

  2. Once this is ready, I can create the Invoice from the Contract.

  3. Once the Invoice is created, you’ll see that the Advances and Retainers section shows the Invoiced line item.
    Now, you confirm this Invoice.


  4. Once the Invoice is confirmed, this amount is available to be used on the Contract.


Consuming the Retainers

Now, this amount is available for us to consume on the Project. Let’s pre-date the Time Entries to see how the Available Amount is consumed –

  1. These are my time entries. And I’ll submit them.

  2. The Project Approver approves them so that Actuals are created which can be made as Ready to Invoice.


    Now, the Unbilled Sales will be made as Ready to Invoice.

  3. Now, as usual – Invoice will be created without doing anything to the Contract Retainer setup.

  4. Now, the Pro-forma Invoice will be created and the Amount is seen on the Line Items of what was Ready to Invoice but the Invoice amount itself will be 0.

  5. If you scroll to the bottom of the Invoice, you’ll see the Balance remaining due to this Invoice.

  6. Now, you confirm the Invoice.

  7. And once the Invoice is Confirmed, the Used Amount on the Contract’s Retainer schedule will be updated.


    If you over use the balance, the upcoming Invoice will have less amount to be billed based on what’s available.

Hope this was helpful!

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

Thank you

Invoice Schedule Types in Project Operations

Blog Post coming on 6th April 2026!

Thank you!

Time Entry Delegation in Project Operations | [Preview Feature]

While being out of office, doesn’t it scare you that you missed doing entries for the week and only you need to do it?
Well, now you can plan in advance and let others create Time Entries for you while you cannot.
This is a production-ready feature and here’s how you can use it!

Enable Delete Time Entries Feature in Project Operations

As a System Admin with correct rights, here’s how you enable Time Entry delegation like any other Project Operations settings –

  1. Go to Project Parameters, look for Features and you’ll find one for Time Entry Delegation

  2. Now, it’ll ask you for confirmation.


  3. Then, once this is setup. Notice how the My Work section doesn’t have a Time Entry delegation available previously.

  4. And when you refresh, this area gets added.

    Now, you are all set to add someone else as your Delegate.


Add a Delegate

When you see the Delegates area in your My Work section, add a record –

  1. Create a new Delegate record. Select the person who should enter Time Entry on your behalf.

  2. Enter the rest of the details i.e. From Start Date to End Date to control this delegation.


    Now, this is done. Within this time period, they can enter time entries on your behalf!

Thank you!

Price Override in Project Operations | Part 2 [Understanding Change Amount effect]

Continuing from Part 1: Price Override in Project Operations | Part 1 [Inconsistent Price Update], let’s look at the Pricing.

  1. When you entered $250 for the Price Per Unit – you assumed it will update the price to $250 from $225

  2. And what you got it this – $475


Here’s the catch!

Although the wordings of the field convey that it’ll be updated to the absolute price you entered, rather it “added” to the existing Price!!
Hence, 250 + 225 = 475.

So, don’t make the mistake of assuming it’s asking for ‘new price‘, it’s actually asking you ‘how to much to increase or decrease the price by‘

Hope this was useful!

Hope this was helpful!

Thank you!

Price Override in Project Operations | Part 1 [Understanding Change Amount effect]

So, often times if you are working on Project Contracts, you must have encountered this button which creates a separate Price List for the Quote itself – Project Contract Price List Defaulting Behavior in Project Operations

But here’s how to track and find what happens to these Price Lists and what Price Override levels are –

Creating Price Overrides

  1. Here’ where you can find the Prices to be overridden on a Price List level –


  2. Now, when a new Quick Create form is created, you can fill in the details for either the new Price or the % and the Scope.

  3. Now, when you add the Price Per Unit, also notice that there’s a Scope field as well. Notice the types of records for the Scope defines at what level should this take effect.


  4. Let’s select an Account and save.

  5. Now when I save the record, notice that the Price is added differently.


    So, let me demystify this Part 2 of this post here: Price Override in Project Operations | Part 2 [Understanding Change Amount effect]

Hope this was helpful!

Thank you!

Permissions in Project in Project Operations

By default so far, Users added to the Project have full access if not controlled using Security Role. So here’s a simple tweak to restrict some users from having full access on Projects!

Enable Permissions in Projects

Given that you have correct Sys Admin rights in Project Operations, here’s how you can enable Permissions on a Project –

  1. Navigate to the Settings area in Project Operations.


  2. Look for Feature Control in the ribbon and drop down, you’ll see Permissions on Project control.

  3. When you turn this one, note that it cannot be turned off later. And this is a System User level change.
    Also, here’s the link mentioned in the message: https://learn.microsoft.com/en-us/dynamics365/project-operations/project-management/access-control-on-task-grid?WT.mc_id=DX-MVP-5003911

Permissions Settings

Now, in a Project, you can navigate to any System User and see the below –

  1. Navigating to this user, I can see the below option in the ribbon button.

  2. And I see only 2 options – Full or Read-only.
    By default, they are all selected for Full permissions. So this setting gives you option to set as Read-Only on the Project.

This was a small tweak but useful if you want to be careful with too many resources having access to the project for editing where shouldn’t have to from the permissions/security role standpoint.

Thank you!

New Copy Project Experience in Project Operations

For quite some time, you already had the classic Copy Project experience in Project Operations which is as follows –
You had the Copy Project button on the top of the Project in the ribbon-

And it just used to start.


And once the Copy is done, it’ll append ‘- Copy’ to the end of the Project name and show any validations on the copied project based on when it is copied.


So, here’s how the new copy experience changes things!


New Copy Experience

So, in order to experience the new Project Copy, you’ll have to enable it from Settings like any other Project Operations feature –

  1. Given you have Admin privileges, you can navigate to Settings.


  2. And then look for Enable Copy Project New Experience.

  3. It’ll ask you for confirmation.

  4. Once this is enabled, you can test by using the same Copy Project button.


    And here, you now get a modal pop-up with some preferences before the Copy process begin. This lets you choose how the copied project takes place.

    So, I made some changes before copying like the Name, Calendar Template and Team Member preferences before I hit Copy.

  5. And once you click Copy, the same copy process takes place but with the preferences you set.
    It takes a few moments to copy and it’ll ask you to navigate away from the current page and take you to the new page.
    Once you are in the new Page, it’ll then show this notification while the background processes take place.

    And that’s the new Project experience for you!! 😊

Hope this was helpful!

Thank you!

Time and Expense Agent [Production Ready Preview] – Part 1

In between all the AI conversations, you wouldn’t want to be kept wondering what Agents in Power Platform/Dynamics 365 Applications are capable of.

So, the name of the Agent itself suggests their capability and one such agent is Time and Expense Agent.

Enable Time and Expense Agent

Just like any other Project Operations features, you can enable the Time and Expense Entry Agent from the Settings area as shown below –

  1. Navigate to Settings and then to Parameters.


  2. Then, drop down from the Feature control menu and then look for the Enable Time and Expense Entry agent option.

  3. You’ll be asked to confirm and you can first read through the instructions.

  4. Once you click enable, it takes a few moments to complete loading and then you get to Download the policy document for Time and Expense entries.


  5. Once you click on Download, a Microsoft Doc it just opens in a new tab. Link: https://learn.microsoft.com/en-us/dynamics365/project-operations/approvals/approvals-agent-policy#policy-document-examplesnt-policy?WT.mc_id=DX-MVP-5003911

    Scroll down in this document, you’ll find Policy Document for each type of Entry.
    Click on the same and then you’ll be able to save a Doc file.


    Download what is exported when you click the above link.
    Here’s what the document looks like, it looks like an SOP designed for internal processes.

  6. While you are reviewing the document, also note that the Time Entry agent is now a new area in My Work in Projects in your Project Operations SiteMap.

Setup Approvals Agents as an Admin

Now, you need to first set the Approvals Agent up so that it can be used –

  1. Open Power Apps App Builder (https://make.powerapps.com/) and make sure to open the right environment.
    Then look for the solution Project Service Agent

  2. Then, open Objects and then Connection References. Look for the ones marked as Add to Solution as shown.

  3. Then select CDS solution (If you can remember it from a while ago 😊). Then click Save.

  4. Then open the CDS Default Solution as shown below –

  5. In the solution, go to Connection References and you should see the ones which you added in earlier steps. Edit the added connection and then on the right hand pane, select New Connection.

  6. Once you click on New Connection, it’ll open a New Tab and you’ll need to search Copilot Studio.

  7. Click on it, and it’ll ask you to create a new connection. Click Create.

  8. Then, you’ll be asked to login (most likely, you’ll want to use the logged in user)

  9. Then, the Connection will appear once logged in. After this, go back to the Connection in the CDS solution.

  10. You’ll now be able to select this connection.
    You’ll be asked to Save Changes.

  11. Then, once this is done, go back to Project Service Agent solution and go to Cloud Flows. Look for Approvals Agent trigger (Production-ready preview) and turn it on.

Watch out for Part 2 on this series to use the Approvals Agent! Coming Early Sep 2025.

Thank you!