How to make Actual units equal Earned using Global changes

How to Make Actual Cost & Units Match Earned Cost & Units in Primavera P6 (Safely!)

when you update the schedule specilay the physucal progress, the actual unit will not be uupdated by defult .
whey this important :
while you can use the eard cost earned units to calculate the cusrrent performnace , the forecast number will not be accurate becasue it been caluclated from the remanining units  therefore we have  to make sure the actual units and Cost equal to the earned units and Cost, and there is some setting you have to check 

One of the common methods is to use Excel for this task. However, in one of my mega projects we were working with EPPM, where importing from Excel was not allowed and our ability to adjust P6 settings was very limited. Therefore, I had to rely fully on EPPM to accomplish this task. In our video, we explore different options and methods to achieve this, highlighting the pros and cons of each approach. 

Imortant P6 settings

From project screen setting you must keep Calculate Costs from Units 


Why this matters

  • P6 fundamentally calculates cost = units × price/unit when Calculate Costs from Units is checked.

  • If you override cost directly, you can look “okay” at cost level but break Actual Units, Remaining Units, and EAC (At Completion).

  • Many PMOs require progress by units (labor / non-labor / material). Your S-Curves, EV, and dashboards will only be trustworthy if Actual = Earned and EAC = Budget (unless you intentionally change forecast).


Pre-checks (do this first)

  1. Resource Assignments → Columns: add these:

    • Calculate Costs from Units (must be checked)

    • Budgeted Units, Actual Units, Remaining Units, At Completion Units

    • Actual Cost, Earned Value Cost, At Completion Cost

  2. Project Calculations (Defaults):

    • Subtract Actual from At Completion

  3. Baseline: make sure a baseline is assigned (for later variance checks).

  4. Progress Type: know whether activities use Physical %, Duration %, or Units %.


Method 1 (Cost-only): Force Actual Regular Cost = Earned Value Cost

Use sparingly. Looks fine on cost columns but keeps Actual Units = 0 and silently unchecks Calculate Costs from Units on those assignments.

Global Change (Resource Assignments):

  • Set: Actual Regular Cost = Earned Value Cost

Symptom: Actual Units stay zero; re-checking Calculate Costs from Units drops the cost back to 0.
When it’s acceptable: Very high-level L1/L2 cost schedules where units are not governed.


Method 2 (Activity-level Units % = Performance %)

Not recommended. Works once, then EAC Units drifts because the recalculation uses the new EAC base next cycle.

Global Change (Activities):

  • Units % Complete = Performance % Complete

Symptom: After subsequent updates (e.g., 30% → 40%), Earned ≠ Actual and EAC ≠ Budget. Labor might align but Material/Non-Labor won’t (no “earned units” fields for them).


Method 3 (Recommended): UDF-Driven Units & Costs

Robust, repeatable, and works for Labor, Non-Labor, and Material—while keeping Calculate Costs from Units intact.

Step A — Create the UDF

  • Enterprise → User Defined Fields → Activities

    • Name: Pct_A (any name)

    • Type: Number

We’ll store the activity performance as a fraction (0.30, not 30).

Step B — Global Change #1: Store Performance in UDF (÷100)

Scope: Activities
If: Activity Status ≠ Not Started (optional but useful)
Then Set:

  • Pct_A = Performance % Complete / 100

If your project uses Physical %, map Performance % to your chosen %-complete.

Step C — Global Change #2: Apply % to Actual Units (by resource type)

Scope: Resource Assignments (filtered to your in-progress activities via codes/filters if needed)
Then Set (pick what you actually measure):

  • **Actual Labor Units = Budgeted Labor Units × **Pct_A

  • **Actual Non-Labor Units = Budgeted Non-Labor Units × **Pct_A

  • **Actual Material Units = Budgeted Material Units × **Pct_A

If material is measured manually on site, skip just that line.

Step D — Global Change #3: Fix Remaining Units so EAC = Budget

Scope: Resource Assignments
Then Set:

  • Remaining Labor Units = Budgeted Labor Units − Actual Labor Units

  • Remaining Non-Labor Units = Budgeted Non-Labor Units − Actual Non-Labor Units

  • Remaining Material Units = Budgeted Material Units − Actual Material Units

With Calculate Costs from Units ✅, Actual Cost and At Completion Cost will follow correctly.


Validation checklist (after each cycle)

  • Resources view:

    • Actual Units show your progress (e.g., 40% of Budgeted Units).

    • Remaining Units = Budgeted Units − Actual Units.

    • At Completion Units = Budgeted Units (unless you are forecasting changes).

  • Costs view:

    • Actual Cost aligns with Earned Value Cost for the same progress.

    • At Completion Cost = Budgeted Cost (unless changed intentionally).

  • Key flag: Calculate Costs from Units must remain checked on all updated assignments.


Typical pitfalls & how to avoid them

  • Pitfall: Manually typing Actual Cost.
    Fix: Never do this when you care about units integrity—update Actual Units and let cost calculate.

  • Pitfall: Running Method 2 repeatedly.
    Fix: Use the UDF pattern so each cycle is based on Budgeted Units, not drifting EAC.

  • Pitfall: Mixed rules for Material.
    Fix: If your contract requires measured material actuals, exclude Material from GC #2 and update it from site take-offs, but still run GC #3 to keep EAC = Budget (or adjust if you truly forecast different).


Copy-paste: Global Change rule texts (for your library)

GC#1 — Store % in UDF (Activities)

  • If: Activity Status <> Not Started

  • Then: Pct_A = Performance % Complete / 100

GC#2 — Set Actual Units (Resource Assignments)

  • Then (choose needed lines):

    • Actual Labor Units = Budgeted Labor Units * Pct_A

    • Actual Non-Labor Units = Budgeted Non-Labor Units * Pct_A

    • Actual Material Units = Budgeted Material Units * Pct_A

GC#3 — Fix Remaining Units (Resource Assignments)

  • Then:

    • Remaining Labor Units = Budgeted Labor Units - Actual Labor Units

    • Remaining Non-Labor Units = Budgeted Non-Labor Units - Actual Non-Labor Units

    • Remaining Material Units = Budgeted Material Units - Actual Material Units


Download 

Fill the below form to dowload the globale change files
Users can Import → Global Change and run per your steps.


Download Global changes settings

Leave a Comment

Your email address will not be published. Required fields are marked *

Subscribe to our newsletter

Don't miss new updates on your email

Share This Post

More To Explore

Plannex Tool

Visualize Primavera P6 Calendars in Excel with Plannex XER Calendar Tool

“`
Visualize all Primavera P6 calendars from any XER file directly in Excel with Plannex’s free XER Calendar tool. See work days, weekends, holidays, and exception days in a clear, organized format—perfect for schedule review and delay analysis.
“`

Scroll to Top