I am using MS Project to calculate the Earn Value of one task. let's call it Mech Installation. The task has a duration of 30 days (from 2/6/20 to 3/18/20). In the Resource Sheet I added 'Mechanical', of type Cost.

I have saved the baseline, set the status date to be 2/18/20, and finally Mech Installation has a percent complete equals to 25%. Here is where I am not sure what is happening: when I switch to Earn Value Table I get a Plan Value (PV) equal to 0, an Earn Value (EV) equal to $3,750, and a Schedule Variance has a value of -$750.00. This makes me think that MS Project is calculating a value for PV but it is not displaying it.

Why is PV equal 0? Should it not be equal to $4,500? More importantly, how can I display the right value of PV?

2 Answers 2


This is a bug within MS Project. Cost resource types are not calculated in PV / BCWS values. Cost resources should be included in PV / BCWS values as you assumed. Unfortunately, there is no way to do this. You could alternatively use Fixed Costs to track your Cost resources. Not the ideal situation, but I know of no other way to get Cost resources to be included in PV / BCWS...

  • What about a custom field? It seems to me that Project does calculate PV but doesn't show it, what if we "solve for PV" using SV equation (SV= EV - PV)? would that work?
    – Aldie
    Commented Feb 26, 2020 at 14:36

As a summary of the subject, for the time being:

Definitely, Aldie's comment about using SV to calculate BCWS is correct. Custom Field with calculated BCWS=BCWP-SV will work. SV happens to be more consistently correct, and it is accounting for cost type resource, unlike the "canned" BCWS.

But, in quite a few attempts, the "canned" BCWS would sometimes include Cost, but mostly would not, and I really could not find out why. With identical settings?!

As for Jason's mention of usage of Fixed Costs, it does work quite well, and it shows in BCWS without having to go through additional steps. That works if you are happy with merged costs, if you do not need to produce reports separating various costs, and if your activities do not need to be loaded with various cost categories.

As for an advice, people went through so many motions trying to get around the BCWS glitch. I mention some of them below, just to spare you going through same pain.

Two years later,and MS Project still has the same non-sense (when I just think how many Aerospace and Defense entities are forced into using this package).

In other blogs, some users have suggested usage of Materials or even Work instead, to fake the Costs, but those are dead ends as well, complicating things if you try.

Say, if you try to use Work type, and try to ignore hours by setting hourly rates to zero, and utilize the "Per use" cost, the rate of such per use costs is the same all activities. Also,as a side effect of using Work, you will automatically have the Work columns populated with non-existent hours (which you can ignore).

Talking about Per Use approach, now we get the same option with Materials (where, supposedly, you do not have to worry about fake hours). How to deal with the same issue of that rate Per Use then applying to all activities? Well, you can set the Rate per Use to some dollar amount like $10 or $1, which will enable flexibility going from one activity to another, where you just change the number of uses as you load the next activity. Million dollars will be million uses of one dollar, right? But, MS Project being what it is, it may get moody. Which means that,if you change your input of units of "use" for such activity, it may not recalculate it the next time, and it will stick with what you entered previously. Two different installs of the same MS Project, or even the same file on the same install, will give you different answers and have different quirks next time you open it.

Also, additional "perk" of implementing such approach with Material, these "numbers of uses" will show in Work column (mixing it up with hours entered for Work type resource elsewhere in the schedule). It is MS Project, expect the unexpected.

So, depending on the mood of your installation of MS Project, you may try that roundabout way to load the schedule with costs which would show in BCWS. Fake the loading activities with Per Use costs either as Work Type or Material Type resource, where the rate Per Use would be some small value like $1 or $10, and then enter the appropriate number of use, which will result in the cost loading you wanted. While doing that, keep an eye on what is going on with numbers in Work Columns (if using Material for this dubious trick, just make sure that the Material Label is different than Hours, probably something like EA or similar). Pain all over.

All in all, as a summary, any user can notice that in very first attempts of resource loading of a schedule. And, as you can see, there have been two years since that previous comment in the blog.

Years go by, and Microsoft just does not seem to care one bit.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.