Вы находитесь на странице: 1из 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

way revenue is accrued Several powerful invoice management features, including holds, currency selection, 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 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.

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:

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 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

Rate
Poor Best

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.

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

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 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 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 x_expenditure_item_id x_denom_raw_cost x_status 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, in varchar2 default 'ACTUAL', in number, in out number, )

x_sys_linkage_function in varchar2, in out number

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 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 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.

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 Attributes UDA 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. 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.
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.

Search for a Construction Project:

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.

Вам также может понравиться