Purchase Price Variance FromInvoice and PO Lines

Purchase price variance is easy to calculate and hard to defend. The formula is one line: actual unit price minus standard unit price, multiplied by quantity. The number it produces depends on which quantity you multiply, which costs you allow into the price, and which version of the standard you compare against. Change any of the three and the same invoice produces a different variance, every one of them arithmetically correct.

Stop typing data by hand — let AI read it for you
Upload an image or PDF — structured spreadsheet data in 10 seconds
Try It Now →
Hero image for the article How to Calculate Purchase Price Variance Line by Line, showing the formula (AP - SP) x Q, line-by-line tie-out, and auditable columns as key concepts.

Key Takeaways

  1. One invoice line can honestly report $2,760 of price variance, and only $1,728 of that number was price.
  2. The same order produces two variances, $1,500 at receipt and $300 at invoice, and each one belongs to a different owner.
  3. Twelve columns plus one tie-out let an auditor recompute a line in an afternoon instead of hunting documents across three systems.

Purchase Price Variance Is Three Inputs, and the Sign Is Only a Convention

Equation breakdown showing PPV equals Actual Price minus Standard Price times Quantity, with icons for each input.

The purchase price variance formula is actual unit price minus standard unit price, multiplied by the quantity purchased. Written out: PPV = (AP − SP) × Q. Each input carries a decision that the formula does not make for you.

The standard price is the predetermined unit cost from your costing run. It is not the budget, not the last price you paid, and not the supplier's list price. It is an estimate that values inventory until an actual cost arrives.

The actual price is what the invoice charged per unit, net of trade discounts and excluding sales tax. Freight, duty and handling are a separate decision: either they are part of the standard and part of the actual, or they are excluded from both. Mixing the two treatments is the most common way to manufacture a variance that no buyer caused.

The quantity is the third decision. Quantity purchased, quantity received and quantity invoiced are three different numbers on the same order, and the variance changes with each one. A receipt-based report uses what the dock counted. A report built from the invoice uses what the supplier billed. Pick one, print it in the header, and use it every month.

MeasureFormulaWorked figure
Variance per unitAP − SP$2.58 − $2.40 = $0.18 unfavorable
Total PPV(AP − SP) × Q$0.18 × 10,000 lb = $1,800 unfavorable
PPV percentagePPV ÷ (SP × Q)$1,800 ÷ $24,000 = 7.5% over standard

The sign runs the way it does for a bookkeeping reason. Inventory enters at standard, the supplier is owed the actual, and the difference has to land somewhere. When actual is higher, the variance account is debited, so the number is positive and the label is unfavorable. Plenty of management reports flip the sign so that a favorable result prints as a positive number. Both conventions work. What does not work is leaving the reader to infer direction from a sign, because a $3,000 unfavorable variance is +$3,000 in one convention and −$3,000 in the other.

Print favorable or unfavorable in words next to every figure, and write the subtraction order into the report header. The label survives a convention change. The sign does not.

A favorable variance also deserves a second look before anyone calls it savings. A lower unit price can come from a larger order that ties up cash, a substituted grade, or freight that moved to a separate line. The arithmetic reports direction against the standard, not whether the deal was good.

One Price Event Produces Two Variances, So the Report Has to Name Its Baseline

Comparison of receipt PPV of $1,500 unfavorable against invoice price variance of $300 unfavorable, showing PO vs standard and invoice vs PO baselines.

The variance posted at goods receipt compares the PO price with the standard, while the variance posted at invoice compares the invoice price with the PO price. They measure different commitments, and they do not replace each other.

Take a plastics molder that carries polypropylene at a $2.40 per pound standard. Purchasing issues a PO at $2.55. At receipt, the $0.15 gap between PO and standard is a receipt-level PPV of $1,500 on 10,000 pounds. When the invoice arrives at $2.58, the extra $0.03 between invoice and PO is an invoice price variance of $300. The total excess over standard is $1,800, and it is the sum of the two. A complete PPV calculation names both parts.

Systems split this differently. Some post both differences to the same PPV account. Some keep a receipt variance and a separate bill price variance, with separate accounts for price and quantity. Currency movements usually get their own account, which is why an exchange rate swing should not be folded into the supplier price variance: Oracle's PeopleSoft cost management documentation calculates purchase price variance and exchange rate variance separately on the same receipt.

The split matters because the two variances belong to different conversations. AP can hold an invoice that bills above the PO. Nobody can hold a receipt that arrived above the standard, because the goods are already on the dock. If your monthly report adds both into one column called price variance, the buyer gets blamed for a PO price they negotiated and the AP team gets credit for catching a billing error that never reached the standard.

Microsoft's invoice matching documentation makes the distinction operational: price matching compares the net unit price on the invoice with the PO, price totals matching compares the cumulative invoice net amount with the PO, and each has its own tolerance. Breach the tolerance and the invoice becomes a matching discrepancy rather than a payment. The control you configure in the ERP is an invoice-versus-PO control. Your PPV report is a price-versus-standard report. They answer different questions about the same order.

Put four declarations at the top of every variance report: the baseline (standard, PO or contract), the quantity basis (purchased, received, invoiced), the price basis (tax, freight and duty in or out), and the standard version. Without them, two departments can produce two correct totals for one purchase order and spend a week reconciling a definition.

The document-level version of this work is the three-way match itself. If you are still assembling invoice, PO and receipt data by hand before any comparison starts, the matching workflow on matching supplier invoices to POs in manufacturing covers the document side in more depth.

One Invoice Line Can Report Four Different Variances

Large number $2,760 shown as reported PPV on one line, split into $1,728 of price variance and $1,032 for goods never delivered, with the 9,600 lb received quantity noted.

A line with a price increase and a short shipment can be posted as $2,760 of purchase price variance when only $1,728 of it is price. The other $1,032 is the value of goods that never arrived.

Put the same polypropylene order through a short receipt and a mid-month revision. The PO covers 10,000 pounds at $2.55 against a $2.40 standard. The dock receives 9,600 pounds on the 12th. The invoice, posted on the 24th, bills 10,000 pounds at $2.58 and adds a $480 freight line. The standard is revised to $2.46 effective the 15th. Every figure below is computed from those documents.

Read correctly, the price variance is ($2.58 − $2.40) × 9,600 = $1,728 unfavorable. The quantity difference is (10,000 − 9,600) × $2.58 = $1,032, and $1,728 + $1,032 = $2,760, which is the invoice total minus the standard value of what was received. The decomposition reconciles to the cent. The arithmetic is identical in every row below. What changes is where each dollar is filed.

How the line is readPPV the report showsWhat the number actually contains
Price difference on quantity received, standard in effect at receipt$1,728 UPrice movement only. The quantity gap sits on its own line.
Invoice total minus the standard value of receipts, one variance column$2,760 U$1,032 of goods that were never delivered, labeled as price.
Freight line divided into the unit price$2,188.80 U$460.80 of inbound freight that may already sit inside the standard.
Case price recorded against a per-pound standard$22,848 UA unit conversion error, not a price change.
Comparison against the standard revised on the 15th$1,152 U$576 of standard revision presented as purchasing performance.

The unit-of-measure row is the one that ends conversations fastest. The supplier bills 800 cases of 12 pounds at $30.96 a case, which is $2.58 a pound. Enter 30.96 as the unit price against a $2.40 per-pound standard and the line reports a variance of almost $23,000 on an order whose real price variance is $1,728. Keep the printed unit of measure and the normalized quantity in separate columns, and the conversion factor becomes visible instead of buried in a unit price.

The freight row is a scope question before it is an arithmetic one. If the standard is a delivered cost, inbound freight belongs in both sides of the comparison. If the standard is a supplier price, freight belongs in a landed-cost line and must stay out of PPV. The number in the table is what happens when the two treatments meet on one line, and it is the reason a price basis field earns a column of its own.

The quantity row is the one that produces the misleading total. A single variance column has nowhere to put a receiving shortfall, so the shortfall lands in the only bucket available. A buyer then receives a list of variances that includes goods the supplier never shipped, and the correction is not a negotiation, it is a phone call to the dock.

Split price and quantity before you total anything. Both splits reconcile to the same invoice, but only one of them tells you who to call.

A Standard Cost Is a Versioned Estimate, and the Revision Lands in PPV

Standard costs are permitted in financial reporting only while they approximate actual cost, so the date of the last revision is part of the variance rather than a footnote to it.

IAS 2.21 allows the standard cost method for convenience if the results approximate cost, and requires that standards be regularly reviewed and revised in the light of current conditions. ASC 330-10-30-12 sets the same condition in US GAAP terms: standards are acceptable when they are adjusted at reasonable intervals so that, at the balance sheet date, they reasonably approximate cost computed under a recognized basis such as FIFO or average cost. A standard is a controlled estimate with a review obligation attached.

That obligation creates a reporting problem the formula cannot see. Change the standard on the 15th and the same PO produces two PPV figures: one computed at the standard in effect when the goods arrived, another at the standard in effect when the invoice posted. In the example above, the $576 difference between $1,728 and $1,152 is not a purchasing outcome. It is the revision.

Cost accountants feel this in month-end troubleshooting. In an r/Accounting thread on where price variance sits on the income statement, one commenter put the trade-off plainly: "You do NOT want to keep changing standard costs every month because standard costs that keep moving has no value. You need to make it comparable." The report needs to honor that. Compare at the standard in effect on the receipt date, print the version and effective date, and keep the revision in its own column so a controller can separate a market move from a change in the estimate.

A stale standard produces the opposite distortion. Consistent favorable variance across an entire category, with no sourcing initiative behind it, usually means the standard sits above the market. Every product costed with it is showing a margin the company does not have. The report cannot fix that, but it can flag the pattern before the annual costing run does.

An Auditable Price Variance Report Has Twelve Columns and One Tie-Out

Auditability is a property of the columns, not the totals: every figure needs a document, a page, a basis and a version beside it before anyone can test it.

Twelve fields cover the chain from a printed invoice line to a posted variance. The first four make a line sampleable. The next six make it recomputable from the document. The last two make it routable and tie it to the ledger.

ColumnWhat it provesWhere it comes from
1. Document type, source file and pageWhether the line is an invoice or a PO, and where the figure can be found againFile name, page number, and the document's own heading
2. Invoice number and lineWhich billing document the price came fromInvoice header and line
3. PO number and lineWhich commitment the price was measured againstPO header and line
4. Item code as printedThe supplier's item and your item are the same thingDocument text, before any mapping
5. Quantity invoicedThe quantity the supplier billedInvoice line
6. Unit of measure as printedWhether the price is per each, per pound or per caseInvoice line
7. Quantity receivedThe quantity the variance is measured onReceiving record or packing slip
8. Unit price as printedThe actual price before any normalizationInvoice line
9. Price basisWhether tax, freight and duty are inside the priceInvoice footnotes, PO terms, standard cost policy
10. Standard cost and versionWhich estimate the price was compared againstCosting run, with effective date
11. PPV amount with F or U labelThe result and its direction, independent of sign conventionComputed from columns 5 to 10
12. Cause code and ownerWhy it moved and who can answer for itReviewer, at the point the line is cleared

The tie-out is a single comparison: the sum of column 11 for the period has to equal the movement in the PPV account in the general ledger, adjusted for opening and closing goods-received-not-invoiced and for any amount capitalized into inventory. When the two do not agree, the difference is one of four things: an unposted receipt, a manual journal, a line computed on a different quantity basis, or a standard version applied on one side and not the other. Those four causes cover almost every reconciliation gap I have seen, and each of them is visible in the twelve columns.

This is also how an auditor samples the account. Pick the ten largest lines, ask for the page behind each one, recompute the arithmetic from the printed price and the stated quantity basis, and check the standard version against the costing record. A price variance report that answers those three questions per line takes an afternoon. A report that only shows totals turns the same sample into a document hunt across three systems.

Building the Table From the Documents

The three inputs usually arrive as three different objects: a supplier PDF, a PO printout or ERP export, and a standard cost spreadsheet. Most explanations of PPV start after this problem has been solved.

The invoice and PO side is document extraction work, and it is the part ImageToTable.ai handles. Custom Column Extraction means you type the column names you want, and the AI locates each value anywhere on the page by reading what the field means, rather than by matching a fixed position or a per-supplier template. For this report the column set is short: Document Type, Invoice Number, Invoice Line, PO Number, PO Line, Item Code, Description, Quantity Invoiced, Unit of Measure, Unit Price, Line Total, Freight, and Standard Cost where the document prints it. Type the same set against the PO batch and both sets of lines land in one table with one header row. The Document Type column keeps invoice rows and PO rows separable when you split them for the join, which is what makes the comparison possible at all.

The arithmetic can run during extraction. A computed column is a column whose name carries the calculation, so the value is produced as the document is read instead of being added afterwards. PPV ((Unit Price - Standard Cost) x Qty Received) gives you the variance per line. When the standard is constant for a batch, say one resin grade at $2.40, the same rule can carry it as a fixed parameter: PPV ((Unit Price - 2.40) x Qty Received). The computed column guide explains the two ways to define these rules, in the column name or in a JSON rule format, and where each one is available.

The standard cost itself reaches the table by one of three routes, and it is worth being explicit about which one you are on. It can be printed on the PO or invoice, in which case it is just another extracted column. It can be a constant for the batch, in which case it belongs in the rule as a fixed parameter. Or it can live in a standard cost report covering hundreds of items, in which case you extract that report as its own table and look the standard up by item code in the spreadsheet. That last step is a join you do in the sheet. The tool does not compare two documents field by field and decide which standard belongs to which line, and you would not want it to, because the join is part of the audit trail.

Three other capabilities matter at this stage. Batch processing puts a month of supplier invoices and their POs through one run and returns one sheet, so the report covers a period rather than a document. Review Mode with bbox lets you click any extracted cell and see the region on the original page it came from, which is how you confirm that a faint scan really says 9,600 and not 9,000 before the variance goes to a buyer. Auto-annotation can be turned on so every processed file arrives already marked, and an on-demand bbox check costs one credit per file. Multi-Page Merge folds an invoice or a PO that was scanned across two pages into one row by tracking a column such as the invoice number, so a page break does not become a second purchase.

PO data often breaks a second time on the way back into the ERP. The common error patterns in purchase order data that fails on ERP import are worth reading before you design the column set, because a field that imports badly will also compare badly.

JPG/PNG/PDF AI Extraction

Files are processed securely and not stored.

The join between invoice lines and PO lines is the same step whether you do it in a spreadsheet or inside a packaged matching routine. If the comparison is meant to run every month without a rebuild, the pipeline described for three-way matching in Google Sheets shows how the join keys and the exception rules hold together across periods.

The Variance Belongs to a Person Before It Belongs to a Journal Entry

Each segment of the variance has an owner, and the owner is decided by which two documents the segment came from.

SegmentDocuments comparedOwnerThe question they answer
Receipt PPVPO price against standardBuyer or sourcingWhy did we commit at this price?
Invoice price varianceInvoice price against POAP clerkWas this billed as agreed, and do we pay or hold?
Quantity varianceInvoice quantity against receiptReceivingDid we get what we are being asked to pay for?
Landed costFreight and duty against the standard's assumptionLogistics or cost accountingIs this cost inside the baseline or outside it?
Standard revisionOld standard against new standardCost accountingWas the estimate still valid for this receipt date?
CurrencyRate at receipt against rate at invoiceTreasuryDid the rate move, independently of the price?

This table is what turns a variance meeting into a short one. Each row routes to someone who can answer, and each answer is a sentence about a document rather than a theory about procurement performance.

Tolerance setting follows the same logic. A tolerance should be set by dollar impact and by what it costs to investigate, not inherited from whatever percentage the ERP shipped with. A $40 variance on a $60,000 order is noise. A 0.4% overage repeated on every invoice from one supplier for six months is a contract conversation worth having, and it will never breach a percentage threshold set for a different spend category. Route by dollar amount for escalation, by percentage for investigation, and let the small clean lines post without a review.

What happens to the balance after it is explained is a separate decision. Whether a variance stays in cost of goods sold or is capitalized into inventory depends on the framework, the costing method and materiality. For US federal income tax, 26 CFR 1.471-11(d)(3) requires a manufacturer using standard costs to reallocate a pro rata portion of net direct production cost and overhead variances to ending inventory, unless those variances are not significant relative to total actual indirect production costs. The report supplies the number and the line. The treatment is signed off by the controller, and in a discussion among accountants on capitalizing manufacturing variances the point is stated without much room for argument: "Standard costing is GAAP; but simply recognizing the estimate at the point of sale and the inventory balance and leaving it at that is not GAAP."

What This Method Cannot Decide

The table proves what the documents say and what the arithmetic produces. It does not prove what the accounting should be.

The system does not reach into your ERP. There is no connection to a PO master, no automatic posting, and no read of the general ledger. The output is a spreadsheet that someone exports and posts, which is also why the twelve columns matter: the posting entry needs a reference back to them.

Standard cost maintenance sits outside the tool as well. No costing run, no revaluation, no approval workflow for a revision. Standards come in from a document, a fixed parameter or your own table, and version control is whatever you put in the sheet.

Invoice rows and PO rows arrive in one clean table, separated by the document type column. The join on PO number and item code stays with you or with the spreadsheet, along with the judgment about partial deliveries and substitute items.

Contract terms are outside the table. Whether a price increase was authorized lives in the contract, the change order or an email from procurement. An invoice that bills the new price is not evidence that the new price was agreed.

The accounting treatment stays a judgment the report cannot make. Materiality, capitalization, and whether a revision is a change in estimate or a correction of an error belong to your framework and your auditor's view. A tool that picked one for you would be guessing.

FAQ

Is a positive purchase price variance favorable or unfavorable?

Under the usual convention, actual minus standard, a positive number is unfavorable because the variance account is debited. Some reports reverse the subtraction so a favorable result prints positive. Check the header before reading the sign, and label the figure favorable or unfavorable in words so the meaning does not depend on which convention the author used.

What is the difference between PPV and invoice price variance?

PPV compares a price with the standard cost. Invoice price variance compares the invoice with the purchase order. On one purchase you can have both: the PO came in above standard at receipt, then the invoice came in above the PO at billing. The two add up to the total excess over standard, and they belong to different owners.

Should PPV use quantity purchased, received, or invoiced?

Any of the three works if it is used consistently and printed in the report header. Received quantity is the most defensible for the variance account, because inventory was valued on what physically arrived. Invoiced quantity pulls undelivered goods into the price variance. Purchased quantity is a forecast measure and belongs in a buying report, not a month-end variance.

Does PPV include freight?

Only if the standard includes freight. If the standard is a supplier price, inbound freight belongs in a landed-cost line and must be excluded from the actual price used in PPV. The rule is consistency: the same treatment on both sides of the subtraction, for every item in the report.

Do I need standard costing to calculate PPV?

No, but the meaning changes. Without standard costing there is no variance account and no inventory valued at standard, so the comparison becomes a report against a PO price, a contract price or a budget rate. That is still useful for procurement review. It just does not tie to a general ledger balance, so the tie-out step does not apply.

Where does purchase price variance go on the income statement?

Variance that is not capitalized into inventory normally ends up in cost of goods sold, either inside the material cost or on its own line in a gross margin bridge. How much is capitalized depends on the framework and on how much of the material remains on hand at the reporting date.

A variance is a claim about why a number moved. The formula takes a minute; the columns are what make the claim checkable. Once every line carries a page, a quantity basis and a standard version, the month-end conversation stops being about whether the number is right and starts being about what to do with it.

📮 contact email: [email protected]