MSP Margin Get the Monday Close
A row of servers in a rack with status lights on

Reconciling distributor invoices

A monthly match of distributor and marketplace charges against what you bill clients catches unbilled subscriptions, duplicates and missing credits before they turn into lost margin.

Cost of service
Guide
4 min read
By MSP Margin Editorial

If you resell Microsoft 365, cloud consumption, or security products through a distributor or marketplace, you get at least one large invoice each month covering every client at once. Your clients get separate invoices from you. The question this reconciliation answers is whether those two sides agree.

When they do not, the gap almost always runs against you. Subscriptions get added in a vendor portal and never make it into the PSA. A client cancels seats with you, but the subscription stays active upstream. A credit is promised and never applied. Each one is small, and together they can quietly erase the margin on resale.

Get the detail, not the summary

The invoice PDF is rarely enough. Download the detailed usage or billing export from each distributor or marketplace. You want, at a minimum, customer or tenant name, subscription or product SKU, quantity, unit cost, charge period, and line type (new charge, proration, credit).

On your side, pull the matching detail from your PSA or billing system: client, product, quantity and billed amount for the same period.

Then build a mapping table, once, and maintain it. It links each distributor customer or tenant ID to your client record, and each vendor SKU to the product you bill it as. Most reconciliation time is lost to name mismatches, such as a client's legal name in the vendor portal and a nickname in the PSA. A mapping table solves that permanently.

Match by client and SKU, then sort the exceptions

With both sides mapped, compare client by client and SKU by SKU. Lines that match on client, product and quantity can be set aside. Everything else falls into a few categories:

  • Unbilled. The distributor charged you for a subscription or seats that do not appear on any client invoice.
  • Billed but not charged. You bill the client for something the distributor no longer charges. Often a cancellation that was only half processed. It may be fine; it may also be a client complaint waiting to happen.
  • Duplicates. Two subscriptions for the same product on the same tenant, often from a trial converting or a second order placed by mistake.
  • Quantity or price mismatches. Seats added mid-month, or a vendor price change not yet reflected in your billing.
  • Internal use. Your own company's subscriptions, which belong in your operating expenses, not cost of service.
  • Prorations and credits. Partial-month charges and credits for cancellations or reductions.

A worked example

The numbers here are illustrative, rounded and not based on any vendor's actual pricing.

Category Amount
Matched to client billing $16,500
Internal use $650
Unbilled seats for one client $420
Duplicate subscription $310
Prorations and credits, net -$180
Total distributor invoice $17,700

Check the total: $16,500 + $650 + $420 + $310 - $180 = $17,700.

From this month's work you would add the $420 in seats to the client's recurring billing and decide whether to bill back the missed period, cancel the duplicate subscription and request a credit if the vendor's terms allow it, and recode $650 from cost of service to internal software expense. That is $730 in avoidable monthly cost or unbilled revenue found in one pass, before counting any recovered credit.

Recording credits and keeping it clean

Credits from a distributor reduce your cost. Record them against the same account the original charge hit, not as revenue, so your cost of service by line stays accurate. If a credit you were promised has not appeared, keep it on an open-items list and check for it each month rather than assuming it arrived.

Timing differences are normal. A distributor may bill a calendar month while you bill on a different cycle, or a proration may land a month late. Note these in the reconciliation instead of forcing a match, and confirm they clear the following month.

Keep a short log of each month's exceptions and how they were resolved. Patterns show up quickly. If the same client produces unbilled seats every month, the gap is probably in how adds are requested and processed, and that is a process fix rather than a bookkeeping one.

Aim to finish this reconciliation before client invoices go out, or at least as part of the month-end close, so corrections reach the next billing run instead of piling up.

This guide is general information, not accounting advice. How you classify resale costs, credits and internal subscriptions on your books can vary, so confirm the treatment with your CPA.