Skip to content

Contract Price Compliance Checker

Suppliers raise prices a few cents at a time, often during a price freeze. Compare your invoice lines with the contract price list to find every overcharge by vendor, see the price history, and download draft credit claim letters.

  • Price freezes & caps
  • Credit claim letters
  • Price history chart
  • Data stays in your browser

Recoverable overcharges

$1,565

37 lines from 3 vendors billed above contract

Lines at contract price

77.7%

Of 166 lines with a contract price

Spend audited

$140,700

172 invoice lines

Off-contract spend

$417

6 lines with no contract price

01Contract price list

sku,description,vendor,contract_price,freeze_until,escalation_cap_pct

13 prices read · stays in your browser

02Invoice lines

invoice_id,invoice_date,vendor,sku,qty,unit_price

172 lines read · stays in your browser

03Rules & letters

%
%

When the contract doesn’t say

04By vendor

VendorSpendLinesOver contractInvoicesOvercharge
Pacific Meats$62,675481511$852.44
Coastal Foodservice$35,0587686$410.81
CleanLine Supply$42,967481414$301.63

The PDF has one draft letter per vendor with an overcharge, listing every invoice line.

05Price history

Chicken breast 40 lb: contract $118.00, frozen until Aug 31, then up to +3%.

  • Allowed by contract
  • Invoiced
$115.00$120.00$125.00$130.00Jun 16Jul 6Jul 26Aug 15Sep 4

06Overcharged lines · 37

InvoiceSKUQtyInvoicedAllowedOvercharge
INV-71037Pacific Meats · Aug 24CHK-4024$122.72$118.00frozen$113.28
INV-71043Pacific Meats · Sep 7CHK-4021$126.85$121.54after freeze$111.51
INV-71011Coastal Foodservice · Jun 22FLR-505024$46.19$41.75frozen$106.56
INV-71025Pacific Meats · Jul 27CHK-4020$122.72$118.00frozen$94.40
INV-71028Pacific Meats · Aug 3CHK-4018$122.72$118.00frozen$84.96
INV-71005Coastal Foodservice · Jun 8TOM-100620$42.35$38.40frozen$79.00
INV-71031Pacific Meats · Aug 10CHK-4013$122.72$118.00frozen$61.36
INV-71034Pacific Meats · Aug 17CHK-4013$122.72$118.00frozen$61.36
INV-71035Coastal Foodservice · Aug 17SUG-2526$21.85$19.80frozen$53.30
INV-71035Coastal Foodservice · Aug 17FLR-505013$45.82$41.75frozen$52.91
INV-71046Pacific Meats · Sep 14BEEF-802020$58.05$55.62after freeze$48.60
INV-71022Pacific Meats · Jul 20CHK-4010$122.72$118.00frozen$47.20
INV-71049Pacific Meats · Sep 21BEEF-802019$58.05$55.62after freeze$46.17
INV-71019Pacific Meats · Jul 13BEEF-802020$56.16$54.00frozen$43.20
INV-71047Coastal Foodservice · Sep 14TOM-100614$41.19$38.40frozen$39.06
INV-71031Pacific Meats · Aug 10BEEF-802017$56.16$54.00frozen$36.72
INV-71020Coastal Foodservice · Jul 13FLR-50508$46.25$41.75frozen$36.00
INV-71039CleanLine Supply · Aug 24CLAM-925$64.39$63.00frozen$34.75
INV-71028Pacific Meats · Aug 3BEEF-802016$56.16$54.00frozen$34.56
INV-71021CleanLine Supply · Jul 13CLAM-924$64.39$63.00frozen$33.36
INV-71045CleanLine Supply · Sep 7CLAM-924$64.39$63.00frozen$33.36
INV-71048CleanLine Supply · Sep 14CLAM-924$64.39$63.00frozen$33.36
INV-71011Coastal Foodservice · Jun 22OIL-350111$30.83$28.00frozen$31.13
INV-71040Pacific Meats · Aug 31BEEF-802013$56.16$54.00frozen$28.08
INV-71030CleanLine Supply · Aug 3CLAM-920$64.39$63.00frozen$27.80
INV-71051CleanLine Supply · Sep 21CLAM-920$64.39$63.00frozen$27.80
INV-71022Pacific Meats · Jul 20BEEF-802011$56.16$54.00frozen$23.76
INV-71042CleanLine Supply · Aug 31CLAM-917$64.39$63.00frozen$23.63
INV-71024CleanLine Supply · Jul 20CLAM-916$64.39$63.00frozen$22.24
INV-71025Pacific Meats · Jul 27BEEF-80208$56.16$54.00frozen$17.28
INV-71027CleanLine Supply · Jul 27CLAM-912$64.39$63.00frozen$16.68
INV-71044Coastal Foodservice · Sep 7SUG-255$22.37$19.80frozen$12.85
INV-71012CleanLine Supply · Jun 22CLAM-99$64.39$63.00frozen$12.51
INV-71033CleanLine Supply · Aug 10CLAM-99$64.39$63.00frozen$12.51
INV-71009CleanLine Supply · Jun 15CLAM-98$64.39$63.00frozen$11.12
INV-71018CleanLine Supply · Jul 6CLAM-95$64.39$63.00frozen$6.95
INV-71036CleanLine Supply · Aug 17CLAM-94$64.39$63.00frozen$5.56

07Bought with no contract price

  • MICRO-GRN · Coastal Foodservice$270 (3 lines)
  • TRUF-OIL · Coastal Foodservice$147 (3 lines)

172 lines · after payment · $1,565 to chase

Recovering overcharges after payment takes letters and follow-up. Checking prices before payment means there is nothing to recover.

Bollard checks every invoice line against contract prices, freeze dates and escalation caps as invoices arrive, holds anything above contract, and shows which vendors are drifting.

See price checks in Bollard

Method

How each line is checked

Invoice lines are matched to the contract list by SKU, using the vendor’s own contract when the list names one. The allowed price is the contract price on or before the freeze date and the contract price plus the escalation cap after it.

A line is overcharged when its unit price is above the allowed price by more than your rounding tolerance. The overcharge is the difference multiplied by the quantity.

The price history chart shows the invoiced and allowed price for one SKU over time, which is where gradual price increases show up.

Read the guide: Contract price compliance: how to catch supplier price creep before you pay it

From one site to every site

Checking prices before payment means there are no overcharges to recover later.

Bollard holds your contract prices, freeze dates and escalation caps in the catalog, checks every invoice line against them as invoices arrive, and stops overcharges before they are paid, at every site.

  • Contract prices in the purchasing catalog
  • Freeze dates and caps enforced automatically
  • Overcharged lines held before payment
  • Price compliance tracked by vendor
See Bollard in action

Questions

Frequently asked

What is contract price compliance?+

Checking that suppliers invoice at the prices agreed in your contract. Small differences, a few cents on a case, are easy to miss on individual invoices but add up across thousands of lines and many sites.

How are price freezes and escalation caps handled?+

Until the freeze date, the allowed price is the contract price. After it, the allowed price is the contract price plus the escalation cap (from the contract list, or the default you set). Lines priced above that, beyond your rounding tolerance, are overcharges.

What files do I need?+

A contract price list with sku and contract_price (plus optional vendor, freeze_until and escalation_cap_pct) and invoice lines with sku, qty and unit_price (plus optional invoice_id, invoice_date and vendor). Most AP and ERP systems can export both.

What is in the credit claim letters?+

One draft letter per vendor with an overcharge. Each lists every affected invoice line with the price invoiced, the price allowed and the difference, and asks for a credit memo within 30 days. Review and edit before sending.

What does “bought with no contract price” mean?+

Items on invoices that are not on your contract list. These are often off-contract purchases or new items that should be added to the agreement, and both are worth reviewing.

Is my data uploaded?+

No. Both files are read and compared in your browser, and the letters are generated on your device.

Related tools

All tools

Free tools, no sign-up. Your figures are processed in your browser and are not uploaded to a server unless you ask us to email you a result. Results are estimates for planning and do not constitute financial, legal or tax advice.