In today’s post, we are diving deep into managing complex project contracts/deals in Dynamics 365 Project Operations. We will break down the building blocks of project contracts and understand what each attribute of the contract represents and how it functions.
Negotiating contracts with customers and prospects can get complicated sometimes and often requires flexibility on how you structure the contract to best match the customer’s needs. With Dynamics 365 Project Operations, you have that flexibility right out of the box.
The Project contract captures the work commitments that are negotiated and agreed upon with the customer. It also contains the associated billing details such as billing frequency, schedule, customers and so on for all the work that will be delivered as part of the contract. The below infographic shows the basic structure of a contract in Project Operations.
Project Contracts data is stored in the Order table in Dataverse. You can create Project Contracts manually or the system can create a project contract automatically upon winning an Opportunity. If you are tracking opportunities in the system, then you can transfer over several details into the contract automatically. There are few key data fields that are required when you create a new contract.
Owning Company: This is the legal entity that owns the contract legally and is responsible for reporting the costs and revenues of the contract. This is the legal entity where the Project contract and project record lives on the D365 Finance side.
Contracting unit: This is the business unit/division of the legal entity that is responsible for the delivery of the project associated with the contract. The Contracting unit drives the resource costing. When you setup the Cost rate cards, you can setup resource costs for each Resourcing company and Resourcing units.
Cost & Sales currency: This is the currency in which costs are reported in the front end. Transactions can be recorded in multiple currencies, but are shown in the cost currency of the contracting unit. Sales currency is the currency used for billing. This is also the currency in which project estimates and actuals are shown.
Price list: This the base price list the contract is associated with. You can override the price list to define the contract specific sales prices/bill rates.
Contract Lines is where the details of the contracting models and financial information resides. Contract lines are the key part the forms the overall contract. Right now in the Resource/non-stocked deployment scenarios, you can only add Project work based contract lines. Product based lines is not supported yet in this deployment model. In the example contract shown below, I have a fixed price work component and the travel & other expenses are setup to be billed on T&M basis.
Contract Line Details contains the key details such as,
Billing method: There 2 billing methods to chose from. You can charge a Fixed price for the work component in the contract. This work component can be a project or a task within the project. It depends on how you have structured your projects and contract. You can also setup a contract line to be billed on a Time & Material basis. An example of this would be travel and misc. expenses on project, which you pass the cost to the client. You can add a mark up if needed as well.
Project : Each contract line is linked to a Project. The Project record is the heart of the overall Project Operations solution experience. The Project associated with the contract line is used for the management the work component associated with the contract line. We will dive deep into Project setup, project management in a future post soon.
Transaction types included: On each contract line, you define what type of transactions (Hours/Expenses/Fees) the line includes. You may have one line representing all 3 types, or 3 different lines representing each type or Hours and Fees represented by one line and expenses represented by another line.
Contract line item details: Each contract line has associated line details that sums up the the total value of the contract line. The lien details contains information about transaction class, resourcing unit, Role, category, dates, quantity etc. You can create these lines manually or you can import them from the Initial project estimates to make the job easier.
Chargeable roles and categories: You can define which roles on the contract line/work component will be Chargeable or Non-chargeable.
Invoice Schedule: The invoice schedule defines how frequently you will bill the customer and the milestone dates, and amounts. You can create milestone schedule manually or you can have the system create it for you based on invoice frequency and billing start date. You can associate each invoice milestone to a project task if needed.
Customers/funding sources paying for the contract line: You can split an overall contract between more than one customer or you can also split each contract line between multiple customers. This reminds me the funding source, funding limit and funding rules feature we have in the classic PMA module in D365 F&O.
You can split each contract line to be billed to more than one customers and you can set % of split for each customer and you can also setup Not-to exceed limit for each line.
That’s it for this post. This was a deep dive on Project contracts and what flexibilities you have to set these up in Project Operations.