1. 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
3. 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
4. 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
6. 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
7. 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
8. 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
10. 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
11. 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
12. 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
14. 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
15. Data input process cont.
■ In P6 web special user interface view + layout are defined for
financial department
16. Data input process cont. 2
■ Assigning relationships and monetary value to milestones
17. 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
18. 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
19. 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
21. 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
22. 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
24. 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
25. 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
26. 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))
27. 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.0142014.01 90000CF Baseline 90000
42.0142014.04 -21312CF Baseline 68688
72.0142014.07 0CF Baseline 68688
12.0152015.01 0CF Baseline 68688
12.0142014.01 -31200EXP Baseline -31200
42.0142014.04 -21312EXP Baseline -52512
72.0142014.07 0EXP Baseline -52512
12.0152015.01 0EXP Baseline -52512
12.0142014.01 121200INC Baseline 121200
42.0142014.04 0INC Baseline 121200
28. BI Publisher - Data Model - Data Set
Running totals
Data sort for running
totals
Data sort for running
totals
Grouped by value type
Running total per group
29. 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
30. BI Publisher - Data Model - Data Set
SQL 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
31. 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
32. BI Publisher - Data Model - Data Set
SQL query cont. 3
Grouping in SQL statementGrouping in SQL statement
is done according to SQL
standard requirements
33. 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
34. 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
35. P6 Web Report Access
Project selection
■ In this data model project data is
summarized
■ Possible uses of reports:
▪ One project
▪ Cumulative reports on portfolios
41. 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
43. 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