Invoice price variance (IPV) is the gap between the unit price on a vendor’s invoice and the unit price on your purchase order, multiplied by the quantity invoiced. A positive result means the vendor billed more than you agreed to pay. AP teams use it to decide whether an invoice can be paid as billed or needs a question first.
How do you calculate invoice price variance?
The formula:
IPV = (invoice unit price - PO unit price) x quantity invoiced
Oracle’s Payables documentation defines it the same way, with one extra term for foreign currency invoices: the result is multiplied by the invoice exchange rate so the variance lands in your functional currency.
Work it line by line. An invoice with six lines can have one line over the PO price, one under, and four that match exactly. Adding them into a single number hides the line that needs attention.
A worked example
Say you issued a PO to a packaging supplier for 500 rolls of film at $4.20 a roll. The invoice arrives for 500 rolls at $4.45.
- Take the invoice unit price: $4.45.
- Subtract the PO unit price: $4.45 minus $4.20 = $0.25.
- Multiply by the quantity invoiced: $0.25 x 500 = $125.00.
The IPV is $125.00, unfavorable. The vendor billed about 6% above the agreed price on that line.
Here is the same math across a few lines from different vendors:
| Item | Qty invoiced | PO unit price | Invoice unit price | Difference per unit | IPV |
|---|---|---|---|---|---|
| Packaging film (rolls) | 500 | $4.20 | $4.45 | $0.25 | $125.00 unfavorable |
| Cleaning concentrate (cases) | 200 | $12.00 | $11.50 | -$0.50 | -$100.00 favorable |
| Fasteners (each) | 2,400 | $0.18 | $0.21 | $0.03 | $72.00 unfavorable |
The fastener line is easy to miss. Three cents a unit looks like rounding, yet it comes to $72 on this invoice and it will repeat on every order until someone notices.
Use the quantity on the invoice, not the quantity on the PO. If you ordered 600 rolls and the vendor shipped and billed 500, the price variance applies to the 500 you were billed. The missing 100 is a quantity question, which is tracked separately.
What is the difference between invoice price variance and purchase price variance?
Both compare an actual price with an expected one. They use different expected prices.
Invoice price variance compares the invoice to the purchase order. It answers: did the vendor bill what we agreed to?
Purchase price variance (PPV) compares the actual price to a standard cost, the price your company budgeted or set for that item. AccountingTools gives the formula as (actual price minus standard price) x actual quantity. It answers a different question: are we paying what we planned to pay for this item?
Using the film example, suppose the standard cost for a roll is $4.00:
| Comparison | Expected price | Actual price | Qty | Variance |
|---|---|---|---|---|
| PO price vs standard cost | $4.00 | $4.20 | 500 | $100.00 unfavorable |
| Invoice vs PO (IPV) | $4.20 | $4.45 | 500 | $125.00 unfavorable |
| Invoice vs standard cost (total) | $4.00 | $4.45 | 500 | $225.00 unfavorable |
In a standard costing system, some ERPs record the first piece when goods are received and the second when the invoice is matched. The split tells you who to talk to. The $100 is a purchasing or budgeting conversation: the buyer agreed to a price above standard. The $125 is an AP conversation with the vendor: they billed above the price on the order.
Most small and mid-sized companies do not run standard costs at all. For them, “PPV” often gets used loosely to mean any price increase against last time, and IPV is the variance that matters day to day.
What is a favorable vs unfavorable price variance?
A variance is unfavorable when you pay more than expected and favorable when you pay less. The OpenStax managerial accounting text uses the same convention for materials price variances: actual price above standard is unfavorable, below is favorable.
A favorable IPV still deserves a look. A price below the PO can mean a wrong item, a smaller pack size, a missing freight line that will arrive on a separate bill, or a vendor error that will be corrected later with a supplemental invoice. It can also be a volume discount you forgot you negotiated, which is fine. Record the reason either way.
What causes invoice price variance?
Most variances come from a handful of ordinary causes.
The contract price was never updated. Procurement agreed to a new price, the vendor started billing it, and nobody changed the PO template or the item master. The invoice is right and your PO is out of date, so the fix is on your side.
The vendor raised its list price. Many vendors reprice once or twice a year and send a notice that goes to a sales rep’s inbox or a general mailbox. If your agreement fixes the price for a term, the increase should not apply yet. If it does not, you may still want to know it happened so someone can negotiate or shop the item.
A surcharge was folded into the unit price. Fuel, freight, tariff and material surcharges are sometimes billed as separate lines and sometimes spread across the unit price. When they are spread, the unit price rises and the invoice looks like a price increase.
The unit of measure does not match. The PO says $30.00 per case of 12. The invoice says $2.60 each for 120 units. Converted, the PO price is $2.50 each, so the invoice is $0.10 a unit above it, or $12.00 across the order. Without the conversion, the lines cannot be compared at all, and a system comparing raw unit prices will show a nonsense variance.
The wrong price tier was applied. Volume breaks, customer-specific pricing and promotional prices all live in the vendor’s billing system. If your account lost a tier, or a promotion ended early, the unit price moves.
It is a keying or billing error. A transposed digit on the vendor’s side ($4.54 instead of $4.45), or on yours when the invoice was entered.
Some variances are also warning signs of something worse. A vendor that raises prices a few cents at a time on small lines, or an invoice that does not match anything anyone ordered, belongs in the review described in our guide to invoice fraud warning signs.
What should AP do when an invoice has a price variance?
A short, written process keeps these from being decided case by case.
- Set a tolerance. Decide how much variance can be paid without review, as a percentage, a dollar amount per line, or both (for example, the smaller of 2% or $50). ERPs work the same way: in SAP, an invoice outside the configured tolerance is blocked for payment, and the block applies to the whole invoice even if only one line is off.
- Hold the invoice when a line is over tolerance. Do not short-pay it silently; that creates an open balance on the vendor’s side and a dispute later.
- Check your side first. Look for a price change procurement approved, a contract amendment, a unit of measure difference, or a surcharge that is allowed under the agreement.
- Ask the vendor. Send the PO line, the invoice line and the calculation. Ask for a corrected invoice or a credit memo for the difference.
- Record the outcome. Note whether the variance was approved, corrected or credited, and why. If a new price was approved, update the PO or item price so the same variance does not come back next month.
- Review the pattern. A monthly list of variances by vendor shows which vendors drift and which items need a contract price. It also feeds your accounts payable audit.
Price variance is one kind of mismatch between an invoice and what you expected. For quantity, tax and terms mismatches, see invoice discrepancy.
How do you check invoice prices when there is no purchase order?
The IPV formula needs a PO price. Many small AP teams do not issue purchase orders for most spend: services, repairs, recurring supplies, utilities, subscriptions and anything bought by phone or on a vendor portal. Those invoices get coded, approved by a manager who glances at the total, and paid.
Without a PO, the best reference you have is the vendor’s own billing history. If a vendor has billed you $4.20 a roll for the last eight months and this month’s invoice says $4.45, that is the same $125 problem with no PO to show it.
To run the check by hand:
- Export your last six to twelve months of invoice lines for the vendor, with item description, quantity and unit price.
- For each recurring item, note the most recent price and the usual range.
- When a new invoice arrives, compare each line to that recent price.
- Apply the same tolerance you would use for PO variances, and hold anything above it for a question.
- Treat a new item or a new vendor as having no baseline yet, and review it by hand.
This works for a handful of key vendors in a spreadsheet. It gets hard to keep up across dozens of vendors, varied item descriptions and invoices that arrive as PDFs.
OverpayAlert is built for this no-PO case. You forward invoices by email or upload them, and it compares each new invoice with what that vendor billed you before. Unusual increases are flagged for a person to review. How large an increase needs to be before it is flagged, and how much history a vendor needs first, depend on your workspace settings, and the check adjusts for seasonal patterns. A flag is a reason to look, and some flags will turn out to be approved price changes. The same records are also checked for potential duplicate invoices. Growth and Scale plans can export the results as CSV, and the Scale plan can read them through the API.
If vendor prices drift and you have no PO to compare them against, start a 7-day free trial and forward a few months of invoices from the vendors you buy from most.