Oracle Projects

15
Oracle Projects The applications that make up the Oracle Projects suite work together to provide a complete enterprise project management solution overview of the Oracle Projects group of applications, including Oracle Project Costing, Oracle Project Billing, Oracle Project Resource Management, Oracle Project Management, Oracle Project Collaboration, Oracle Daily Business Intelligence for Projects, and Oracle Project Portfolio Analysis. Oracle Projects applications are designed to integrate with many other Oracle application suites (including Oracle HRMS, Oracle Financials, and Oracle Supply Chain applications) Oracle Project Costing Oracle Project Costing provides an integrated cost management solution for all projects and activities within an enterprise. With Project Costing you can manage costs across currency and organizational boundaries. Project Costing also acts as a central repository of project plans and transactions, processes project costs, and creates corresponding accounting entries to satisfy corporate finance requirements. Oracle Project Billing Oracle Project Billing enables enterprises to simplify customer invoicing, streamline corporate cash flow, and measure the profitability of contract projects. Using configurable accounting rules, Oracle Project Billing extends Oracle Project Costing functionality by processing actual costs, creating corresponding accounting entries for revenue accrual to satisfy corporate finance requirements, and creating customer invoices for project work. With Project Billing, project managers can review project invoices online and analyze project profitability, and accounting managers can see the corporate impact of project work. The key features of Oracle Project Costing are: • Versatile template-driven project definition • Multiple currency financial plan and budget creation • Diverse accrual and expenditure capture • Robust expenditure control, collection, and adjustment functionality, integrated with other Oracle applications The key features of Oracle Project Billing are: • Robust contract project creation functionality, enabling distinction between project types, revenue accrual and invoice methods, billing cycles, and contacts • Flexible agreements in multiple currencies with either hard or soft limits • Budgeting for revenue in multiple currencies, separately from cost • Organization-level and project-specific billing rate schedules and overrides • Versatile billing retention and tax functionality • Flexible revenue accrual calculation • Optional capability to create invoices using invoice methods differently from the

Transcript of Oracle Projects

Page 1: Oracle Projects

Oracle Projects

The applications that make up the Oracle Projects suite work together to provide a

complete enterprise project management solution

overview of the Oracle Projects group of applications,including Oracle Project Costing, Oracle Project Billing, Oracle Project ResourceManagement, Oracle Project Management, Oracle Project Collaboration, Oracle Daily

Business Intelligence for Projects, and Oracle Project Portfolio Analysis.

Oracle Projects applications are designed to integrate with many other Oracleapplication suites (including Oracle HRMS, Oracle Financials, and Oracle Supply Chain

applications)

Oracle Project CostingOracle Project Costing provides an integrated cost management solution for all projectsand activities within an enterprise. With Project Costing you can manage costs acrosscurrency and organizational boundaries. Project Costing also acts as a central repositoryof project plans and transactions, processes project costs, and creates corresponding

accounting entries to satisfy corporate finance requirements.

Oracle Project BillingOracle Project Billing enables enterprises to simplify customer invoicing, streamlinecorporate cash flow, and measure the profitability of contract projects. Usingconfigurable accounting rules, Oracle Project Billing extends Oracle Project Costingfunctionality by processing actual costs, creating corresponding accounting entries forrevenue accrual to satisfy corporate finance requirements, and creating customerinvoices for project work. With Project Billing, project managers can review projectinvoices online and analyze project profitability, and accounting managers can see the

corporate impact of project work.

The key features of Oracle Project Costing are:• Versatile template-driven project definition• Multiple currency financial plan and budget creation• Diverse accrual and expenditure capture• Robust expenditure control, collection, and adjustment functionality, integrated

with other Oracle applications

The key features of Oracle Project Billing are:• Robust contract project creation functionality, enabling distinction between projecttypes, revenue accrual and invoice methods, billing cycles, and contacts• Flexible agreements in multiple currencies with either hard or soft limits• Budgeting for revenue in multiple currencies, separately from cost• Organization-level and project-specific billing rate schedules and overrides• Versatile billing retention and tax functionality• Flexible revenue accrual calculation• Optional capability to create invoices using invoice methods differently from the

Page 2: Oracle Projects

way revenue is accrued• Several powerful invoice management features, including holds, currency selection,

and review/approve/release functionality

Oracle Projects Invoice FlowSunday, 09 August 2009 00:55

Sathish Raju

Hits: 3794

0Share

This article gives a basic understanding of the Oracle Projects Invoice Flow:

Oracle Projects Invoice Flow:

Below are Steps that needs to be followed for successfully creating a Projects Invoice and interfacing it to Oracle Receivables.

1. Creation of Contract Project (Mandatory)

2. Assign a Customer for the Project (Mandatory)

3. Create an Agreement with the Customer (Mandatory)

4. Fund the Project through the Customer Agreement (Mandatory)

5. Create an Approved Revenue Budget for the Project (optional).

6. Baseline the Funding (Mandatory).

7. Generate Draft Revenue (Optional).

8. Generate Draft Invoice (Mandatory).

9. Approve and Release the Draft Invoice (Mandatory).

10. Interface Draft Invoices to Oracle Receivables. (Mandatory)

11. Tieback invoices back to Oracle Projects. (Mandatory).

1. Creation of Contract Project:

Create a Project of 'Contract' Project Type. Only Contract Projects can be associated with a Customer. Create WBS Structure for the Project. Identify the

Project Manager. Assign Team members if needed.

Tech info:

Tables/Views involved:

PA_PROJECTS_ALL - Projects Table

PA_PROJECT_TYPES - Project Types Information

PA_TASKS - Tasks Associated with the Projects (WBS Information)

PA_PROJECT_PLAYERS - Contains the Key Member Assoications with the Project including the Project managers.

2. Assign a Customer for the Project:

Assign a Customer to the Project and the 'Bill to ' Address for the customer, so that the customer can be billed. Also you can assign Billing and Shipping

Contacts for the Customer in the Customers Options in the Projects Form.

Page 3: Oracle Projects

Tech info:

Tables/Views involved:

PA_PROJECT_CUSTOMERS - Projects-Customers Association

3. Create an Agreement for the Customer:

A Funding Agreement needs to be created for the Customer with the Terms and the Agreement Amount. This can be done using the Agreements Form.

Here you can specify the 'Hard Limts' . If the Hard Limit is set for Revenue, Revenue cannot be generated past the funded amount for the project. Similarly if

the Hard Limit is set for the invoice, the customer cannot be billed past the funded amount in the agreement for that project.

Tech info:

Tables/Views involved:

PA_AGREEMENTS_ALL - Agreement Header Information.

4. Fund the Project through the Customer Agreement:

Fund the Project using the Customer agreement created in Step 4. This can be done using the Fundings Section in the Agreement Form. If a customer

agreement already exists for this customer, you can use the same agreement to fund this project.

Tech info:

Tables/Views involved:

PA_SUMMARY_PROJECT_FUNDINGS - Project Funding Information.

5. Create an Approved Revenue Budget for the Project:

This Step is optional, if the 'Baseline Funding without Budget' option is set at the Project level. If this option is not set, then an approved revenue budget

for the project has to be created with the funding amount. Baselining this budget, baselines the funding automatically.

Tech info:

Tables/Views involved:

PA_BUDGET_VERSIONS - Budget header info

PA_BUDGET_LINES : Budget Line level info

6. Baseline the Funding:

If 'Baseline Funding without Budget' is set then the funding can be baselined without the Approved Revenue Budget. Oracle Projects creates an internal

Approved Revenue Budget with the budget amount equal to the Funding amount and baselines both the Budget and Funding.

7. Generate Draft Revenue:

This step is optional depending on the Distribution Rule for the invoice. If the invoice distribution rule is WORK, this step is mandatory. The process "PRC:

Generate Draft Revenue for a single Project" is run for the Project. If revenue needs to be generated for multiple projects, run the "PRC: Generate Draft

Revenue for range of Projects" process giving the Project Number ranges.

Tech info:

Tables/Views involved:

PA_DRAFT_REVENUES_ALL - Revenue Header info

PA_DRAFT_REVENUE_ITEMS - Line level details.

PA_CUST_REV_DIST_LINES_ALL - Revenue distribution lines for the Expenditure items

PA_CUST_EVENT_RDL_ALL - Revenue distribution lines for the events

8. Generate Draft Invoice:

Run the Process "PRC:Generate Draft Invoice for a single Project", giving the Project number as parameter. This will generate draft invoices only for that

project. If you want to generate invoices for multiple projects, run "PRC: Generate Draft Invoice for a range of Projects" giving the Project number ranges.

Tech info:

Tables/Views involved:

Page 4: Oracle Projects

PA_DRAFT_INVOICES_ALL - Draft invoice header information

PA_DRAFT_INVOICE_ITEMS - Item level information

9. Approve and Release the Draft Invoice:

The invoices needs to be approved and released in order to interface them to AR. This can be done in the Invoice Review Form. Alternatively the Automatic

Approval and release client extension can be used to automatically approve and release the invoices. But it all depends on the business scenario. Generally

an invoice accountant will review the invoice, approve and release it.

The approval workflow can also be customized to have a multi-level approval mechanism.

10. Interface Draft Invoices to Oracle Receivables

Run the "PRC: Interface invoices to Receivables" process in order to interface the released projects invoices to AR. This process will populate the AR

interface table. Once this process is run, in AR, the " Autoinvoice import"process need to be run so that it will create AR invoices from the interface records.

[dropcap color={color} cap={cap}]{

Tech info:

Tables/Views involved:

RA_INTERFACE_LINES_ALL

}[/dropcap]

11. Tieback invoices back to Oracle Projects

Once the Autoinvoice import is successfully run, the "PRC: Tieback Invoices from Receivables" process is run to update the status of the invoice import in

AR to the Projects Invoices

Reconciling PA and other modules - Part IFriday, 26 June 2009 22:32

Sathish Raju

Hits: 1909

• 1

• 2

• 3

• 4

• 5

(2 votes, average 5.00 out of 5)

0Share

Top of Form

User Rating: / 0

Poor Best

Rate

Bottom of Form

The most challenging part is reconciling the cost and revenue in PA with other modules.Below is a flow chart showing the data flow between the modules

PA, AP, PO and GL.

Page 5: Oracle Projects

Here in this Part1 iam giving you the basic queries that will be helpful to reconcile the cost between these modules. In Part2 I will be giving the basic queries

for revenue reconciliation. In Part3, i will be giving the UBR and UER reconcilation.

NOTE: These queries are just prototypes, you may have to modify it according to your accounting setup. All the queries are for a particular period

since we are concerned about reconciling cost/revenue for that particular period only.

Q1: Cost interfaced from the modules PA,AP,PO,AR to GL in JUN-08.

SELECT SUM(nvl(entered_dr,0) - nvl(entered_cr,0)) amt , glcc.segment1, glcc.segment2, glh.je_source

FROM apps.gl_je_headers glh,

apps.gl_je_lines gll,

apps.gl_code_combinations glcc

WHERE glh.je_header_id = gll.je_header_id

AND gll.code_combination_id = glcc.code_combination_id

AND glcc.segment2 in ('10903','10953','10814') -- specific accounts

AND actual_flag = 'A'

AND summary_flag = 'N'

AND gll.period_name in ('JUN-08') -- Period

AND glh.je_source in ('Project Accounting', 'Purchasing', 'Payables', 'Receivables') GROUP BY glcc.segment1, glcc.segment2, glh.je_source ,

gll.period_name

Now we can check the total cost in projects that are interfaced to GL :

Q2: Total Cost in Projects by Transaction source and Segment1 and Segment2 for JUN-08.

You can add more segments here according to your needs.

SELECT transaction_source, glcc.segment1, glcc.segment2, SUM(cdl.burdened_cost) JUN08_Cost,

ei.system_linkage_function

FROM

apps.pa_cost_distribution_lines_all cdl,

apps.pa_expenditure_items_all ei,

apps.pa_projects_all ppa,

apps.hr_all_organization_units hou,

apps.gl_code_combinations glcc

Page 6: Oracle Projects

WHERE ppa.carrying_out_organization_id = hou.organization_id

AND ppa.project_id = cdl.project_id

AND cdl.gl_period_name = 'JUN-08'

AND cdl.expenditure_item_id = ei.expenditure_item_id

AND cdl.dr_code_combination_id = glcc.code_combination_id

GROUP BY ei.transaction_source, glcc.segment1, glcc.segment2, ei.system_linkage_function

Now you have to tie the cost amounts from various sources such as 'Payables', 'PO Receipt' and other modules to the Cost returned in the Query1 for these

sources.

The Costs from AP are directly sent to GL. The Costs from PO/Receiving are directly sent to GL.

Q3: Costs that are interfaced from AP to PA in JUN-08

SELECT

NVL(sum(nvl(amount,0)),0) amt, glcc.segment1, glcc.segment2 ,

inv_dist.pa_addition_flag, inv_dist.je_batch_id, inv_dist.accrual_posted_flag,

inv_dist.project_id, inv_dist.expenditure_type

FROM apps.ap_invoice_distributions_all inv_dist

,apps.ap_invoices_all i

,apps.gl_code_combinations glcc

WHERE inv_dist.invoice_id = i.invoice_id

AND inv_dist.dist_code_combination_id = glcc.code_combination_id

AND glcc.segment2 in ('10903','10953','10814') -- specific accounts

AND inv_dist.posted_flag = 'Y'

AND inv_dist.accounting_date between '01-JUN-08' and '30-JUN-08'

AND inv_dist.period_name = 'JUN-08'

GROUP BY glcc.segment1, glcc.segment2, inv_dist.pa_addition_flag, inv_dist.je_batch_id,

inv_dist.ACCRUAL_POSTED_FLAG,inv_dist.project_id, inv_dist.expenditure_type

The above query will give you the cost that is interfaced from AP to PA for JUN08 period. The Cost in Query Q2 for the transaction source 'Payables' should

match the cost in Q3.If these two are not matching then it might be that Cost is adjusted in Projects/Payables but posted to the other module.

Case1: Invoice from AP is adjusted in PA.

Case2: Invoice is adjusted in AP after it is interfaced to PA.

For Case1, Interface the un-interfaced Supplier invoice adjustment records in Oracle Projects.

For Case2:Interface the Adjusted AP invoice to Oracle Projects.

Then re-run the queries Q2 and Q3 and check.

Q4: Costs that are interfaced from PO to PA in JUN-08

SELECT

NVL(sum(nvl(rcv.accounted_dr,0)),0) - NVL(sum(nvl(accounted_cr,0)),0) amt,

glcc.segment1, glcc.segment2, rcv.pa_addition_flag

FROM apps.rcv_transactions t

,apps.RCV_RECEIVING_SUB_LEDGER rcv

,apps.gl_code_combinations glcc

WHERE rcv.code_combination_id = glcc.code_combination_id

AND rcv.rcv_transaction_id = t.transaction_id

AND glcc.segment2 in ('10903','10953','10814') -- specific accounts

AND rcv.actual_flag = 'A'

AND rcv.accounting_date between '01-JUN-08' and '30-JUN-08'

GROUP BY glcc.segment1, glcc.segment2, rcv.pa_addition_flag

Now we have to look at the output of all the queries to reconcile. If PA and AP does not match then we need to find out the uninterfaced transactions in both

the modules and interface them. Similarly for the PO and PA.

In the next part i will be explaining about the Revenue reconciliation.

Role Based Costing in Oracle ProjectsWednesday, 25 February 2009 06:00

Sathish Raju

Hits: 722

Page 7: Oracle Projects

0Share

One of the scenario that i came across is client wanted to have the cost rates assigned at the role level. With the standard functionality this is not possible.

So we decided to create a form to assign the rates to the project roles. But i would prefer enabling the flexfield in the Project Roles definition form and then

assigning rates in one of the segments.

The first step here is enabling the flexfield in the Project Roles forms.

1. Enable DFF segments for the Project Role Type DFF.

2. Add the Cost Rate Segment - Which maps to the Attribute1 of the PA_PROJECT_ROLE_TYPES_B table.

3. In the PA Implementation SU resp, Setup->Projects-> Roles,assign the cost rate to the respective roles.

4. Now we have to modify the Labor costing client extension provided by Oracle . Below is an example of how to obtain the cost rate and calculate the cost.

Labor Costing Extension Package: PA_Client_Extn_Costing

under patch/115/PAXCCECB.pls

procedure Calc_Raw_Cost(

x_transaction_type in varchar2 default 'ACTUAL',

x_expenditure_item_id in number,

x_sys_linkage_function in varchar2,

x_denom_raw_cost in out number,

x_status in out number )

is

l_cost_rate Number;

l_quantity Number;

begin

-- Reset the output parameters.

x_denom_raw_cost := NULL;

x_status := 0;

if ( x_transaction_type = 'ACTUAL') then

if (x_sys_linkage_function = 'ST') then

begin

select to_number(roltyp.attribute1)

into l_cost_rate, l_quantity

from pa_project_role_types_vl roltyp,pa_expenditure_items_all ei,

Page 8: Oracle Projects

pa_project_players ppp, pa_expenditures_all exp

where roltyp.project_role_type = ppp.project_role_type

and ppp.project_id = ei.project_id

and ei.expenditure_id = exp.expenditure_id

and ppp.person_id = exp.incurred_by_person_id

and ei.expenditure_item_id = x_expenditure_item_id;

x_denom_raw_cost := l_cost_rate * l_quantity;

Exception

When no_data_found then

Null;

End;

null;

else

-- Add your calculation of overtime expenditure item.

null;

end if;

elsif ( x_transaction_type = 'FORECAST') then

-- Add your calculation for forecast

null;

end if;

exception

when others then

-- Add your exception handler here.

-- To raise an application error, assign a positive number to x_status.

-- To raise an ORACLE error, assign SQLCODE to x_status.

null;

end Calc_Raw_Cost;

Assumption: Here we are assuming that all employees who enter expenditures for the project are assigned Roles.

Custom Project Numbering in Oracle ProjectsSaturday, 14 February 2009 06:00

Sathish Raju

Hits: 715

0Share

Some of the companies they want to customize the way automatic project numbering is working in projects. One such requirement is to have different project

number sequences for different OUs.

Since the projects numbering is based on a sequence if the automatic project numbering is on and is common for all the OUs, there is not a way to have a

different sequence for different OU.

Here is a way where you can customize it:

Using customization we can achieve it.

1. Set the project numbering to be manual.

2. Create one sequence for each OU.

3. Customize the projects creation page to automatically populate the project number to a prefix + sequence number corresponding to the OU.

Lets say the prefix: ABC for OU ABC Inc

then the project number is ABC1

and prefix : XYZ for XYZ inc

then the project number is XYZ1.

Page 9: Oracle Projects

This way we can acheive unique numbering across the OUs and at the same time different sequencing for different OU.

How to Capture Extra Information in Projects?Thursday, 26 February 2009 06:00

Sathish Raju

Hits: 1106

0Share

In this article i will explain the powerful facility that Oracle projects has provided to capture extra information for any projects without having to write a single line of code.

UDA : User Defined AttributesUDA is a powerful mechanism wherein similar to the Descriptive flex fields in forms. Here we have to create an Attribute Group which is similar to the Desc Flex and the Attribute items similar to the segments in the flex field. In the Projects Super user responsibility, we have set of menu functions for creating a UDA page.The example scenario here is I want to capture the Cost Center information of a Project. If UDA concept is not there, i need to write a custom OA Page for this.

Steps involved:1. Create an Attribute Group (XX_Cost_Center). 2. Add Attribute item (cost_center) to the attribute group.3. Add Attribute Context - This is to associate the attribute group to the context of the

project. The context can be Class Category, Project Type, Task Type. For example if i add an attribute context of type 'Project Type' with the value 'Construction'. Then all the projects which are of type 'Construction' are eligible for collecting the cost center information.

4. Add Page region - This is to Create a Region to associate the Attribute Group. There can be more than one Attribute group that can be associated to a page region.

5. Create the database view for the Attribute Group created.

Page 10: Oracle Projects
Page 11: Oracle Projects
Page 12: Oracle Projects
Page 13: Oracle Projects
Page 14: Oracle Projects

Search for a Construction Project:

Page 15: Oracle Projects

Navigate to the Setup of the Project. We can see the Cost Center Information Link at the bottom of the Page.

Navigate to the Cost Center Information Page, we can see the Attribute item we have created. We can fill in the value of the cost center here and it is stored in the PA_PROJECTS_ERP_EXT_B and PA_PROJECTS_ERP_EXT_TLTables.