MSP Margin Get the Monday Close
Two people reviewing printed figures next to laptops

Prepaid hours are a liability first

Cash from hour blocks and annual agreements paid upfront is owed work until you deliver it, and the books should show it that way month by month.

Revenue
Guide
4 min read
By MSP Margin Editorial

A client pays $24,000 on January 2 for a year of managed services. The bank balance jumps, and it is tempting to call January a record month. On an accrual basis, it isn't. That cash comes with an obligation attached: twelve months of support you still have to deliver.

This is deferred revenue, and for MSPs that sell prepaid hour blocks or annual agreements paid upfront, it is one of the most common places where the books drift away from reality.

The cash arrives before the revenue does

Under ASC 606, the revenue standard U.S. GAAP follows, revenue is recognized when you satisfy a performance obligation, meaning when you actually deliver what the customer paid for. Getting paid is a separate event.

So when cash comes in for work you haven't done, it goes on the balance sheet as a liability, usually called deferred revenue or a contract liability. As you deliver, you move it from the liability to revenue.

How you move it depends on what you sold:

  • An annual managed services agreement is generally a promise to stand ready and support the client all year. That kind of obligation is usually satisfied evenly over time, so the payment is recognized in equal monthly amounts.
  • A prepaid hour block is a promise to deliver a specific quantity of labor. It is usually recognized as hours are used, because each hour delivered is the measure of progress.

If you keep your books on a cash basis, which some smaller MSPs do for internal purposes, none of this shows up. But the moment a lender, buyer or auditor asks for accrual-basis financials, every prepaid dollar needs to be sorted into earned and unearned.

A worked example with a block of hours

Take an illustrative client that pays $6,000 on January 1 for a 50-hour block at $120 per hour, with unused hours expiring December 31. When the payment lands, you debit cash and credit deferred revenue for $6,000. No revenue yet.

Here is the first quarter, assuming the client uses 10, 8 and 12 hours:

Month Hours used Revenue recognized Deferred balance at month-end
January 10 $1,200 $4,800
February 8 $960 $3,840
March 12 $1,440 $2,400

By March 31 the client has used 30 hours, you have recognized $3,600, and $2,400 sits on the balance sheet representing the 20 hours you still owe. Each month the entry is a debit to deferred revenue and a credit to revenue for hours used times $120.

The annual agreement works the same way, just on a calendar instead of a timesheet. The $24,000 from the opening paragraph becomes $2,000 of revenue each month, and the deferred balance falls by $2,000 until it reaches zero in December.

The practical requirement is that your PSA hours and your general ledger agree. If technicians log time against the block in ConnectWise PSA, Autotask or HaloPSA but nobody books the monthly entry in QuickBooks Online or your accounting system, the balance sheet will show the whole $6,000 owed long after most of it has been worked off.

What happens to hours nobody uses

Some clients never use their full block. The unused portion is called breakage, and ASC 606 has specific guidance for it.

If you have enough reliable history to expect a certain amount of breakage, you can recognize it gradually, in proportion to the hours the client does use. Say your history for blocks like this one supports expecting 10 of the 50 hours to go unused. You would spread the $6,000 over the 40 hours you expect to deliver, which is $150 per hour used. The 30 hours in the first quarter would then produce $4,500 of revenue instead of $3,600.

That estimate has to be grounded in real data and should be conservative, because the standard does not want you recognizing revenue you may later have to reverse. If you don't have that history, you wait. The remaining balance is recognized when the likelihood that the client will use the hours becomes remote, which in many cases means when the block expires under the contract terms.

Two practical cautions. First, the contract language matters. If your agreement lets hours roll over, or if you routinely extend expired blocks as a courtesy, your expected breakage is lower than the contract alone suggests. Second, some states have unclaimed property rules that can apply to unused prepaid balances in certain situations. Whether they reach your blocks depends on the facts, so it is worth asking before you assume expired hours are simply yours.

Why it matters beyond compliance

A large deferred balance means you have cash in the bank that is already spoken for in future labor. If you spend it as if it were profit, you can end up delivering hours later with no matching cash coming in. Watching the deferred balance alongside your cash balance gives a more honest picture of what you can afford.

This is general information about how deferred revenue usually works for prepaid services. The right treatment for your agreements, especially around breakage and expirations, depends on your contract terms and history, so walk through it with your CPA before changing how you book it.