AutoMaat
Knowledge base· Detection and control

How do you find errors in recurring revenue?

How to check subscriptions, maintenance contracts and licences every month for missing, wrong and runaway invoices, with a simple reconciliation.

Ricardo Mastenbroek7 min read
Lees dit artikel in het Nederlands

You find errors in recurring revenue by reconciling three lists every month: the active contracts or subscriptions with their agreed amounts, the recurring invoice lines your billing system has produced, and that month's changes (new customers, upgrades, downgrades, cancellations). Any customer who appears in one list and not in another, or with a different amount, is an error. Most errors arise from changes, so that is where you start.

Why is recurring revenue prone to errors?

Recurring revenue looks like the most reliable revenue there is. The contract is signed, the billing system sends the invoice automatically every month, the customer pays by direct debit. Nobody looks at it any more. That is exactly why errors go unnoticed for so long.

A recurring invoice is a copy of a setting that somebody once created. If that setting was wrong at the start, or was not updated after a change, the error repeats every month. An error on a one-off invoice costs money once. An error on a recurring invoice costs money until someone notices.

It applies to every company with recurring agreements: SaaS subscriptions, managed services, maintenance contracts, licences, rental, service contracts in building services, staffing on fixed monthly fees and standing orders in wholesale.

What are the most common errors in recurring revenue?

  1. Upgrade sold, invoice not changed. Sales sells a larger package and marks the deal as won in the CRM, but nobody updates the subscription in the billing system. The customer gets more and pays the old amount.
  2. Temporary discount with no end date. Three months of introductory discount stays in place for ever.
  3. Cancellation processed, but the wrong line stopped. A customer cancels one module and the whole subscription is ended.
  4. Contract renewed, billing not. The contract expired and was renewed in a conversation or by email, but the recurring invoice had already stopped on the end date.
  5. Contract expired, billing carries on. The reverse: you keep invoicing someone who has already cancelled. It looks favourable, but it leads to credit notes, annoyed customers and sometimes arrears you can no longer collect.
  6. Quantities that do not grow. Licences, users, devices or managed locations. The customer grows, the invoice stays at the starting quantity. For MSPs and SaaS companies this is the best-known form of SaaS billing leakage.
  7. Indexation not applied. The monthly fee is still at its starting level, while the contract provides for annual indexation.

Error 5 costs you no revenue in the short term, but it belongs in the same check. It erodes the customer's trust and pollutes your figures. The rest cost money directly. More on how these errors arise in revenue leakage from wrong subscriptions and revenue leakage from expired contracts.

How does the monthly reconciliation work?

At its core, a recurring revenue check is a reconciliation of the kind every finance team knows. You set the opening position, the movements and the closing position against each other.

Step 1: the bridge from last month to this month

Calculate your recurring revenue per month, usually as MRR or as the annual value of running contracts, and break the difference from last month down:

Component Amount
Recurring revenue last month A
+ new customers B
+ expansions C
minus contractions D
minus cancellations E
= expected recurring revenue this month A + B + C minus D minus E
Actually invoiced F
Difference F minus expected

If the difference is not zero, there is a change that never reached billing, or an invoice change without a matching change. You want to know about both.

Step 2: changes in the CRM against changes in billing

Take every deal won last month that concerns recurring revenue: new customers, upgrades, renewals. Look up each deal in the billing system. Is the new amount there, with the right start date? Do the same for cancellations and downgrades that came in through support or account management. This is in effect CRM-to-billing reconciliation applied to recurring revenue.

Step 3: a sample of the existing base

Changes catch new errors. Old errors sit in the existing base. Every month, take a sample of twenty customers and compare the contract with the invoice: amount, quantities, discount, end date, indexation. After a year you have checked 240 customers, and the patterns you find tell you where to look more widely.

Step 4: quantities against usage

Where the invoice depends on quantities, such as licences, users, devices or workstations, compare the invoiced quantities with the actual quantities from the management system. For MSPs and SaaS companies this is often the largest source of errors, and the only one you cannot see without a technical source.

Worked example

Worked example: suppose you have 250 customers with an average monthly fee of EUR 1,200, together EUR 300,000 MRR. One month's reconciliation shows a difference of EUR 4,800. On investigation:

  • Three upgrades were sold but not invoiced: together EUR 2,100 a month.
  • Four customers have more users than they are invoiced for: together EUR 1,500 a month.
  • One customer has cancelled but is still being invoiced: EUR 1,200 a month, which you have to credit.

The shortfall on your side is EUR 3,600 a month, or EUR 43,200 a year, from checking a single month. The errors that were already in the base before you started come on top of that.

This example says nothing about how large it is in your business. It does show how quickly a small monthly amount becomes an annual one.

Where do the errors arise?

Almost every error in recurring revenue arises at a handover:

  • From sales to billing. The deal is won, but the instruction to change billing goes by email, through a form or by word of mouth. Some of it never arrives.
  • From support to billing. The customer calls support to cancel a module or add a user. Support changes the product, but not the invoice.
  • From contract management to billing. The end date and the indexation are in the contract, not in the billing system.

The pattern is always the same: the department that agrees the change is not the department that invoices, and there is no check confirming that the change has arrived. A won deal without an updated subscription triggers no error message anywhere. The billing system does what it should, and so does the CRM. The difference sits between them.

The structural fix is to record changes in one place and let them flow into billing from there. Until that is the case, a monthly check is the only certainty. It is one of the checks in the wider approach to finding revenue leakage.

Checklist

  • Can you explain your recurring revenue each month with a bridge of changes?
  • Does every won upgrade in the CRM have a matching change in billing?
  • Are end dates and indexation recorded in the billing system, not only in the contract?
  • Are invoiced quantities regularly compared with actual usage?
  • Does every discount have an end date?
  • Is there an owner for the monthly reconciliation, and a date by which it must be done?

Frequently asked questions

How is this different from finding forgotten invoices?

A forgotten invoice is a one-off delivery that was never invoiced. An error in recurring revenue is an invoice that does go out every month, but with the wrong amount or for the wrong period. The checks overlap, but the source is different. See how to find forgotten invoices.

Do I need to do this every month?

The bridge and the check on changes, yes, because errors in recurring revenue repeat every month. The sample of the base can be quarterly if you have few changes.

My billing system has a subscription module. Is that not enough?

A subscription module reliably invoices whatever is in it. It does not check whether what is in it matches the contract and actual usage. That needs a comparison with another source.

What do I do about customers I have overcharged?

Credit them and tell them as soon as you find it. It costs you revenue in the short term, but a customer who discovers it themselves will trust your next invoice less.

Share this article
Knowledge base · Detection and control

More in this cluster

All 18 topics in this cluster

More from AutoMaat

Rather know what this costs you specifically?

The Revenue Audit puts a euro amount on where your revenue leaks.

Plan the Revenue Audit