Oracle Project Portfolio Management, or Oracle PPM Cloud, has the ability to create contracts with the flexibility to choose when to recognize revenue and when to generate invoices. Users can link projects to invoices and contracts in Oracle Cloud.

Within a project, you have project tasks that can be associated with expenditure items of a contract as contract lines. The application generates invoices based on the settings defined by the contract. Multiple projects can be linked to one contract, but a project does not span multiple contracts.

That is a lot to take in. Let’s break it down.

Step 1: Define a project in Oracle PPM Cloud

A project can consist of multiple tasks that serve as steps to project completion. Every task has its own start and finish date, duration, and labor resources.  Each individual task’s start and finish dates must fall within the overall project start and finish dates. For example, if a project starts on January 1 and ends March 31, a task can end on March 31 but not April 1.

Note: Every project must have at least one task. Oracle PPM Cloud does not restrict the maximum number of tasks a project can have.

A project can have financial tasks and non-financial tasks. Financial tasks are those that are billable and chargeable and appear on the Project Financial Plan as well as the Project Plan. Financial tasks are noted by an icon that appears to the left of the task. The icon appears as two gold coins stacked on top of each other with a white outline of a bank building on the coin in the front. Non-financial tasks do not appear on the Project Financial Plan. The following screenshot displays an example of the icon that marks financial tasks:

Get your free cloud software training assessment

financial tasks in Oracle CloudSo now you have a project with financial tasks created, you can associate the financial tasks with specific expenditure items on a contract.

But first, you must create expenditure items on a contract.

Step 2: Create a contract in Oracle Cloud.A contract is a legally binding agreement between at least two parties. To create a contract, you will need to follow this navigation pathway: Contract Management > Contracts > Create Contract.

One common misconception is that you link a project to a contract during the creation of the contract. The creation of a contract is independent of the project it will be associated with. A contract only needs a contract template and a second party.

In order for a contract to be associated with a project, the intent of the contract must be Sell. The intent of the contract cannot be Buy. This means when choosing a contract template, you must choose one that is defined as Sell.

There are four classes of contracts. Each of these 4 classes can be defined by a Set and an Intent. As long as the Intent is Sell, you can associate the expenditure items with projects. The following list details the four classes of contracts:

  • Agreement
  • Enterprise Contract
  • Grant
  • Partner Agreement

Once you have defined the general information for the contract, including billing specifics, you will need to add expenditure items. These appear as contract lines. You can add more than one contract line, and you can duplicate already created lines.

For each individual expenditure item, you create a contract line and define the general information and the bill plan. You can then associate the line item with a project.Simply select the Create icon on top of the Associated Projects table. You can then select either the project name or project number and the task name or task number (the other will auto-fill accordingly).

For example:

Let’s pretend you have a contract line for a consultation. This is the contractual obligation to provide a consultant for the defined number of hours. You will need to add other lines for the materials provided.

Get your free cloud software training assessment

If you have tasks for Construction and Development, the consultant line can be associated with development, and the multiple materials lines would all be associated with construction. It is important to note that the materials and consultant lines are all associated with the same project. In this way, you have multiple project tasks with different budgets, all in the same project, associated with their respective contract lines.

Here’s another example:

Say there are multiple consultants on the same contract, but the consultants are being used on multiple concurrent projects. In that case, you can associate more than one project with the same contract line by adding additional associated projects. So you may only have one contract line, but three different projects, and therefore their budgets, associated with that expenditure item.


In business, you don’t come across a project that is associated with multiple contracts.

This allows an endless amount of flexibility when it comes to associating project and contract lines so that your budgets remain correctly balanced.

Once projects are associated, and work has been done, you are ready to invoice the customer.

Step 3: Generate invoices

To generate an invoice, you need to be in the Contract Management work area. There is also an Invoices app in the Payables work area; however, that is an entirely different process.

To generate an invoice for a project contract, navigate to Contract Management > Invoices > Tasks > Generate Invoices.

Note: You will know you have started the correct process if the words “project contract” appear in the description.When generating invoices, the only required field is the Business Unit field. However, in almost all cases, a company does not want to generate every invoice at the same time. Usually, you need to generate invoices for a specific contract, or a specific project, or both.

Oracle has over a dozen fields you can choose to add values to during the generation of invoices in order to only generate the invoices you need including:

  • Billing Type
  • Billing Dates
  • Invoice Dates
  • Contract Number (single number or range of numbers)
  • Bill-to Customer
  • Contract Type
  • Contract Administrator
  • Project Name
  • Project Manager
  • Bill Set
  • Invoice Number

Once you have selected all the data specifications necessary for your use, you can submit the Generate Invoice process. If you have a contract with regularly recurring invoice needs, you can select the Advanced button, then the Schedule tab, and schedule the  invoice process to run at a future date, or at regular intervals.

Once you have submitted the process, you will be returned to the Invoice main page usually accessed by navigating to Contract Management > Invoices.From here, you can monitor the process you just submitted by expanding the Process Monitor section. You can also quickly see how many invoices you have in Exception, Draft, Submitted, and Released status.

What do these statuses mean?

Invoices in Exception status have an error that needs to be resolved before the invoice can be submitted.

Invoices in Draft status have not yet been submitted and changes can still be made.

Note: In addition to generating invoices by selecting Tasks> Generate Invoices, you can also select the Actions button in either the Exceptions or Draft Invoices tab and then select Generate Invoice from the resulting drop-down menu.

Invoices in submitted status are ready for manager approval. The manager can approve, reject, or release the invoice from that point. Invoices that appear in this Submitted Invoice tab on the Invoice page should also appear in the Invoices Infolet in the Project Management Infolets section on the home page.

Invoices in released status are ready to be sent on to Receivables. By transferring them into Receivables, you have sent the Invoice to the customer and are now awaiting payment.

Invoices and Contracts in Oracle Cloud

Expenditure Items on a Contract

Now that you have an in-depth understanding of creating projects, creating contracts with expenditure lines associated with the project, and creating invoices for the contract associated with the project, let’s get back to the original question:

How can you link an invoice or a contract to a project in PPM?

Technically, you don’t.

You link expenditure items in the form of contract lines to a project and then generate an invoice.

This allows a significantly greater degree of flexibility when it comes to recognizing revenue and generating invoices for projects and contracts.

Want to learn more about PPM? Curious to know what happens to invoices after they make it to Receivables? Need a more explicit, in-depth walk-through of the processes discussed in this article?

If you said yes to any of these then our courseware is the right option for you. Our Project Portfolio Management course goes in depth on all aspects of both Project Management and Project Financial Management. Topics on invoices and contracts in Oracle Cloud are found in our Project Financial Management course in the subsection, Project Billing and Contracts. Topics in this subsection include Enterprise Contracts, Project Billing Options, Project Invoices, Revenue, and Billing Transactions.

You can get all of this and more with ENGAGE by Maverick. ENGAGE is Maverick Solutions’ subscription-based training content on all Oracle Cloud applications. It is fully customizable, comprehensive, and available 24/7/365. If you want to know how Maverick Solutions can fit into your organization’s current or future Oracle projects, speak with one of our training experts today!