Skip to content
Suppliers & purchasing

Restaurant Invoice Price Audit: Check the Line Before Updating Recipe Costs

By · Published · Updated · 7 min read

An invoice price audit checks whether a delivered ingredient matches the product, quantity, price basis and date used in your recipes. Normalize the pack before comparing prices, resolve substitutions and credits, then update the matched ingredient. OCR text alone is not a verified cost. Keep uncertain lines flagged until the missing evidence is supplied.

Collect evidence before changing the ingredient

Have the current invoice, previous comparable invoice or quote, receiving record and recipe ingredient open together. Keep the document date and delivery date distinct when they differ. An ingredient name such as chicken or cheese is not enough to establish a match: the SKU, specification and purchase unit determine whether a price is comparable.

The BC Cook Articulation Committee's receiving guidance describes checking the invoice against the order and counting or weighing delivered goods. Its purchasing chapter explains why cut, grade, pack size and drained weight belong in the specification. Use those practical checks here; this guide does not establish your supplier's dispute or payment terms.

This checklist is for recipe-cost inputs. It does not reconcile supplier balances, determine tax treatment, authorize payment or replace accounting controls. Keep the original document in your normal records. If a fee allocation affects recipe cost, record what is included and apply the same method on the comparison invoice. Ask your bookkeeper how that allocation should relate to your accounts.

Synthetic receiving and cost-review worksheet; these are invented invoice lines
LineEvidence to checkRecipe-cost action
Mozzarella: $66, 6 × 4 lbSame SKU/specification; 24 lb delivered; effective dateUse $2.75 per purchased lb after checking charges
Previous mozzarella: $60, 4 × 5 lb20 lb on the earlier invoiceCompare $3.00/lb with $2.75/lb, not $60 with $66
Chicken: $78.12, weight unreadableActual delivered catch weight and price basisHold unit cost until weight is confirmed
Substituted tomatoesProduct form, drained weight and recipe suitabilityReview as a substitution; do not reuse the old yield blindly
Promised $5 creditCredit note, relevant line and confirmationKeep unresolved until confirmed; avoid counting it twice

Comparable invoice change

(New normalized unit cost − previous normalized unit cost) ÷ previous normalized unit cost × 100

In the mozzarella example: ($2.75 − $3.00) ÷ $3.00 × 100 = −8.33%. The case price increased while the purchased unit price fell.

When a lower case price hides a higher portion cost

Now consider a different, hypothetical delivery. The case price falls from $60 to $54, but the pack changes from four 5 lb bags to four 4 lb bags. You also allocate $6 of the new delivery's freight to this line, using your documented allocation method. The previous delivery had no allocated charge. Assume the product specification is otherwise unchanged; the 80% usable yield and 4 oz served portion below are exercise inputs, not standard yields.

Synthetic invoice comparison; no tax or credits in this example
Input or resultPrevious deliveryNew delivery
Case price$60.00$54.00
Purchased contents4 × 5 lb = 20 lb4 × 4 lb = 16 lb
Allocated freight$0.00$6.00
Cost included in this comparison$60.00$60.00
Purchased cost per lb$3.00$3.75
Assumed usable yield80%80%
Usable cost per lb$3.75$4.6875
Ingredient cost per 4 oz usable portion$0.9375$1.171875

The case label suggests a 10% price reduction. Before freight, however, $54 ÷ 16 lb is $3.375/lb: 12.5% above the old $3/lb. Including the allocated freight gives ($54 + $6) ÷ 16 lb = $3.75/lb, a 25% increase on the stated cost basis. The portion calculation is $3.75 ÷ 0.80 × (4 ÷ 16) = $1.171875. That ingredient adds $0.234375 per portion, about $0.23 when displayed. It is not the whole dish cost or a measured loss; keep all other ingredients separate and round only the final result.

The USDA Food Buying Guide appendix distinguishes purchased food from ready-to-cook or cooked usable quantity. Match yield to the actual preparation stage. If your recipe already states the purchased quantity, multiply it by purchased unit cost without dividing by yield again. Retest a substituted product before assuming the previous yield still holds. The supplier comparison guide covers the separate decision of choosing between quotes.

Resolve catch weight and short deliveries separately

Return to the unreadable $78.12 chicken line in the checklist. Suppose the supplier confirms 18.6 lb as the actual delivered and billed net weight, with no allocated fees or credits. The synthetic unit cost is $78.12 ÷ 18.6 = $4.20/lb. Using a nominal 20 lb case would give $3.906/lb, understating that cost by 7%. Check the printed price basis and received net weight; do not use packaging weight or a catalog estimate to fill an unreadable field.

A short delivery asks a different question. In another synthetic example, an invoice bills six 4 lb bags at $12 each: $72 for 24 lb. Only five bags, or 20 lb, arrive. Keep the missing bag and requested $12 credit open as a discrepancy. If the supplier confirms that credit, the corrected calculation is ($72 − $12) ÷ 20 lb = $3/lb, the original unit price. This is a quantity correction, not a lower recurring supplier price.

Until the adjustment is confirmed, keep the invoice, receiving count and proposed correction distinct. Do not overwrite the recurring ingredient price with a guessed credit or silently spread the unresolved shortage across the received bags. Link a confirmed credit to the original line and check whether a replacement invoice already includes it; subtracting it again would understate cost. Payment and account reconciliation follow your separate supplier and bookkeeping process.

Use a repeatable line review

  1. Match the ingredient and SKU, including cut, grade, brand and preparation state where relevant. Do not merge different specifications just because OCR returns a similar name.
  2. Read pack quantity explicitly: number of inner packs × quantity in each. Verify lb versus oz, gallon versus fluid ounce, and each versus case.
  3. Check delivered quantity and any rejected or missing goods against receiving records. A full invoice amount divided by a short delivery is a different cost question from a quoted unit price.
  4. Compare effective prices on equivalent units, retaining the previous invoice date. A backdated correction should not silently become the newest supplier observation.
  5. Record confirmed fees and credits once, with the allocation basis. Keep unresolved adjustments visible rather than assuming the lowest possible cost.
  6. Review usable yield and recipe quantities, then update the matched ingredient and inspect affected dishes. Retain the original line so the next reviewer can explain the change.

If a weight or mapping is ambiguous, stop that line and continue with other complete lines. Zero is a valid number only when it is truly a reviewed zero cost, not a substitute for missing information. A partial recipe total should say which ingredients are unresolved. For a new supplier quote, use the pack comparison calculator before changing the ingredient record.

One ingredient increase, three affected dishes

This separate synthetic example shows why checking the recipe mapping matters after the invoice review. Suppose the reviewed usable cost of mozzarella rises from $3 to $4 per lb, with unchanged yield and specification. The ingredient becomes $1/lb more expensive. The change to each recipe depends on its own reviewed quantity; it is not a one-dollar increase on every dish.

Hypothetical one-week quantities entered by the operator; no POS import
DishUsable cheese per dishExtra cost per dishAssumed weekly dishesExtra weekly ingredient cost
Margherita5 oz$0.3125200$62.50
Cheese toast2 oz$0.1250150$18.75
Baked pasta3 oz$0.187580$15.00
Total——430$96.25

Each line uses quantity in ounces ÷ 16 × the $1/lb increase. Keep all other ingredient costs and selling prices unchanged to isolate this effect. The $96.25 is projected extra ingredient cost at the entered volumes, not a measured loss or net profit figure. Actual results also depend on dishes sold, portions, waste and any change in the other inputs.

Finish the audit with a decision record

For each affected dish, record the old cost, new cost, source date, unresolved assumptions and person who checked the recipe. Choose whether to monitor, test a supplier alternative, review the portion standard or model a menu price. The price-increase guide separates restoring contribution dollars from restoring gross-margin percentage. The operator approves any change; a cost update does not authorize a register price change.

Marji extracts invoice lines and suggests ingredient matches. Every extracted line needs your review before confirmation writes an ingredient cost; a high OCR confidence score does not replace that step. Check the document date, match, quantity, unit and printed amount, then inspect the affected recipe. Marji does not provide bill pay, accounting reconciliation, inventory counts or POS sales ingestion. The fee and credit examples above are review methods, not a promise that Marji automatically allocates delivery charges or reconciles credit notes.

Keep a short handoff for the next invoice: ingredient and specification, purchase quantity and unit, cost basis and allocated charges, document reference and date, yield stage, unresolved questions and reviewer. Start with one complete recipe whose quantities you can check. Return when a new delivery changes one of those inputs; the previous recipe cost remains a comparison point, not proof that the new delivery has been reviewed.

Check one recipe after the invoice

Carry a verified purchased cost and yield into a free line-by-line calculation. Retain missing inputs as unresolved.

Cost a recipe

Terms this guide uses

Read next

About these guides — Marji builds software that recosts restaurant menus from supplier invoices and publishes a restaurant food cost index. Every number in these guides is either computed from a stated formula or sourced to a primary reference.

How we source numbers and handle AI assistance: editorial policy.