Cash Accounting Revenue Recognition for Subscription Businesses

Cash Accounting Revenue Recognition for Subscription Businesses

Cash accounting with the proper journal entries is a popular question from our customers at Leapfin who operate on subscription business models.


Erik Yao 20 Feb 2018

Cash accounting with the proper journal entries is a popular question from our customers at Leapfin who operate on subscription business models. Once revenue is properly recognized in your organization, building out the journal entries to your general ledger becomes fairly straightforward.

For simplicity purposes, let’s assume you collect payments for your subscriptions from an automated billing solution such as Stripe, and $10K worth of revenue was invoiced on 4/15/18:

4/15/18Accounts Receivable$10,000 
 Deferred Revenue $10,000

At the end of the month, let’s record the earned revenue:

4/30/18Deferred Revenue$5,000 
 Revenue $5,000

In addition, from a cash accounting perspective, let’s say you were able to collect $9,000 of the total amount invoiced by the end of the month:

 Accounts Receivable $9,000

In the world of automated billing solutions, there rarely are net-30, net-60, etc. terms, and payment is due immediately when invoiced. If the attempt on payment fails, there is usually a predetermined period of time to make subsequent attempts before giving up. This revenue is considered in-flight (or dunning) before we can write it off. We’ll assume we give any customer up to 30 days to make a successful payment.

Let’s handle this with one more journal entry to an AR contra account (allowance for doubtful accounts) since we can now estimate the amount of bad debt to arise:

4/30/18Bad Debt Expense$1,000 
 Allowance for doubtful accounts $1,000

On 5/31/18, you determine that $900 will never be paid, so you need to get rid of the invoices and draw down your balance for doubtful accounts:

5/31/18Allowance for doubtful accounts$900 
 Accounts Receivable $900

This is a basic example of revenue journal entries for a typical subscription business. However, in most subscription businesses using automated subscription payment systems, not all invoices are paid with cash due to these platforms holding credit balances for customers to pay with instead of refunding owed money. This poses an issue with reconciling your Accounts Receivable account with how much cash you actually receive on a month to month basis.

If you’re enjoying this post and would like to be informed when the next article is released, please subscribe here.

Journal Entries with AR and Customer Credit Balances

Let’s use a common hypothetical scenario where credits are given to your customers when they downgrade and switch subscription plans mid-cycle, and create journal entries for a customer that ends up paying subsequent invoices using credits carried forward by past balances.

On Jan 1, 2018, our customer pays $1200 for an annual subscription to your service. We can use the above journal entries to record this transaction. Let’s say on July 15th, 2018 the customer decides to downgrade their plan to a monthly plan at $120 per month instead. Instead of receiving a refund, your billing platform instead issues a credit for the unused time remaining on the subscription. For the purposes of simplifying the math, we will calculate based on a monthly basis, and say that the customer receives a credit of $550.

Let’s take a look at how this will impact your journal entries for July. The “credit note” itself needs to be deferred, so before we recognize it in your contra-revenue account, we need to debit deferred first:

7/15/18Deferred Revenue$550 
 Accounts Receivable $550

Then, we can do the standard JE for moving the monthly revenue into your deferred account:

7/15/18Accounts Receivable$120 
 Deferred Revenue $120

We then create our revenue recognition entries at the end of the month both for our credit (using a contra-revenue account called Credit Allowances) and our monthly earned revenue:

7/31/18Deferred Revenue$60 
 Revenue $60
7/31/18Credit Allowances$50 
 Deferred Revenue $50

With the revenue recognition JE’s complete, we now turn to cash accounting. At this point, your Accounts Receivable account has a credit balance. To balance, we will credit a liability account called Prepayment to track credits given out to customers.

7/31/18Accounts Receivable$430 
 Prepayment $430

That completes the end of July. When the end of August rolls around next month, another $120 has been charged to the customer from the monthly subscription. So we again create our standard AR entries for our month end close process:

8/31/18Accounts Receivable$120 
 Deferred Revenue $120
8/31/18Deferred Revenue$120 
 Revenue $120
8/31/18Credit Allowances$100 
 Deferred Revenue $100

Again, since the customer still has a credit balance to take from their previous credit given to them, no cash is received. We will instead take from the prepayments to clear out our Accounts Receivable account:

 Accounts Receivable $120

If necessary, the above JEs can then be improved by accounting for bad debt using the methods in the previous section.

The complexity level here is very high and prone to error attempting to calculate with spreadsheets. Contact us for a personal demo demonstrating how to automate this process.

Further reading on revenue recognition:


Erik Yao Founder & CTO of Leapfin. Previously VP of Operations @ Playforge. Founder & CTO of PlayHaven.

Automate your revenue data with the Leapfin Revenue Platform