REMINDER
Check in on the COLLABORATE mobile app
Managing Cash Flow in Primavera P6
Prepared by:
Luka Novosel, PMP
Primavera Implementation Consultant
Primakon Ltd.
How to Track Project Revenues and Expenditures in One P6 Project
Session ID#: 15465
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 ModelWhy 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 Commercialdepartment 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 creationBackground 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 creationAccessing 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 reportsNew 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
Date
Sort
Date
Value Value Type Data
Type
Cum
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 SetRunning totals
Data sort for running
totals
Data sort for running
totals
Grouped by value typeRunning total per group
BI Publisher - Data Model - Data SetSQL 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 SetSQL query cont.
Running totals are created
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 SetSQL 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 SetSQL query cont. 3
Grouping in SQL statement Grouping in SQL statement
is done according to SQL
standard requirements
BI Publisher - Data Model - Data SetSample 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 AccessTemplate selection
■ 4 report layouts defined in BI Publisher are available as templates in P6
■ Same names as Layouts in BI
P6 Web Report AccessProject selection
■ In this data model project data is summarized
■ Possible uses of reports:
▪ One project
▪ Cumulative reports on portfolios
Report examplesCumulative graphical report
Report exampleCashFlow report
■ Table and chart filter
▪ Value_type=„CF”
■ Project List
Report exampleRevenue report
■ Table and chart filter
▪ Value_type=„INC”
■ Project List
Report exampleExpenditure 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
www.primakon.com
Please complete the session evaluationWe appreciate your feedback and insight
You may complete the session evaluation either
on paper or online via the mobile app
Top Related