Microsoft invoice check

Reconcile your Microsoft 365 invoice against every tenant.

Import your Pax8, TD SYNNEX, Giacom or Microsoft invoice as CSV or Excel and see, tenant by tenant, where billing and reality disagree.

/growth/invoice-checkDemo data
The Microsoft invoice check: seats paid for but not used, and each tenant’s licences compared with the invoiceThe Microsoft invoice check: seats paid for but not used, and each tenant’s licences compared with the invoice
A detail of the screen, at actual size. The job, step by step: Export the invoice · Import it · Work the list. Demo data: made-up tenants, nothing is changed.

Why this is hard today

Distributor invoices and tenants drift apart: a reduction that never reached the distributor, seats bought and never assigned, licences a client holds that you are not billing on. Matching an invoice to every tenant by hand is slow, so it rarely gets done.

How ConfigCheckup solves it

  • Billed, not held

    More seats on the invoice than the tenant has: a reduction or cancellation that never reached your distributor.
  • Billed, not assigned

    Seats bought and paid for that nobody has been given.
  • Not on the invoice

    Paid seats a tenant holds that your invoice does not include: bought elsewhere, or not billed on.
  • Trials

    Trials that will end or convert, with the date.
The invoice check, in the product 
  1. Export the invoice

    Any CSV or Excel file with customer, product and quantity. Columns are recognised by name.

  2. Import it

    Customers are matched to tenants by name or domain, and products to licences. Match anything else once; it is remembered.

  3. Work the list

    The biggest gaps first, each with what it costs a month.

/homeDemo data

0:00 / 0:42
  1. 01HomeStart from Home
  2. 02Invoice checkLicences › Invoice check
  3. 03Match a lineThe figures recompute
  4. 04Woodgrove’s licencesTenants › Woodgrove Financial › Users & mail › Licences
  5. 05The accountsThe ten accounts behind it, unused for 90 days
  6. 06ReclaimReclaim runs as an approved change you can roll back. The demo can’t reach Microsoft, so the film stops here.

Find unused licences and check the invoice · 0:42

Demo data: made-up tenants, nothing is changed.

Find unused licences and check the invoice, from Home to done · 0:42. Demo data: made-up tenants, nothing is changed.

Where the invoice and the tenants disagree

/growth/invoice-checkDemo workspace
The invoice check: the gaps between the invoice and the tenants, biggest first, each with its monthly costThe invoice check: the gaps between the invoice and the tenants, biggest first, each with its monthly cost

The Microsoft invoice check on the demo workspace: seats paid for and not used, and each tenant’s licences against the invoice. Demo workspace.

Check it yourself.

  • It works from a CSV or Excel export, so it works with any distributor and nothing is shared with them.
  • Each invoice line is matched to a tenant and a licence; anything it cannot match is shown for you to match once, and remembered.
  • Tenant figures come from each tenant’s latest assessment, read from Microsoft 365.
  • Non-Microsoft products on the invoice are left unmatched, not forced into a match.
  • What you charge clients, exported from ConnectWise, Autotask or Halo, is set beside it: seats you charge for that a tenant no longer holds, and seats it holds that you do not charge for.

What it can’t see

Said plainly, so you know what you are buying.

  • It compares one invoice at a time, the latest you import.
  • Monthly amounts use the invoice’s unit price when it has one, otherwise your own prices.
  • Non-Microsoft products on the invoice, such as backup or security tools, are left unmatched.

It reads settings and activity records, never content, with permissions your tenant’s admin grants. Every permission and role, and why

Questions.

Does it connect to my distributor?

No. You import a CSV or Excel export, so it works with any distributor, and nothing is shared with them.

Where do the tenant figures come from?

Each tenant’s latest assessment: seats bought and assigned, read from Microsoft 365.

Does it check what I charge my clients?

Yes. Import what you charge from your PSA (ConnectWise agreement additions, Autotask contract services or Halo recurring invoices) and each tenant shows seats you charge for that it no longer holds, and seats it holds that you do not charge for, with the sum a month. Less-included seats and cancelled lines are left out. This check reads nothing from the PSA itself: you choose the file.

Plans: The invoice check on every plan; changing CSP seat counts in Partner Center with Automate.

What each plan includes 

ConfigCheckup

See it on your own tenants.

The findings and figures come from your tenant, not from averages.

14 days of daily monitoring and alerts, every finding with its fix guide, and reports on up to 3 tenants, from your first connected tenant. No card. Then choose the plan that fits.