Oracle Apps Search

Thursday, July 30, 2009

Oracle Project Contracts

I will try to cover all the portions of Project Contracts in this small document,
  1. Why and what is Project Contracts?
  2. Contract Attributes
  3. Contract Creation
  4. Contract Funding, Fund Allocations and Agreements
  5. Contract Billing
  6. Transfer Contract Events to AR
  7. Shipping Contracts to OM
  8. OKC and OKE Tables
  9. Contracts Migration API
  10. Contracts Access By Role
  11. Contracts Change Management
  12. Contracts Status Change

Why and What is Project Contracts ?

Oracle Project Contracts support complex project contract management needs of project driven organizations including commercial and government contractors, agencies and subcontractors characterized by,
  • Ever changing contract specifications
  • Procure-contract components and services
  • Managing Contract Billing
  • Contract Funding in Multiple Currencies
  • Compliance of government regulations
  • Deliverable tracking integrated with ERP functions like procurement, planning and production
  • Flowdown of contract information to subcontractors and prioritization of contract deliverable.
  • Audit trial for all contracts
Contract Attributes:
  • Type: This indicates whether the contract is an Award, Bid, Proposal, subcontract etc.,
  • Intent: This indicates the main objective of the contract is either to Buy or Sell. Buy is used for Subcontracted deliverable or as a customer Buy document. Sell is used for all outbound deliverable.
  • Number: Number of the Contract, enabled only if document type numbering is set to ‘Manual’.
  • Currency: Currency in which the contract amounts and prices are defined.
  • Start Date: Start Date of the Contract
  • Item Master Org: The manufacturing organization where you have defined inventory items; it is a manufacturing entity.

Contract Creation

Contract can be created either manually or can be copied from the existing contract, where we copy all the attributes, options of the corresponding contract as shown in the initial form below,

Contracts Super user -> Contract organizer -> New Document


And on Clicking the Next button, please enter the corresponding contract attributes and click Finish button,


Contracts similar to most of the data model objects have a header and a line storing the corresponding items.

This creates a contract header as shown below,


You need to enter the fields’ come-into Force date, Owning Organization, Project and the rest all mandatory details.

For the contract to provide Billing, In the Financial list of the Contract header Check the Definitized or Bill Without Definitized Check boxes.


And enter the contract line by clicking on the Contract Line Tab and clicking o the Add (+) button in the menu.


Also make sure that the Billable Check box is checked for creating billing events and Shippable, which is used for shipping the items to OM.

Contract Header Tables,

OKE_K_HEADERS : This stores data related to only Oracle Project Contracts
OKC_K_HEADERS_B: This is the Contract Core base table upon which OKE_K_HEADERS is built and both have one to one relationship.

Contract Lines Tables,

OKE_K_LINES : This stores Line data related to only Oracle Project Contracts
OKC_K_LINES_B : This is the Contract Core base table upon which OKE_K_LINES is built and both have one to one relationship.

And here after creating the header and line with/without items, Change to the ‘Administration’ tab where we should make our self as the Contract Administrator to own the rights of the contract.

For this, we need to be,
  1. Defined as an employee and assigned a Job in which Business unit/Organization is the contract being defined.
  2. And the Employee name is registered as the contact person to the Oracle Applications User.
  3. Assign yourself as a contract Administrator as shown below and also associate the contract Approval workflow and Start it to make the Contract Active.


Approve and Sign the document through the Contract Approval Workflow process in the Workflow Administrator Web Applications responsibility.

Once the contract Approval Workflow is approved, the contract status is modified from ‘Entered’ to ‘Active’, and the contract becomes ‘Active’ as shown below,


And now, on clicking the ‘Go To’ button as we have associated our self a ‘Contract Administrator’ privileges, we would be able to see the list of associated functions for the contract as shown below,


And if we select ‘Authoring Workbench’, it displays the contract workbench as below,



Contract Funding, Fund Allocations and Agreements

Funding: Funding for the Contract is done in Oracle Project Contracts, and funding for the Project is done in Oracle Projects

For the Funding to be done at the contract level, there should be a funding source determined by ‘Fund By’ in the ‘Parties and Contacts’ Tab of Contract Authoring Workbench as below,


And now we shall navigate to Funding
Contract Organizer (00001) --> Got To --> Funding Workbench






And proceed by clicking 'Next',


Now, enter the details of funding the contract from the parties specified in previous section.
The customers who have been assigned the Fund by authority can only fund the contract.

Once the funding had been created for the contract, we need to create allocation to the respective contract Header/Line and the project associated,
Click the Allocations Button, and enter the contract header. Line and amount to allocate


Now, once entered Create agreement by clicking the Create/Update Agreement button, this created entries in PA.



Here we have created funding and transferred the same to PA as agreement.

Managing Contract Billing

For creating the Billing, we need to have the deliverables.
For creating the deliverables, we can ‘Default the deliverables’ or create manual deliverable. Lets default the deliverable as

Action --> Default Deliverable





Once the deliverables are defaulted, you can proceed to deliverable tracking system, open the deliverables and also check that the Billable, and Ready to Bill columns are checked for the billing to be created for the associated project.



And now, we shall initiate billing for the events to the projects,

Go To --> Deliverable Based Billing --> Find --> View Events --> New

Enter the Event Type, Billing Task and initiate the Billing,




Now, we could see the event being transferred to Projects(PA), and we shall see the same in PA,

Project Billing Super User --> Billing à Events --> Project --> Find Project 100000489



Open the event,



Transfer Contract entries to AR Invoice
Oracle project contract entries can be transferred to AR by running the following programs in the specified order and with the following mandatory steps,

Mandatory steps for creating the Sales order Invoices in AR from PA events,

  • The Project Funding should be base-lined.
  • Approved cost Budget and Approved Revenue Budget should be entered for the project.

Base-lining the project funding:

Project Superuser -> Billing -> Funding Enquiry -> Click on Baseline Funding


Baselining the Funding automatically enters the Revenue cost Budget.

The Approved cost budget should be entered as below,

Project Superuser -> Budgets

select Approved Cost Budget



Move to Details, enter the amount for the cost budget, save and close. Submit





Now Baseline the budget amount.


After performing the above setups, run the following programs for the project

PRC: Generate draft invoice for a single project


The output shows the details of the draft invoice.


Now, query the invoice and approve as below,

Project Status Enquiry -> Project Status Enquiry



Open the Invoices, Approve and then Release


Now, Run program PRC: Interface Invoices to receivables


The output shows the details of the invoice,


The interfaced invoice lines had to be imported to AR, and this is done by program,

Autoinvoice import program as below


And the AR invoice is created as below,



The currency the invoice is created depending on the profile option 'Invoice by Bill Transaction Currency' setup at the project level.

OKC and OKE Tables


Contracts Migration API

Contract migration does not happen as the same traditional way of copying data from legacy systems to Interface tables and from interface tables to base tables because oracle does not provide any interface tables for Contracts, but of course provided some other methodology of importing data through the API.

Contracts constitutes the following data,
  • Contracts headers
OKE_IMPORT_CONTRACT_PUB.create_contract_header
  • Contract Party
OKC_CONTRACT_PARTY_PUB.create_k_party_role
  • Contract Contact
OKC_CONTRACT_PARTY_PUB.create_contact
  • Contract Terms
OKE_TERMS_PUB.create_term
  • Contracts Lines
OKE_IMPORT_CONTRACT_PUB.create_contract_line
  • Contract Deliverables
OKE_IMPORT_CONTRACT_PUB.create_deliverable
  • Contract Billing events
OKE_DELIVERABLE_BILLING_PVT.create_billing_event
  • Contract Funding and Fund Allocations
OKE_FUNDING_PUB.create_funding and OKE_ALLOCATION_PVT.add_allocation

Contracts Access By Role

usually Contracts are not accessed by any other user unless he owns the contract administrator role assigned in the Authoring workbench.

The Contract access can be provided to any user by the contract administrator in the Contracts access screen at:

OKE Contracts --> Security --> Contract Accesses


And the access can be provided of these following roles,

--> Contract Administrator
--> Program Manager
--> Project Accountant
--> Project Controller

Contracts Status Change

The Status of a Contract is a label defining where it stands in its life cycle of the following Order:

Entered: This is the initial stage and can be completed but not approved.

Signed: Contract is approved but not yet effective

Active: Contract is Approved, Signed and Effective

Expired: Contract was active, and not effective any more.

Terminated: Contract is no longer active, either by termination from either side or by completion of all contractual obligations as specified.

Cancelled: Contract never became active and not planned to become active

The Contract status can be modified from one stage to other with the Menu Item,
Actions --> Change Contract Status

And the contract status while changing from Entered to Active the Workflows can be started using the API OKE_CONTRACT_APPROVAL_PUB.K_APPROVAL_START

And the Workflow Processes are created using API, OKC_CONTARCT_PUB.create_contract_process


4 comments:

  1. Hi Kiran, I am new to Oracle Projects suite. I am trying to create a new contract following your steps above. But while trying to select "Type" in the new document information, it says FRM - 41830 List of values contain no entries. Can you please tell me where do we enter these values. Also I would like to know what is Master Agreement, Item Master Org and Operating Unit.

    ReplyDelete
  2. Hi Raj,

    you got to create Contract Document type in Setup form of OKE, Setup --> System Setup --> Contract Document Types Tab

    Thanks,
    KIran

    ReplyDelete
  3. Can you review the steps for p2p cycle and the integration with oracle project costing??

    ReplyDelete
  4. kiran ...Nice article, I am wondering what is the concept of master agreement while creating a contract. I created project contract but never that button is highlighted. How to use this functionality.

    ReplyDelete