KBA-01152: What is the Source for the Values in the KPI?

Question:

What is the Source for the Values in the KPI (Key Performance Indicators) on a Project Dashboard?

Answer:

The values are a combination of amounts gathered from the Microsoft Dynamics SL (a.k.a. Solomon) tables, the Spitfire tables and on-the-fly calculations, as described in the following table. Note that calculations using previously gathered or calculated numbers are shown in italics.

Contracts & Budgets

Field Explanation
Original Contract = Current Contract – Committed PCO
Approved CO = sum(xsfDocItem.RevenueAmount) where xsfDocHeader.status = approved or committed; xsfDocHeader.project = project; and DocType = PCO
Current Contract = pjpdtrol.eac_amount where project = project and acct = Contract Value account category
Unapproved CO = sum(xsfDocItem.RevenueAmount) where revenue and expenses have not yet been approved/posted.
Original Commitment = sum(xsfDocItemTask.ExpenseAmount) where xsfDocHeader.status = committed for all of the Project‘s Commitments
Approved CCO = sum(xsfDocItemTask.ExpenseAmount) where xsfDocHeader.status = approved for all of the Project‘s Commitment Change Orders
Current Commitment = sum of Original Commitment + Approved CCO
Pending Commitment

Approved Pay Request

= sum (xsfDocItemTask.ExpenseAmount) where xsfDocHeader.status = pending for all the
Project‘s Commitment Change Orders and Commitments= sum(xsfDocItemTask.RevenueAmount) where xsfDocHeader.status = approved for all of the Project‘s subcontract pay requests
Original Budget

Estimate at Completion

= sum(pjptdsum.Total_Budget_Amount) for Expense Account Categories

= sum(pjptdrol.eac_amount) where acct = Expense Account Category Types **

Actual + Committed = sum(pjdtdsum.actual_amount + pjdtdsum.commit) for Expense account categories
Forecast at Completion = sum(pjptsum.fac_amounts) for Expense account categories
Variance = FAC – EAC
Earned Value = %spent * CurrentContract : details:

IF CurrentEacBudget <= 0 THEN 0

IF ActualExpense > CurrentEACBudget THEN CurrentContract

OTHERWISE (CurrentContract * (ActualExpense / CurrentEacBudget))

Under Billed = Billed to date – Earned Income
Backlog
aka Future Profit
FAC Margin = Current Contract – Current FAC Expense
EAC Margin = Current Contract – Current EAC Expense   
Actual Percent Spent =    Raw Actual / Current EAC Expense
Backlog = FAC Margin – ( EAC Margin * Actual Percent Spent)

 

AR Summary

Field Explanation
Aged AR For selected Project and as of Today‘s date:
WHERE ardoc.projectid = @pProject AND ardoc.pc_status IN ( ‘1‘, ‘2‘, ‘9‘) and ardoc.rlsed = 1 and ardoc.opendoc = 1 and ardoc.docbal <> 0
Under 30 and grouped by date range
30-60 Days
60-90 Days
Over 90
Total = sum of Aged AR
Unbilled For selected Project and as of Today‘s date:
JOIN solomonapp.dbo.pjinvhdr pjinvhdr ON pjinvdet.draft_num = pjinvhdr.draft_num WHERE (pjinvdet.project = @pProject or pjinvdet.project_billwith = @pProject) and pjinvdet.bill_status IN (‘U‘, ‘S‘)
Under 30 and grouped by date range
30-60 Days
60-90 Days
Over 90
Total = sum of Unbilled

 

Project Cash Flow

Field Explanation
For selected Project and as of Today‘s date:
Billed to Date = sum pjtran.amount when PJTRAN.acct = Billed-to-Date AcctCat from Project Controller Setup
Less Open AR = Aged AR total from Column 2
Less Retention = sum pjtran.amount when PJTRAN.acct = AR Retention AcctCat from Project Controller Setup
Cash In = Billed to Date + Less Open AR + Less Retention
For selected Project and as of Today‘s date:
AP Cost to Date Sum of AP Voucher, Credit and Debit in accounting that have been released:
=sum OrigDocAmt WHERE apdoc.rlsed = 1 and apdoc.doctype in (‘VO‘,‘AC‘,‘AD‘) [multiply AD amount by -1]
Less Open AP Sum of the remaining balance on the AP Voucher, Credit and Debit in accounting that have been released and partially relieved:
=sum DocBal WHERE apdoc.OpenDoc = ‘1‘ and apdoc.rlsed = 1 and and acct <> APRetention Acct and apdoc.doctype in (‘VO‘,‘AC‘,‘AD‘) [multiply AD amount by -1]
Less Retention =sum DocBal WHERE apdoc.OpenDoc = ‘1‘ and apdoc.rlsed = 1 and acct = APRetention Acct and apdoc.doctype in (‘VO‘,‘AC‘,‘AD‘) [multiply AD amount by -1]
AP Cash Out = AP Cost to Date + Less Open AP + Less Retention
Other Cash Out = Actual + Commit to Date from Column 1 – AP Cash Out
Net Cash Flow = Cash In – (AP Cash Out + Other Cash Out)
Cash Conversion = Open AR + Retention + Under Billed (if any)
Cash Funding = Open AP + AP Retention + Over Billed (if any)
Net Cash Demand = Cash Conversion – Cash Funding

Additional Comments:

See KBA-01228  for more information on KPI formulas. The information in this KBA is dated and static. Actual formulas are rule driven


KBA-01152; Last updated: November 9, 2020 at 22:11 pm;
Keywords: KPI