You are on page 1of 8

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 Resourc
e
Management, Oracle Project Management, Oracle Project Collaboration, Oracle Dail
y
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 p
rojects
and activities within an enterprise. With Project Costing you can manage costs a
cross
currency and organizational boundaries. Project Costing also acts as a central r
epository
of project plans and transactions, processes project costs, and creates correspo
nding
accounting entries to satisfy corporate finance requirements.
Oracle Project Billing
Oracle Project Billing enables enterprises to simplify customer invoicing, strea
mline
corporate cash flow, and measure the profitability of contract projects. Using
configurable accounting rules, Oracle Project Billing extends Oracle Project Cos
ting
functionality by processing actual costs, creating corresponding accounting entr
ies for
revenue accrual to satisfy corporate finance requirements, and creating customer
invoices for project work. With Project Billing, project managers can review pro
ject
invoices online and analyze project profitability, and accounting managers can s
ee 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 pro
ject
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 th
e
way revenue is accrued
Several powerful invoice management features, including holds, currency selectio
n,
and review/approve/release functionality
Oracle Projects Invoice Flow

Sunday, 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 I
nvoice 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 assoc
iated 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 inclu
ding 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.
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, Re
venue 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 fu
nded 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 don
e using the Fundings Section in the Agreement Form. If a customer
agreement already exists for this customer, you can use the same agreement to fu
nd 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 budge
t, 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 wi
thout the Approved Revenue Budget. Oracle Projects creates an internal
Approved Revenue Budget with the budget amount equal to the Funding amount and b
aselines 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 item
s
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 Pr
oject number as parameter. This will generate draft invoices only for that
project. If you want to generate invoices for multiple projects, run "PRC: Gener
ate Draft Invoice for a range of Projects" giving the Project number ranges.
Tech info:
Tables/Views involved:
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 r
elease 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 mech
anism.
10. Interface Draft Invoices to Oracle Receivables
Run the "PRC: Interface invoices to Receivables" process in order to interface t
he released projects invoices to AR. This process will populate the AR
interface table. Once this process is run, in AR, the " Autoinvoice import"proce
ss 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 I
Friday, 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 m
odules.Below is a flow chart showing the data flow between the modules
PA, AP, PO and GL.
Here in this Part1 iam giving you the basic queries that will be helpful to reco
ncile the cost between these modules. In Part2 I will be giving the basic querie
s
for revenue reconciliation. In Part3, i will be giving the UBR and UER reconcila
tion.
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.segm
ent2, 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', 'Receivabl
es') 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 J
UN-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
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', 'P
O 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 direc
tly 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_ba
tch_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 JUN0
8 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 Or
acle 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 Projects
Wednesday, 25 February 2009 06:00
Sathish Raju
Hits: 722

0Share

One of the scenario that i came across is client wanted to have the cost rates a
ssigned 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 w
ould 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_RO
LE_TYPES_B table.
3. In the PA Implementation SU resp, Setup->Projects-> Roles,assign the cost rat
e 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,
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 t
he project are assigned Roles. Custom Project Numbering in Oracle Projects
Saturday, 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 num
bering 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 nu
mber 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.
This way we can acheive unique numbering across the OUs and at the same time dif
ferent 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 pr
ovided to capture
extra information for any projects without having to write a single line of code
.
UDA : User Defined Attributes
UDA is a powerful mechanism wherein similar to the Descriptive flex fields in fo
rms. Here
we have to create an Attribute Group which is similar to the Desc Flex and the A
ttribute
items similar to the segments in the flex field.
In the Projects Super user responsibility, we have set of menu functions for cre
ating 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 conte
xt 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 whic
h 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.

Search for a Construction Project:


Navigate to the Setup of the Project. We can see the Cost Center Information Lin
k at the
bottom of the Page.
Navigate to the Cost Center Information Page, we can see the Attribute item we h
ave
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.

You might also like