Insights Data and AI

The data you need before you can trust a rebate or price calculation

Rebate and contract price calculations fail at the join, not the math. Four data conditions to get right, and eight monthly tests that show whether your numbers can be trusted.

A rebate calculation looks like arithmetic: qualifying purchases times a rate, checked against a tier. A contract price check looks simpler still: price paid minus price agreed. In practice neither is mostly arithmetic. Each one joins a contract’s terms to a purchase history recorded by different people, in different systems, for different purposes. When the join is wrong the formula still runs, and it still returns a number carried to the cent. Nothing about that number looks wrong. For a rebate or a price check, healthcare supply chain data quality comes down to whether that join holds.

A calculation is a join before it is a formula

Before the rate table matters, a tiered rebate needs to know which invoice lines belong to the supplier, which are contract products, how many contract units each represents, and whether the date and the facility are covered.

Those lookups are fragile. A 2026 Vizient article on procurement breakdowns reports that, in Vizient’s analyses, more than 30% of item file attributes contain errors and only 61% of purchase orders are issued at the correct contract price. The article names the variables that can affect pricing between contract negotiation and final payment: item data discrepancies, unit-of-measure mismatches, distributor markups and misaligned contract tiers. Most of those are data problems, not negotiation problems.

A mid-2010s AHRMM paper on contract price alignment explains the structure. One contract price has to be held consistently by four parties (provider, supplier, distributor and GPO), each with its own systems, customer definitions and contract processes. The paper reported that agreed prices had historically taken 45 to 60 days to reach every party’s systems. That figure is more than a decade old and should not be read as today’s lag, but the structure has not changed: four parties, four copies of the truth.

None of this implies bad faith. Both sides signed the same contract, and the work is making sure both count the same purchases.

The five datasets, and who owns each

Dataset What it contributes Usual owner and refresh
Contract terms: tiers, rates, commitments, dates, covered facilities The rules Contracting; every amendment
Contract product and price file Which items count, at what price, in what unit Contracting with the supplier; every price change, plus a quarterly review
PO, receipt and invoice history What you bought direct and what you paid ERP or accounts payable team; monthly at minimum
Distributor sales tracing The supplier’s products bought through a distributor The distributor, at supply chain’s request; monthly
Rebate payments received What has been collected so far Finance; as payments arrive

Implant and per-procedure agreements add a sixth: case and usage data from perioperative services, since they may be measured on procedures or date of surgery.

Sales tracing is the file most easily overlooked. If a supplier’s products reach you through a distributor, your invoice history shows the distributor as the vendor. If the contract counts those purchases, a join on direct invoices alone will understate what qualifies.

Product identity: one product, four numbers

The same physical product can appear as a manufacturer catalog number on the contract, a distributor item number on the distributor’s invoice, an item master ID on your purchase order and a GTIN on the label.

For devices, the FDA’s UDI Basics page defines the device identifier (DI) as the fixed portion of a UDI, identifying the labeler and the specific version or model. The production identifier is the variable portion, such as lot, serial number and expiration date. A contract crosswalk needs only the DI, which is also the key into the FDA’s GUDID database.

In practice:

  • Keep one crosswalk table with a row per product per pack level and a column for each identifier.
  • Normalize catalog numbers before matching (spaces, dashes, leading zeros, revision suffixes) and keep the original string alongside.
  • Maintain supplier parent and child links. After an acquisition, purchases can keep arriving under the old vendor number. Whether they count is a contract question.

GHX’s guide to item master data lists common problems including inaccurate records, duplicates, missing attributes and disconnected systems. A duplicate item record, for one, splits a product’s volume across two IDs, and only one may be mapped to the contract.

An unmatched product raises no error. It drops out of the qualifying total, so identity errors tend to understate what was earned.

Units of measure: the failure nobody sees

The GS1 Healthcare GTIN Allocation Rules state that different levels of a packaging hierarchy should be assigned different GTINs, and that any level that is priced, ordered or invoiced should typically have its own. So a GTIN tells you the pack level as well as the product. A catalog number often does not: the same one can be invoiced by the each, the box or the case.

An illustrative example: a wound closure product contracted at $40 per each, sold in boxes of 10, with a unit tier at 5,000 eaches a year.

What the data says Read without conversion Read with conversion
Invoice line: 1 BX at $400 $400 against a $40 contract price, a false tenfold overcharge $40 per each, on price
Year to date: 620 BX 620 units, far below the tier 6,200 eaches, tier reached

The first error is loud and gets caught. The second is silent: the tier is never reached on paper, the lower rate is paid, and nothing looks broken.

Store the contract unit and a conversion factor for every pack level on the contract product record. Convert every line to the contract unit before counting or comparing. When a line’s unit cannot be resolved, do not guess: leave the line out as unpriceable and report how many lines and dollars fell out.

Dates and periods

A purchase carries at least three dates (PO, receipt, invoice) and an implant adds a fourth, the date of surgery. The contract should say which one measures the period. If it does not, ask the supplier which date they use and write the answer down. Purchases near a quarter end land in different periods depending on the date chosen, which against a tier threshold can move a whole quarter’s rate.

Prices need date ranges too: a start and end date for every price, not only the current one. The loading lag in the AHRMM paper is the reason. The weeks after a price change are when an invoice is most at risk of carrying the old price. A check that knows only today’s price judges older invoices against a price that did not apply to them: it flags lines that were correct when issued and can pass lines that were wrong.

Credits, rebills and delayed invoices arrive after a period closes. Decide the policy in advance. A workable one: recalculate a closed period whenever its data changes, and keep an export of the figure you claimed so you can explain the difference.

Facility and entity mapping

Contracts name participating facilities, usually in an exhibit. Purchase data names ship-to addresses, account numbers and cost centers. GS1 US describes the GLN as helping identify the who and where of a product movement, and where both sides hold GLNs it is the cleanest key. The AHRMM paper named the lack of widely adopted product and location standards as one source of the complexity, so expect to map supplier and distributor account numbers too.

Three things go wrong here:

  • A facility acquired after signing keeps buying under its old accounts, and nobody has confirmed in writing whether the contract covers it.
  • A covered facility is missing from the mapping, so its purchases drop out without warning.
  • Class of trade is ignored. An ambulatory site or physician practice may sit under a different agreement than the acute hospital in the same system.

With a per-facility market share commitment, an unmapped ship-to distorts both the numerator and the denominator.

Eight tests to run every month

Test What it catches Starting threshold
Completeness by source and month A feed that failed or loaded in part Rows or dollars below 80% of the trailing three-month average
Duplicate lines A file loaded twice, or a rebill without its credit Any repeat of supplier, invoice number and line
Orphan spend Supplier purchases that match no contract product Above 5% of that supplier’s spend; review the top 20 items
Unresolved units Lines that cannot be converted to the contract unit Any; report lines and dollars
Price outliers Unit errors disguised as price variance Unit price above five times, or below one fifth of, the contract price
Unmatched credits Negative lines with no original invoice in the data Any above a dollar floor you set
Unmapped facilities A ship-to or account with spend and no facility mapping Any
Date sanity Lines dated in the future or outside the contract term, yet counted Any

These thresholds are suggested starting points, not industry benchmarks. Tighten them as the data improves and track each count month over month. Software can run these checks on every load, but a saved query and a calendar reminder are enough to start.

Governance: names, sources and a shared dictionary

First, a named owner for each dataset above. A team is not a name.

Second, an agreed source of truth for when systems disagree. The signed contract and its amendments outrank the contract system. The invoice outranks the PO for price paid.

Third, a short data dictionary shared with key suppliers: which date field measures the period, which unit, which facility list, which product list, and whether distributor purchases count. The AHRMM paper makes the same case for standard formats covering tier pricing and commitments, customer eligibility and price activation dates. When both sides calculate from the same fields, the differences that remain are real ones, and a rebate conversation becomes a reconciliation instead of an argument.

A reconciliation to run this week

  1. Pick one contract with a recent supplier rebate statement or payment.
  2. Ask the supplier for the purchase detail behind their figure.
  3. Rebuild the qualifying purchases for the same period from your own data.
  4. Compare the totals by product, then by facility, then by month.
  5. Put every difference into one of four buckets: product identity, unit, date or facility. Anything that fits none of them is a contract interpretation question for contracting.

The largest bucket tells you which crosswalk to fix first. If the totals agree to within a fraction of a percent, you have evidence the calculation can be trusted. If not, you know what to repair, and until then the honest label for every downstream number is “estimate”.

Sources

Every outside fact in this article traces to one of these.

  • Where this is built in

    Rebate Recovery does this work as purchase data loads. Checks every supplier rebate contract against what you actually bought, then shows what suppliers owe you today, what this period is on pace to pay, and what is still within reach before it closes.

See what your contracts already owe you

Bring one supplier contract and a purchase extract. In a working session we load it, run the numbers and hand you the statement: earned, received, owed.