WTF(heck) is a Purchase Price Variance? (And Why We Trace Just One PO Line!)

My kid asked me for $3 for ice cream at the pool last weekend, because "that's what it costs." Twenty minutes later he was back. The ice cream was $4.50, and he needed another $1.50.
Congratulations, buddy. You just generated a purchase price variance.
Welcome back, DynamicsDads and Moms. This one came straight out of a real client fire drill. Two of our consultants were on a plane, finance wanted to know where PO receipt costs were landing in the GL, and somewhere in the thread someone said "PPV account assignment." If that phrase made your eye twitch a little, this post is for you.
PPV in Plain English
Purchase price variance is the gap between what you said something should cost and what you actually paid.
In D365 Finance & Operations, it only exists for items on a standard cost model.
Say your standard cost for a widget is $10 and the vendor charges $12. D365 still values that widget in inventory at $10. The extra $2 has to go somewhere, and that somewhere is your PPV account. "Account assignment" is just the fancy way of saying which GL account that is.
Where It Lives in D365
Head to Inventory management > Setup > Posting > Posting and open the Standard cost variance tab. You can assign PPV at three levels:
All: One account catches every variance. Simple, but your controller can't tell raw materials from packaging.
Group: Variances are split by item group. This is where most companies land.
Table (specific item): An account is set for one item.
Here's the catch. The most specific line always wins. So if someone set up an item-level line during go-live in 2022 and forgot about it, that item's variances are quietly going somewhere nobody's looking. It's like finding a sippy cup under the car seat in August. You don't know how long it's been there, but it's not good.
When the Variances Look Wrong, Check These First
Is the item actually on standard cost? Check the item model group. If it says FIFO or moving average, there is no PPV. The difference just rolls into inventory value.
Is there an active standard cost for that site? No activated price means D365 has nothing to compare against.
What does the posting profile say? Check the level and the main account, and hunt for those stale item-level overrides.
Are product receipts posting to the ledger? If not, nothing hits the GL until the invoice. The variances aren't missing. They're just fashionably late.
Where are the misc charges going? If freight shows up in PPV, look at the charge code setup before you blame PPV.
What "Right" Looks Like
Standard cost is $10. The PO price is $12. The invoice comes in at $12.50 (because of course it does). Quantity is 100.
At product receipt:
Account | Debit | Credit |
Inventory | 1,000 | |
PPV | 200 | |
Purchase accrual | 1,200 |
At invoice:
Account | Debit | Credit |
Purchase accrual | 1,200 | |
PPV | 50 | |
Accounts payable | 1,250 |
Two things should always be true. Inventory sits at exactly standard ($1,000). Total PPV equals actual cost minus standard ($250). If either one is off, something in that checklist above is wrong.
(That extra $0.50 per unit at invoice is also where your three-way matching tolerances come into play, if you want the full picture.)
The DynamicsDad Pro-Tip: Trace One PO Line
Before anyone proposes changing account assignments, pick one PO line with a price difference you already know about. Open the product receipt voucher and the invoice voucher side by side.
Just like testing one asset in a depreciation proposal, one clean trace beats a dozen meetings.
Most "PPV isn't working" problems aren't really PPV problems. They're cost model, activation, or posting profile problems that happen to show up in the PPV account.
Why the Heck Does PPV Even Exist?
Fair question. Why not just value inventory at whatever you paid?
Because standard costing gives everyone a stable number to plan around. Sales can quote margins, production can cost a BOM, and nobody's recalculating every time a vendor sneezes. The variance account then becomes a scorecard for purchasing. A growing unfavorable PPV balance tells you prices are creeping up faster than your standards. That's your cue to update standards or have a chat with a vendor.
In other words, PPV is the $1.50 your kid comes back asking for. You can ignore it once. But if it happens every weekend, it's time to update the ice cream budget.
Until next time,
DynamicsDad



Comments