Friday 17 April 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

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

Print This Post

No comments:

Post a Comment