FOR SMALL MSPs · NO PSA REQUIRED

This month's CSP bill vs the invoices you are about to send.

Upload this month's Pax8 or Microsoft bill and the invoices you are about to send. SeatDiff marks mismatched lines — and gives you a corrected quantity CSV. $49 once. Files stay in your browser.

$49 once. Keep the distributor you have. Two files. One quantity CSV.

Or scan free first — see how many lines don't match and the dollar total before you pay.

Subject: SeatDiff — this month's two bills: 3 items, $308/mo

UNBILLED (provisioned, never invoiced)

Hilltop Dental-$440.00
M365 Business Premium · 4 seats × 5 mo
Baker & Ross LLP-$1,912.00
Cloud Backup 500GB · since Nov 2024

ORPHANED (you pay wholesale, you bill no one)

ABC Logistics-$108.00/mo
M365 Business Standard · 6 seats, 0 invoiced
Recoverable by back-billing$2,352.00

client,sku,old_qty,new_qty

The report you get. That's the whole product.

COLUMNS WE READ

client, sku, seats

from the Pax8 or Microsoft bill

client, item, quantity, amount

from the invoices you are about to send

Output is a corrected quantity CSV, not a PSA. Files stay in your browser.

Halo and Autotask bill the number after you have it. This report is how you get the number this month.

Why I built this

Same Pax8 monthly billing CSV you already export. We mark seats you pay wholesale and never put on the invoice you are about to send. We do not shop distributors.

Nobody diffs the two bills unless you buy a full PSA. This is just the diff. $49 once.

Older thread

February 2026: underbilled ~€5,000 and backups never invoiced. Same leak, older post.

How it works

  1. 1

    Scan this month's two bills — free

    Pax8 or Microsoft 365 license export (client + SKU + seats) and the client invoices you are about to send (client + item + qty + amount). You see how many lines don't match and the dollar total. No account.

  2. 2

    Pay $49 to see the lines

    Paddle checkout. One time. No subscription. The same tab shows which client and SKU — no second upload.

  3. 3

    Don't send the wrong invoice

    See unbilled and overpaid lines, then download a corrected quantity CSV. Files never leave this browser.

No dashboard. One report.

You have enough tabs open. Scan, pay if the total is worth it, fix the invoices, close the tab.

The math

An average resold M365 seat runs about $22/mo. How many forgotten seats would it take across all your clients before SeatDiff pays for itself? Three.

Leaking every month4 × $22 = $88/mo

SeatDiff$49 once

Net+$39/mo recovered

And seats are the small leak. One forgotten backup contract is ~$100+/mo — the kind that runs unbilled for years, because nothing ever reminds you it exists.

What we read — and what we never touch

WE READ (IN YOUR BROWSER)

  • Pax8 / Microsoft seat export

    This month's license bill. client / sku / seats. Parsed in your browser.

  • Client invoices about to send

    The CSV/Excel you would send this month. client / item / quantity / amount.

WE NEVER TOUCH

  • Your files do not upload to our server. The report is computed locally.
  • Mailboxes, tenant content, or payment credentials.
  • A dashboard login. There is no account.

Pricing

$49 once

One leak report. Not per seat. Not per client. Not a subscription.

A PSA quotes you per user per month and a migration project. This is $49 and a Tuesday morning.

Questions

CSV or Excel. File 1: Pax8 or Microsoft 365 export — client, SKU, seats. File 2: invoices you are about to send — client, item, quantity, amount.

Every month you wait is another month of seats you're not billing.

Pay $49. Match this month's two bills. Don't send the wrong invoice.