Sei sulla pagina 1di 43

Managing Cash Flow in Primavera

P6
Session ID#: 15465
How to Track Project Revenues and
Expenditures in One P6 Project

Prepared by:
Luka Novosel, PMP
Primavera Implementation Consultant REMINDER
Primakon Ltd. Check in on the
COLLABORATE mobile app
About me…

■ Masters degree in Electrical Engineering


■ Primavera functional & technical consultant since 2006
■ PMI PMP certified since 2010
■ Oracle Primavera P6 & P6 R8 Implementation Specialist
■ Oracle Primavera EPPM trainer
■ PMP preparation trainer
■ Primavera EPPM API application designer & developer
■ Primavera EPPM SDK application designer & developer
About us…

■ Primakon is privately owned consulting company


■ 15+ years of experience in Primavera implementations
■ Offers customer tailored education in the area of PM
methodologies and Primavera products
■ References in wide area of industries (from finance sector to
construction)
■ Present on markets in EU & SE Europe
Presentation overview

■ The business need (NUMIP case)


■ Solution analysis
■ Model description
▪ Model overview
▪ Data entry
▪ Background jobs
▪ Primavera reports
■ BI publisher data model
■ BI reports
■ Conclusion and what’s next
The business need (NUMIP
case)

This is a subtitle or bulleted list


The business needs …

■ About company
▪ NUMIP, privately owned engineering company,
▪ Working in different process industries such as:
— Nuclear Industry
— Pharmaceutical Industry
— Paper Industry
▪ Present in USA & Europe
▪ Project oriented company
■ Business needs:
▪ Long-running recession
▪ Huge pressure on profit margin
▪ Optimization of internal processes
Requirements …

■ Primavera P6 as management tool


■ Detailed project plans in Primavera
▪ All activities with roles in planning phase for cost projections
▪ Resource and material assignments with planned and actual
values for cost tracking
■ All project expenditures in one place
■ Cash flow projections in Primavera P6
■ Executive reports on future cash flow projections
■ Email alerts for invoices
Key problems …

■ Primary role of P6 is to help project managers in managing


projects
■ Additional requirements mustn’t interfere with primary role
■ Invoice due dates depend on contract definitions
■ The moment when the job is done (and money earned) is
different from the moment when the invoice is paid
■ Management request is to have both informations in P6 and
in correlation to project schedule
Solution analysis: Why cost
User Defined Fields (UDF)?
Cost UDF Model and what’s behind it

■ WBS node called Cash Flow


■ Milestones with predecessor links to project plan
▪ Lag on relationship defines invoice due date period (i.e 30 days)
▪ Activity Cost UDF’s :
— Revenue
— Expenditure
▪ Milestone calendar: 7-day workweek
■ Milestone date gives UDF time dimension
■ Project Cost UDF’s summarizes activity level UDF’s
(background job) one field for every month / type
Automatic Project Cost UDF creation

■ Background job creates


project UDF’s
■ Two prefixes (data type
and value type)
■ Data Type
▪ PLI – planned value
▪ BLI – baseline value
■ Value type
▪ EXP – expenditure
▪ INC – revenue
▪ CF – cash flow
Key benefits of this Model
Why Cost UDF’s?
■ Financial fields do not interfere with managing project costs
■ No specific filtering is needed
■ Data is dynamically related to project schedule
■ Background job is updating project fields on predefined
intervals
■ Simple project reports in P6 Web
■ Simple Project Portfolio analysis
■ Default Primavera Project Cost analysis (i.e total costs) is not
affected
■ Designed as an add-on to regular project plans
■ Easy copy / paste export to Excel
Model description
Data input process

■ In project planning phase : Project Manager and Commercial


department official define planned project cash flow.
■ Revenue and expenditure milestones are linked to project
management schedule
■ In P6, financial department officers have special Project and
Global Security setup
▪ Read / Write access to WBS nodes with cash flow and invoice
milestones
▪ Read + add relationships on project level
■ This way they have authority to define new milestones if
necessary during projects execution
Data input process cont.

■ In P6 web special user interface view + layout are defined for


financial department
Data input process cont. 2

■ Assigning relationships and monetary value to milestones


Project Cost UDF creation
Background job description
■ Every UDF expenditure / revenue activity is paired with the
assigned milestone date
■ With that, every expenditure / revenue is getting time
distribution variable
■ Background job based on Java and P6 API summarizes all
UDF’s from activity level to project level
■ In that process time variable is used to make time distribution
of cost UDF’s on project level
Project Cost UDF creation
Accessing Baseline UDF values
■ Using P6 API, it is possible to read „baseline” activity UDF
values. That data are not visible in P6 application.
■ With this, background job creates baseline time distributed
values as project code UDF-s

Activity
rescheduled

Baseline Project value


Project Cost UDF Naming Conventions

■ Automatically created UDF’s follow predefined naming


conventions
▪ VALUE TYPE + space + DATA TYPE + space + month.year
■ In this implementation VALUE TYPES are:
▪ EXP -> for expenditures
▪ INC -> for revenues
▪ CF -> for cash flow (revenue – expenditure)
■ DATA TYPES are:
▪ BLI -> baseline values
▪ PLI -> planned values
▪ ACI -> actual values (to be implemented)
■ These properties can be altered to suite specific
implementation needs
Primavera out-of-the-box
reports
Primavera Web reports

■ Porftolio with active projects


■ Portfolio views based od project cost UDF’s

■ P6 Web summarizes project UDF’s


■ Different scorecards can be created
■ Quite limited report options directly from the web
■ Limit of 28 fields per scorecard
■ Export to Excel option
Primavera Client reports

■ Generally P6 Client is not used for reporting


■ Export to Excel option is used from the P6 Client
■ No limitation in number of fields per layout
■ Easy copy / paste of fields to MS Excel for further analysis
■ Special layout is designed for that purpose
BI Publisher Cash Flow Report
BI Publisher reports
New reporting in P6
■ BI Publisher is selected as main reporting source for reports
in this model
■ Data model is developed to support requested reports
■ P6 desired look and feel is implemented
■ Reports are accessible via P6 web
BI Publisher Data Model

■ List of Values(LOV) is
created for Projects
■ Parameter p_project_id is
defined to use this LOV
■ Data sets are defined
BI Publisher - Data Model - Data Set

■ Data set is defined to support reporting needs


■ In this example SQL query will create number of fields from
our Project Cost UDF names
■ Main fields are:
▪ DATA_TYPE
— sql: trim(SUBSTR(P6UDFTYPE.TITLE,4,4))
▪ VALUE_TYPE
— sql: trim(SUBSTR(P6UDFTYPE.TITLE,1,3))
▪ VALUE_DATE
— sql: trim(SUBSTR(P6UDFTYPE.TITLE,-7))
▪ SORT_DATE
— sql: trim(SUBSTR(P6UDFTYPE.TITLE,-4)) ||'.'||
trim(SUBSTR(P6UDFTYPE.TITLE,-7,2))
BI Publisher - Data Model - Data Set cont.

■ The query result will hold one record for every sort_date-
data_type-value_type pair with appropriate value and sum
value to date
Value Sort Value Value Type Data Cum
Date Date Type Value
12.014 2014.01 90000 CF Baseline 90000

42.014 2014.04 -21312 CF Baseline 68688

72.014 2014.07 0 CF Baseline 68688

12.015 2015.01 0 CF Baseline 68688

12.014 2014.01 -31200 EXP Baseline -31200

42.014 2014.04 -21312 EXP Baseline -52512

72.014 2014.07 0 EXP Baseline -52512

12.015 2015.01 0 EXP Baseline -52512

12.014 2014.01 121200 INC Baseline 121200

42.014 2014.04 0 INC Baseline 121200


BI Publisher - Data Model - Data Set
Running totals
Running total per group
Data sort for running Grouped by value type
totals
BI Publisher - Data Model - Data Set
SQL query String month.year and
year.month fields for
grouping

Case when for


data_type – this is done
to make chart legend
more readable
BI Publisher - Data Model - Data Settotals are created
Running
SQL query cont. to enable cashflow S-curve.
Partition is done by:
1. data_type
2. value_type
All sorted by sort_date

Three tables are used in


SQL join:
• P6UDFTYPE
• P6PROJECT
• P6PROJECT_UDFVALUE
BI Publisher - Data Model - Data Set
SQL query cont. 2
In WHERE statement,
project UDF fields are
filtered by value_type
values (EXP, INC, CF)
UDF field with TOTAL
instead of sort_date is
excluded from this data set

Parameter value is used in


WHERE part of the
statement
That can be one or list of
project ID’s
BI Publisher - Data Model - Data Set
SQL query cont. 3

Grouping in SQL statement


is done according to SQL
standard requirements
BI Publisher - Data Model - Data Set
Sample XML data and Report editor
■ After data set definition, XML sample data set is created
■ Report is designed in Web Report editor
■ Word .rtf templates are not used in this case
■ The goal was to create report in Web Editor only and to test
it’s limitations
■ 4 layouts are defined
▪ Cumulative Graphical
▪ CashFlow Report
▪ Revenue Report
▪ Expenditure report
P6 Web Report Access
Template selection

■ 4 report layouts defined in


BI Publisher are available
as templates in P6
■ Same names as Layouts in
BI
P6 Web Report Access
Project selection
■ In this data model project data is
summarized
■ Possible uses of reports:
▪ One project
▪ Cumulative reports on portfolios
Report examples
Cumulative graphical report
Report example
CashFlow report
■ Table and chart filter
▪ Value_type=„CF”
■ Project List
Report example
Revenue report
■ Table and chart filter
▪ Value_type=„INC”
■ Project List
Report example
Expenditure report
■ Table and chart filter
▪ Value_type=„EXP”
■ Project List
Future model development
Plans for future …

■ Data integration with financial system on several key points


▪ i.e. invoice number assigned to milestones
■ New Actual fields
▪ When milestone has actual date, value in UDF (expenditure /
revenue) is declared as actual value
■ New reports for key stakeholders
■ Additional forecast analysis
▪ i.e. Preset and Net Present Values
Questions ?

Contact Information:
Luka Novosel, M.Eng , PMP
Primakon ltd
ln@primakon.com
www.primakon.com
Please complete the session
evaluation
We appreciate your feedback and insight

You may complete the session evaluation either


on paper or online via the mobile app

Potrebbero piacerti anche