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