Microsoft 365

PSA Price Overrides: The Hidden Microsoft CSP Margin Leak

MSP finance professional reviewing aligned and mismatched billing data

A Microsoft CSP reconciliation can show the right customer, SKU and seat count while the invoice still protects the wrong margin. The missing control is often the unit price stored on the PSA agreement line.

That creates a PSA price override orphan: a customer-specific price that was once intentional but is no longer connected to the MSP’s current supplier cost, sell-price policy or commercial approval. Quantity reconciliation passes because the seats match. Margin still leaks because the price does not.

Key takeaways

  • Matching seat counts is necessary, not sufficient. It proves that provisioned and billed quantities align, but not that the unit price is commercially correct.
  • Customer-specific prices need ownership and review dates. A legitimate discount can become an orphan when its original approval or expiry condition is forgotten.
  • Microsoft pricing changes expose stale PSA pricing. The timing can differ by market, currency, term and renewal date, so a single blanket update is not a safe control.
  • Price integrity needs its own exception workflow. Compare supplier cost, intended sell price, the PSA agreement price and override status before approving invoices.
  • Do not auto-remove every override. Some fixed prices and discounts are contractual; automation should surface the exception and evidence for an authorised person to decide.

A green seat report can still hide pricing drift

Consider an MSP billing 150 Microsoft 365 Business Standard seats for one customer.

Partner data shows 150 seats. The PSA agreement also shows 150. The SKU mapping is correct, and the quantity reconciliation returns no exception.

The invoice can still be wrong in commercial terms.

If the agreement line uses a customer-specific unit price that has not moved with the MSP’s cost or pricing policy, every seat may be billed below the intended rate. Nothing creates a licence-count variance because there is no quantity problem to detect.

This is why quantity and price need separate billing controls. A defensible recurring invoice needs the correct quantity, billable line, effective date, unit price and customer rule.

Four billing control inputs aligning into an invoice review

What creates a PSA price override orphan?

Customer-specific pricing is not inherently a mistake. MSPs use it for valid commercial reasons, including:

  • a negotiated rate for a larger customer;
  • a temporary onboarding discount;
  • a price held until the next agreement anniversary;
  • a bundled managed-service price;
  • a transition arrangement after a licence or service change; or
  • a manual correction made during an earlier billing cycle.

The risk appears when the price remains active after the decision behind it has expired or become unclear.

The exact records and field names differ across ConnectWise Manage, Autotask and HaloPSA. The underlying pattern is the same: the price that drives the customer invoice can live on an agreement, contract, service, addition or recurring invoice item rather than being calculated again from today’s standard price.

That separation is useful because MSPs need customer-specific billing logic. It also means a standard product-price update does not, by itself, prove that every customer agreement now reflects the intended rate.

An override becomes an orphan when the billing team cannot quickly answer:

  1. Who approved this price?
  2. What commercial rule or contract term does it represent?
  3. When should it be reviewed?
  4. Which current supplier cost and sell-price policy should it be compared with?
  5. Is this the price that actually reaches the invoice?

Without those answers, the PSA may be executing an old decision perfectly.

Why Microsoft pricing changes expose the gap

Microsoft’s commercial pricing and packaging changes effective 1 July 2026 provide a useful example. In Microsoft’s published US commercial pricing, Microsoft 365 Business Standard with Teams moved from $12.50 to $14.00 per user per month, Business Basic moved from $6.00 to $7.00, and Microsoft 365 F3 moved from $8.00 to $10.00.

Those figures are not a universal CSP cost sheet. Microsoft notes that pricing can vary by country and currency, and existing customers remain on current pricing until renewal. A partner’s real cost can also depend on the customer market, subscription term, distributor and commercial arrangement.

That staggered timing is precisely why price review cannot be reduced to “increase every agreement on 1 July”. Two customers on the same SKU may reach the new commercial position at different times.

A safer workflow identifies the affected subscriptions and then checks the corresponding PSA billing records against the correct effective date and approved customer pricing rule. It distinguishes between:

  • a cost movement that should change the sell price now;
  • a contractually fixed customer price;
  • a discount that remains approved until a later date;
  • a price awaiting customer communication or renewal; and
  • an override with no recorded owner or expiry condition.

This is a finance and commercial control, not just a licence-sync task.

The £300-a-month example

Assume, for illustration, that the MSP’s supplier cost increases by £2 per seat for a 150-seat customer while the customer-facing PSA unit price remains unchanged.

The arithmetic is simple:

  • £2 × 150 seats = £300 less margin each month;
  • over 12 months, that becomes £3,600 for one customer; and
  • five customers with the same gap would represent £1,500 per month, or £18,000 over a year.

These are scenario figures, not an industry average. Their value is that they show why a small unit-price gap deserves the same attention as a missing seat.

The invoice can look plausible throughout. The product exists, the quantity is correct, and the total rises or falls in proportion to the seat count. The problem may only become visible when someone reviews gross margin by customer or compares current cost with the agreement’s actual unit price.

By then, the MSP may face an awkward choice between accepting the lost margin and attempting a retrospective customer correction.

Add a price integrity check before invoice approval

A practical control compares four inputs and one final output.

Control point Question to answer
Current supplier cost What will the MSP actually be charged for this customer, market, term and billing period?
Intended sell price What does the current pricing policy or approved customer agreement say should be charged?
PSA agreement unit price What price is stored on the billable agreement, contract or recurring line?
Override status Is the price standard, customer-specific, temporary, contractually fixed or missing an owner/review date?
Invoice output Is that exact quantity and unit price present on the invoice being approved?

The first four inputs reveal the likely exception. The invoice output confirms whether the exception has reached customer billing.

This check should produce a review queue, not an uncontrolled bulk price change. Useful exceptions include:

  • supplier cost changed but the intended sell price did not;
  • intended sell price changed but the PSA line did not;
  • a customer-specific override has no approval owner or review date;
  • the agreement price is below supplier cost;
  • multiple agreement lines exist for the same SKU or service; and
  • the PSA record and invoice output do not use the same unit price.

The reviewer then needs enough evidence to decide whether to update the agreement, preserve the contracted rate, schedule a renewal change, or escalate the account for commercial review.

This is the same control principle that makes automated MSP billing workflows safer: automate repeatable comparisons, surface exceptions early and keep a human approval point where customer contracts and pricing judgement matter.

Keep quantity and price reconciliation separate

Quantity reconciliation and price reconciliation answer different questions.

Quantity reconciliation asks whether Microsoft subscriptions and PSA billing quantities align. It can identify missed additions, stale quantities and mapping problems. Manual licence reconciliation becomes difficult because those changes happen across many customers and billing periods.

Price reconciliation asks whether the billable unit price still matches the MSP’s current commercial intent. It needs cost, effective-date, agreement and invoice context that a seat comparison alone cannot provide.

MSPs need both controls. Combining them into one green “reconciled” result creates false confidence because a pass on quantity can hide a failure on price.

The better definition is straightforward: reconciliation is complete when the correct product and quantity reach the correct billable PSA line at the approved unit price for that customer and period — and the invoice output confirms it.

Sources

S
Sync 365Built by an MSP, for MSPs. Writing about Microsoft CSP billing, PSA workflows, and recovering the revenue that slips through.

See where your billing drifts

Start a free 30-day trial — no card required.