In Project Operations, if you are creating Project Contracts, you must be adding them explicitly to the created Project Contract. Also, the ways to create a Project Contract might be different in your case.
Let’s review some options on how you can configure Project Operations to create attach a Project Price List to a Project Contract in Project Operations –
Project Parameters for Price Lists Defaults
Here are some options on how you can set preferences for Project Price List Contract creation in Project Operations –
- If you navigate to Project Parameters in Project Operations, you’ll see the below section where you can set Defaults for setting Price Lists on the Project Contract.

- If you notice, the Price List Defaulting behavior applies to when the Project Contract is created as Project Contract controls the Pricing in project operations.
Below are the two scenarios in which Project Contract can be created –
1. Direct Project Contract Creation
2. Project Contract Creation from Quote.
And option on how Custom Pricing should apply is provided.
Default Behavior
Let’s look at the scenario of what happens when you create a Project Contract directly or through a Quote or without a Quote and create it directly –
- The Project Contract will be created without associating a Project Price List and you’ll see this notification on the Project Contract asking you to associate a Project Contract Price List to the Contract for Pricing to be calculated –

For Direct Project Contract Creation
Let’s see what options we have for direct Contract creation and implications of each –
- Below are the 2 options available when creating Project Contracts directly i.e. not going from a Quote being marked as Won.

- And if we select the first option i.e. to Associate existing applicable standard price lists to project contracts, we have to also set a Price List in the Project Parameter itself to be defaulted.

- You’ll see a Pricelist tab on the project parameter record itself and you can add a Price List which you want to be considered as default.

- Now, when you create a Project Contract, the same Price List will be defaulted to the Project Price List tab and you won’t see the notification.

- And when you choose to associate a “copy” of the Default Price List set in the Project Parameter.

- And when you now create a Project Contract directly, you’ll rather see a new Project Price List created by copying the one defaulted.

For Project Contract Created from Quote
Let’s see what options we have for Contract creation from Quote and implications of each option available –
- This is the parameter to configure for Project Contracts created from Quote.

- And below are the options available when creating Project Contracts from Quotes on what types of Price Lists should be associated/created for Contracts.

- When we choose the first option to associate the Quote Price List to Project Contract, as below –

we’ll see in second screenshot how the Price List is associated to the created Contract.
I have the below Quote Price List associated with the Quote
Now when I mark the Quote as Won, this Price List will be associated with the created Contract, this Price List is associated with the Contract itself without creating a new copy of any other Price List.
- When I select the second option to associate quote price list to project contract with contract-specific price overrides for components estimated on the Quote.

- So what this does is, for example, I’ve quoted some hours for Supervisor on the Quote and overridden the Price of one of the Quote Line Details

And when I create a Project Contract out of this Quote, - For the next option, as it states, you can simply create a Copy of the Prict List associated on the Quote Price List to the Contract Price list so that the reference can be of the Quote’s Price List but the Contract will have it’s own copy and not reference the one on the Quote already.

Now, let’s say I have this Price List on the Quote
Custom Pricing Options
Let’s look at some Custom Pricing Options –
- We have the below 2 options for how Custom Pricing should be calculated. If none is selected, the Custom Pricing button on the Quote Lines and Contract Lines won’t function.

- Now, when the Option 1 is selected i.e. Create full copy of the standard price lists – this will work how it used to in PSA. It’ll create a timestamped copy of the Project Price List which is already associated with the Contract.

See below –
It’ll create a new Price List and will retain all the Price List items which were part of the original Price List.
And this is the timestamped copy of the Price List which includes full Price List Items included.
And the items are included as well –
- Now, when you select the second option i.e. Create protected price overrides for price list components used on the quote or contract.

- It’ll create a copy but with only the items referenced in the Contract Line / Quote Line.

It’ll create a Price Override record in the referenced Price List itself. So, if you open the Price List, you’ll find the Override as below –
Hope this was useful!
Here are some Power Automate posts you want to check out –
- Select the item based on a key value using Filter Array in Power Automate
- Select values from an array using Select action in a Power Automate Flow
- Blocking Attachment Extensions in Dynamics 365 CRM
- Upgrade Dataverse for Teams Environment to Dataverse Environment
- Showing Sandbox or Non Production Apps in Power App mobile app
- Create a Power Apps Per User Plan Trial | Dataverse environment
- Install On-Premise Gateway from Power Automate or Power Apps | Power Platform
- Co-presence in Power Automate | Multiple users working on a Flow
- Search Rows (preview) Action in Dataverse connector in a Flow | Power Automate
- Suppress Workflow Header Information while sending back HTTP Response in a Flow | Power Automate
- Call a Flow from Canvas Power App and get back response | Power Platform
- FetchXML Aggregation in a Flow using CDS (Current Environment) connector | Power Automate
- Parsing Outputs of a List Rows action using Parse JSON in a Flow | Common Data Service (CE) connector
- Asynchronous HTTP Response from a Flow | Power Automate
- Validate JSON Schema for HTTP Request trigger in a Flow and send Response | Power Automate
- Converting JSON to XML and XML to JSON in a Flow | Power Automate
Thank you!