Back to blog

The 90-Minute Revenue Verification Session Every Buyer Should Run Before Making an Offer

Indiemaker Team avatar Indiemaker Team 7 min read
The 90-Minute Revenue Verification Session Every Buyer Should Run Before Making an Offer

The MRR on a listing is almost never the number you are buying. Here is a focused 90-minute session that breaks revenue down by billing cycle, pulls it from the payment processor, and traces every recurring dollar to a live paying customer.

Most sub-$100k buyers "verify revenue" by glancing at a stated MRR figure and deciding it feels about right. That is not verification. That is trust dressed up as diligence, and it is where a good number of expensive mistakes begin.

The number printed on a listing is a summary. Someone chose it, rounded it, and framed it in the best available light. None of that makes the seller dishonest. It makes the number a starting hypothesis, not a fact you can price against. This piece is about the working session that turns the hypothesis into something you can actually offer on.

To be clear about scope: this is a focused 90-minute session, not a full audit. It will not replace proper legal and financial due diligence before close (see our guide to due diligence on sub-$500k digital businesses). It answers one question, fast: is the recurring revenue real, and how much of it is genuinely recurring?

Why the number on the listing is never the number you're buying

Stated MRR is a photograph of a moving thing. It captures a moment when annual plans, one-off deals, pending refunds and founder-serviced accounts were all sitting in the same bucket, and it presents the total as if every dollar behaves the same way next month. It does not.

This is a different job from two things you have probably already done. Reading the listing well is about interpreting what is written and what is left out (read a listing like an experienced buyer). The discovery call is the conversation where you ask the seller how the business actually works (the buyer discovery call for sub-$100k deals). Verification comes after both. You are seriously interested, you are heading towards an offer, and now you need to prove the money before you name a price.

The four ways stated MRR gets inflated (and how each hides)

Inflation here is rarely a lie. It is usually optimistic accounting that nobody corrected. Four patterns account for most of it.

Annual plans booked as monthly. A customer pays $600 once a year. Divide by twelve and you get $50 of "MRR", but that $50 is not collected monthly and it does not renew monthly. It renews once, on a date that may be ten months away. It hides because the dashboard smooths it into a flat monthly line and never shows you the lump.

Lifetime deals counted as recurring. A lifetime deal is a single payment for permanent access. It is real cash that already happened, and it is worth nothing as recurring revenue. It hides when old lifetime cohorts sit inside an "active subscribers" count, inflating both the customer number and, if someone assigned them a notional monthly value, the MRR.

Refund-pending charges still in the total. A charge can be captured, counted, and then reversed a week later. If the snapshot was taken before the reversal cleared, disputed and refund-pending charges are still padding the total. It hides because refunds lag the sale, so a fresh-looking month always overstates itself slightly.

Founder-dependent custom revenue. One or two large accounts that the founder personally services, onboards and supports. That revenue is real today and fragile tomorrow, because it is attached to a person who is leaving. It hides inside a blended MRR figure that treats a hand-held $200 custom account the same as a self-serve $20 subscription.

None of these are reasons to walk on their own. They are reasons to separate the dollars before you value them.

The 90-minute session, step by step

Block 90 uninterrupted minutes. You need read-only access to the payment processor, or an export the seller pulls while you watch. Do not accept a typed spreadsheet or a screenshot of a dashboard as your source of truth. A spreadsheet is the seller's interpretation; the processor export is the record. If the only evidence on offer is a hand-made summary, that is itself a finding. The same scepticism applies to third-party analytics (stop trusting analytics vendors in small deals).

Minutes 0 to 15, get the raw source. Pull the subscriptions or payments export straight from the payment processor (the actual CSV, not a curated report). Confirm the account name matches the business and the date range covers at least the trailing twelve months.

Minutes 15 to 40, break down by billing cycle. Split every active subscription into monthly, annual, and one-off or lifetime. Convert annual plans to a true monthly figure only for comparison, and keep them flagged. You now have three piles instead of one number. Most of the "surprise" in a deal lives in how big the annual and lifetime piles turn out to be.

Minutes 40 to 65, trace each recurring dollar to a live customer. Go line by line down the monthly and annual piles. For each one, confirm there is a real, active subscription on a known renewal date, not a cancelled plan still showing a stale amount, not a 100% coupon reducing the real collection to zero, not a card that has been failing for three cycles. A dollar you cannot attach to a named, paying, on-cycle customer is not verified revenue.

Minutes 65 to 85, check the churn behind it. A revenue figure with no churn context is half a picture. Pull cancellations and failed payments over the trailing period and work out roughly how much of the base is leaving each month. Rising churn under a flat headline MRR means new sales are papering over losses, and that gap decides what the revenue is worth.

Minutes 85 to 90, write the one-line verdict. State the verified recurring figure, the annual-versus-monthly split, and the churn rate. If you cannot state all three, you are not done.

A worked example: from $500 to $340

Here is an illustrative breakdown (figures for illustration, not a real listing).

Stated: $500 MRR.

  • $260 of genuine monthly subscriptions, each traced to an active customer on a monthly cycle. Verified.
  • $120 shown as "MRR" that is actually a single $960 annual plan, real but lumpy, renewing once in eight months. $80 of it belongs in the recurring base as a fair monthly equivalent; the framing overstated the smoothness.
  • $90 attributed to a lifetime deal sold eighteen months ago. It is a one-off that already happened and lapsed out of any support arrangement. $0 recurring.
  • $30 from a charge that was refund-pending when the snapshot was taken. $0 recurring.

After stripping the lapsed lifetime deal and re-basing the annual plan honestly, roughly $340 of the stated $500 is genuinely recurring. That is not a $500 business with a discount attached. It is a $340 business, and every honest valuation conversation starts from $340.

What "verified" actually means, and when to walk

Verified has a precise definition. You can trace each dollar of recurring revenue to a live, paying customer on a known billing cycle, and you know the churn behind the base. That is the whole bar. Anything short of it is a guess delivered with a confident tone.

Walk, or at least pause and re-price, when the processor access never appears, when the export cannot be reconciled to the stated figure, when a large slice turns out to be founder-serviced custom work that leaves with the founder, or when churn quietly outruns the headline. None of these has to kill a deal. Each one has to change the number. Overpaying because the story was tidy is the classic version of the winner's curse.

Turning verification into leverage

A clean, self-verifying revenue set is leverage for the seller too, and worth saying plainly. A seller whose numbers reconcile in 90 minutes gets buyers who offer with conviction. A seller whose numbers do not gets buyers who low-ball to price in the uncertainty they cannot resolve. The discount for a murky revenue set is not a punishment; it is the rational cost of the risk you are being asked to absorb blind.

For general context, small SaaS and digital businesses tend to trade around a low-single-digit multiple of annual trailing profit, and that multiple always sits on annual profit, never on a monthly figure (what actually sells, by project type). That is market context, not an Indiemaker quote. It matters here because the multiple only means anything once the underlying revenue is real. Verify $340 instead of assuming $500 and you are applying the multiple to a number you can defend.

One last point on structure. Doing this work lets you offer cleanly, and on Indiemaker deals settle by cash or wire only. There are no earn-outs, no seller financing and no deferred payments to hide a shaky revenue figure behind. That is exactly why the 90 minutes matter: when the money changes hands in full at close, the number you verified is the number you live with.

How can we help?