Link contracts with projects
If you are subscribed to both Contracts and Project Costing or Project Costing & Billing, you have the ability to generate a single, combined invoice for linked contracts and projects. You can also recognize revenue in a contract based on a form of percentage of completion of the project or associated task. In order to do this, you need to associate a project to a contract, creating a link between the two records and related data.
Rules for linking projects to contracts
Keep the following rules in mind when deciding how you want to link your projects with contracts:
- The customer associated with the project must be the same customer associated with the contract
- A project can only be associated with one contract. The project can be associated with one or more contract lines of a particular contract.As a project can only be associated with one contract, the child contract in a renewal will not be linked to the project that was linked to the parent. In this scenario, see Extend the project-contract link when a contract is renewed.
- A contract can be associated with more than one project.
- For multi-entity only: The project location or entity cannot be blank and is restricted to the location or entity associated with the contract. The project location or entity can be a child of the contract location or entity.
- For hierarchical projects (where child project invoices with parent project): Associate the parent project with the contract. The Contract field on the parent project and all child projects that invoice with the parent will display the associated contract.
Link a project to a contract
You create the link to the project in the contract. More specifically, you specify a project on each applicable contract line of a contract. The project will display the associated contract as a read-only field.
Contract lines are basically the products or services you sell. If your product is a service, such as implementation or training services, you might use the Projects application to manage the project accounting for the implementation or training. You would use the Contracts application to manage billing and any revenue recognition associated with the implementation or training project.
The following procedure assumes the desired contract and project already exist in the system. Learn more about creating contracts and creating projects.
To link a project to a contract:
- Open the desired contract in Edit mode.
- Optionally, in the Contract page, use the dropdown list to select the Project to set a default project for all new contract lines,.
This only sets the default for all contract lines that you add after setting the project default. It does not default the project to any existing contract lines.
- To define a project on an existing contract line , open the contract line in Edit mode and use the dropdown list to select the Project. You can either select the same project as the default project you selected in step 2 or you can select a different project.
- If the contract line is associated with a specific task, use the Task dropdown list to select the applicable task.
- Select Save. If you open the project at the applicable entity level, it will now display the contract ID for this contract in the Contract field on the project's Additional info tab.
The link to the project is only created if the contract line's state is In progress. The system will not link a draft contract line to a project.
Changes to hierarchical projects that can affect linked contracts
For hierarchical projects where child projects have Invoice with parent selected, you can only associate the parent project with a contract line. All children of the parent project that have Invoice with parent selected will be linked to the contract associated with the parent project. The following scenarios may occur when changes are made to projects within the hierarchy:
- If you deselect Invoice with parent on a child project, the child is no longer associated with the contract that is associated with the parent.
- If you change the parent project of a child project that has Invoice with parent selected, one of the following occurs:
- If the new parent is not associated with any contract, the child's Contract field will be cleared
- If the new parent is associated with a contract, the child's Contract field will change to the new parent's contract.
Learn more about hierarchical projects.
Extend the project-contract link when a contract is renewed
In most scenarios, the end of a project usually coincides with the end of the contract line to which it is linked. Billing and revenue recognition are carried out as per the usual process and the contract line is not set up to renew. However, if a project will extend past the original contract line end date and the contract line is set up for renewal, you need to duplicate the original project and link the new project to the child contract in order to continue billing and revenue recognition.
To extend a project link to a renewed contract:
- Duplicate the applicable project. The duplication process copies all project, task, and resource data except task attachments into the new project.
Do not change the project dates before you save the new project. Save the project first, then open the new project in Edit mode and make any changes to dates or other project data as necessary. This lets you automatically reschedule any resources and/or tasks to the appropriate dates.
- Open the new project in Edit mode, select the original project as the Parent project, make sure Invoice with parent is not selected, and select Save.
- Open the child contract in Edit mode and open the applicable contract line in Edit mode.
If the child contract already has invoices generated from it or revenue recognized for it, you won't be able to establish the link.
- In the contract line window, use the dropdown list to select the new Project. If the contract line is associated with a specific task, use the Task dropdown list to select the applicable task.
- Make any necessary billing and/or revenue template changes. See the contract line field table for more information.
- Select Save. If you open the new project, it will now display the contract number for the child contract in the Contract field on the project's Additional info tab.
Unlink a project from a contract
If a contract line has revenue recognized for it or if the contract line has been billed, you cannot unlink the project from the contract line unless you can delete the invoice and/or posted recognition. Learn more about deleting a sales transaction and clearing revenue recognition.
If project transactions have been billed via Order Entry but the contract line has not been billed via Contracts, you can unlink the project.
To unlink a project from a contract:
- Open the contract in Edit mode.
- Open a contract line that is associated with the project in Edit mode.
- Delete the project identifier from the Project field.
- If there is an associated task, delete the task identifier from the Task field.
- Select Save.
- Repeat steps 2 through 4.
- In the Contract page, delete the default project identifier from the Project field (if any).
- Select Save. The Contract field in the project will now be blank.