Margin intelligence

Three prices, one transaction, one number

The invoice price is what the document said. The contract price is what the customer was entitled to. The pocket price is what you kept. In most businesses these are never compared.

From list price to what you actually keep

An illustrative mid-market distribution waterfall. The shape matters more than the numbers — most businesses can name the first two steps and not the last three.

List price

Where the negotiation starts

100.0%

Contract discount

On invoice — visible

−12.0%

Volume break

On invoice — visible

−4.5%

Ship-and-debit / bill-back

Off invoice — settles later

−6.2%

Year-end rebate

Off invoice — settles later

−3.8%

Promotional allowance

Off invoice — settles later

−2.1%

Settlement terms & freight

Off invoice — often absorbed

−2.4%

Pocket price

What you actually keep

69.0%

Invoice-to-pocket gap −31.0% of list, most of it invisible at the point of sale

Illustrative. Build yours from one month of sold lines — the exercise takes a day.

The same problem, stated twice

Once for the person who owns the P&L, once for the person who owns the systems. Neither column is a summary of the other.

The financial problem

The disagreements between the three prices are the leak.

  • A contract price below the invoice price means a customer was overcharged and will eventually deduct — with interest in goodwill.
  • An invoice price far above pocket means the concession stack is deeper than the deal assumed.
  • Where contract price and system price disagree, every transaction since the divergence is wrong.
  • Because the three are never on the same row, none of these are visible until a dispute forces the comparison.

The technical problem

Order management, contract management and the settlement ledger never join.

  • Invoice price lives in order management; contract price in the agreement; pocket price emerges from the rebate and claims ledger a quarter later.
  • Reconstructing pocket price means joining three systems after the fact, per line, which is only ever done for disputes.
  • Contract price is effective-dated and versioned, so the comparison must be to the price valid on the transaction date — not today’s.
  • Off-invoice reductions attach to agreements, not to lines, so allocation back to the transaction is an assumption.

What RevUpra does

Inside price triangulation

Three-price resolution

Invoice, contract and pocket resolved per transaction line, on the date the transaction happened.

Effective-dated contract price

Versioned price history, so the comparison uses the price that was actually valid.

Off-invoice allocation

Rebates, debits and promotions attributed back to the lines that generated them.

Variance exceptions

Disagreements above a tolerance become a worked queue rather than a report nobody opens.

Pre-deal visibility

The triangulated number available before the deal is signed, not after it settles.

Benchmarks

What good looks like

Use this as a self-assessment. If you cannot produce one of these numbers for your own programme, that is itself the finding.

Price triangulation benchmarks
Metric Typical today Target
Lines with all three prices resolved <20% >95%
Invoice-vs-contract variance detected in-period On dispute only Monthly, automated
Off-invoice value allocated to source lines 30 – 60% >95%
Customer deduction disputes from price mismatch Common Rare
Ranges are indicative benchmarks drawn from published channel-incentive and pricing research together with our own implementation experience. They vary widely by programme complexity, channel depth and data quality — treat them as the opening question in a diagnostic, not a guarantee.

Triangulation is a reconciliation, not a report. Its value is entirely in the rows where the three numbers do not agree.

Leak points

What this closes

The leak points from our taxonomy that this module addresses directly.

01

Price erosion & discount stacking

“Every discount was defensible. The stack was not.”

Financially

List price, then a contract discount, then a volume break, then a ship-and-debit, then a year-end rebate. Each concession was approved on its own merits; nobody ever saw the pocket price at the bottom of the stack, which on some lines is below cost.

Technically

Discounts are applied in different systems at different times — order entry, billing, and post-transaction settlement — so no single record holds the fully-loaded net price. Reconstructing it means joining three systems after the fact.

Typical cost
1.5% – 4.0% of net revenue
Benchmark
Disciplined programmes keep pocket-price variance within a ±3% band per customer segment.

How it closes: Price triangulation resolves invoice price, net-net pocket price and contract price into one number per transaction — visible before the deal is signed.

See the module →
02

Contract drift

“You are operating a version of the deal nobody signed.”

Financially

The signed agreement says one rate; the system was configured with another, or an amendment was agreed by email and never applied. Every transaction from that point is priced or accrued wrongly, and the exposure compounds silently until renewal.

Technically

The contract is a document and the configuration is data, and nothing binds them. Amendments arrive as redlined attachments; applying them to the running configuration is a manual re-keying step with no verification.

Typical cost
0.5% – 2.0% of contracted revenue
Benchmark
Best practice is zero drift — every executed term traceable to the clause that created it.

How it closes: The contract is the front door. Terms are mashed live from the deal, redlined with attribution, executed, and the executed version is what the engine runs.

See the module →
08

Deduction & dispute write-off

“It was cheaper to write it off than to fight it.”

Financially

Customers deduct against invoices for claimed rebates, shortages and pricing disputes. Where the deduction cannot be quickly tied back to an authorisation, small balances get written off in bulk — and partners learn that they will be.

Technically

Deductions land in AR with a free-text reason code and no link to the incentive that supposedly justified them. Research is manual, per item, so the cost of investigation exceeds the value of anything small.

Typical cost
0.2% – 0.9% of gross revenue
Benchmark
Strong programmes resolve >85% of deduction value without manual research.

How it closes: Deductions are matched to their authorising claim automatically; only genuine exceptions reach a human, so small balances stop being written off by default.

See the module →
03

Identifier mismatch

“The match failed, so the money did not move.”

Financially

The same customer is three entities, the same part is four part numbers, and the GPO code matches none of them. Transactions that should have earned a rebate simply do not match the agreement, so they never accrue — and the loss is invisible because nothing errors.

Technically

Your master data, your partner’s master data and the ERP’s ship-to hierarchy were never reconciled. Matching is done by exact string join, which fails silently. The unmatched rows land in a suspense file nobody owns.

Typical cost
0.4% – 1.5% of rebate-eligible revenue
Benchmark
Mature programmes hold unmatched transaction volume under 0.5% after cross-reference.

How it closes: A cross-reference engine reconciles partner, product and entity identifiers automatically, and every unmatched row is surfaced as work — not silently dropped.

See the module →

See what RevUpra can recover for you.

Thirty minutes, tailored to your programmes. We walk an agreement through modelling, contracting, accrual, claim and settlement using examples close to your own — and model an indicative ROI against your volumes.