Checklist

MSP Billing Reconciliation Checklist: Capture Every Dollar

March 18, 2026 ยท 7 min read

๐Ÿ“ท Hero Image Placeholder

AI Prompt: Dark premium checklist or task board showing billing reconciliation steps being checked off, professional SaaS productivity tool aesthetic, dark background with green checkmarks and clean typography, fintech dashboard style, ultra-clean minimalist design

Replace with: reconciliation checklist visualization

A billing reconciliation that leaves steps out is a reconciliation that leaves money behind. This checklist covers every step from data collection through invoicing โ€” use it monthly to ensure nothing falls through the cracks.

Before You Start: Data Preparation

  • โ˜ Confirm both exports cover the same billing period (same start and end date)
  • โ˜ Export vendor billing from Microsoft Partner Center or your distributor (Pax8, Ingram) as CSV โ€” line-item level, not summary
  • โ˜ Export PSA billing report from ConnectWise, Autotask, or Kaseya โ€” include company name, product, quantity, and unit price
  • โ˜ Verify file sizes are reasonable (not empty, not truncated)
  • โ˜ Open both files and confirm column headers are present and correctly named
  • โ˜ Check for encoding issues (UTF-8 recommended โ€” watch for special characters in company names)

Normalization Checks

  • โ˜ Confirm client names use consistent formatting across both files (or verify your tool handles normalization)
  • โ˜ Confirm product/SKU names are mapped (Microsoft renames happen โ€” ensure your alias map is current)
  • โ˜ Remove or handle blank rows and null values in quantity fields
  • โ˜ Confirm currency consistency (CAD vs USD if applicable)

๐Ÿ“ท Inline Image Placeholder

AI Prompt: Side-by-side comparison of "before normalization" and "after normalization" in a data table, showing messy client names and SKUs on the left becoming clean standardized names on the right, dark SaaS dashboard style, professional data quality visualization

Replace with: data normalization before/after visualization

Matching Process

  • โ˜ Run exact match first โ€” record the count of exact matches
  • โ˜ Run fuzzy match on unmatched rows โ€” set threshold appropriate to your data quality (0.65โ€“0.75 similarity)
  • โ˜ Review all fuzzy matches with confidence scores below 0.75 manually before acting on them
  • โ˜ Identify unmatched vendor rows (no PSA counterpart) โ€” these are your highest-priority leakage candidates
  • โ˜ Identify orphaned PSA rows (billed in PSA with no vendor counterpart) โ€” these are potential overbilling risks

Discrepancy Review

  • โ˜ For each quantity mismatch: confirm whether delta reflects a legitimate seat change or an unbilled gap
  • โ˜ For each unmatched vendor row: confirm the client is active and the seat is in use โ€” if yes, it's unbilled
  • โ˜ For each orphaned PSA row: check whether the subscription was cancelled at the vendor level โ€” if yes, stop billing the client
  • โ˜ Document your decision for each flagged row (update, write off, investigate further)

PSA Update and Invoicing

  • โ˜ Update PSA agreement lines for each confirmed mismatch
  • โ˜ Generate supplemental invoices for underbilled amounts in the current billing cycle
  • โ˜ Issue credits for any confirmed overbilling
  • โ˜ Notify clients of any billing adjustments with clear supporting data
  • โ˜ File a note in your ticketing system for each correction with the reconciliation date and delta amount

Scheduling and Documentation

  • โ˜ Set a recurring calendar reminder for next month's reconciliation (last Friday of the month recommended)
  • โ˜ Archive both CSV exports with the reconciliation date in the filename
  • โ˜ Record your leakage ratio for this month (dollars recovered / total billing ร— 100%)
  • โ˜ Note any recurring issues for process improvement (specific clients or SKUs that frequently mismatch)

Frequently Asked Questions

What if my PSA doesn't export all the columns I need?
Check your PSA's reporting options โ€” most have customizable report builders. If a column is unavailable via report, check if an API export or custom query can fill the gap. For missing unit prices, you can add them manually from your price list.
How long should a complete reconciliation take?
With an automated tool and clean data: 15โ€“30 minutes for a mid-sized MSP. Manual spreadsheet reconciliation for the same dataset typically takes 3โ€“6 hours. The first run is always slower; subsequent months get faster as your data quality improves.
Who should own this process?
Designate a single owner โ€” typically a finance or operations manager. This person runs the reconciliation, coordinates with technical and account management teams on discrepancies, and maintains the monthly calendar. Single ownership prevents the task from falling between team roles.

See your actual numbers

Run the free sample audit โ€” no sign-in required.

Run free sample audit โ†’
MSP Billing Reconciliation Checklist | Leakage Finder | Leakage Finder