Subscription Pause

Overview

Subscription pause is a transaction scenario where the products or services provided as parts of a subscription are suspended for a period of time. Unlike subscription cancellation or refund, the suspension of products or services in subscription pause is temporary and expected to be resumed in near future. Upon resume, the end date of the subscription period is often updated to extend the products & services that the customer has already paid for.

According to accounting principles, revenue recognition has to stop when products and services are suspended, and it should continue proportionally once the products and services are resumed.

Configuration

Required parameters

FieldsDescription
datecalendar date of when the subscription item is invoiced
amountfull amount of the subscription item to be amortized
start_datecalendar date of when the amortization period starts. This date is included in amortization period.
end_datecalendar date of when the amortization period originally ends prior to the pause. This date is included in amortization period.
pause_start_datecalendar date of when the subscription pause starts. This date is NOT included in pause period. (i.e. revenue will be recognized on this date)
pause_end_datecalendar date of when the subscription pause ends. This date is NOT included in pause period. (i.e. revenue will be recognized on this date)
updated_end_datecalendar date of when the amortization period ends after resuming from the pause. This date is included in amortization period.

Required accounts

AccountsDescription
ar_accountaccount for Account Receivable
deferred_revenue_accountaccount for Deferred Revenue
revenue_accountaccount for Recognized Revenue

Walkthrough

Event 1: subscription is invoiced

Assume an annual subscription item with amount = $365 is invoiced on date = 01/01/2022. The subscription period is from start_date = 01/01/2022 to end_date = 12/31/2022.

On the issuance date 01/01/2022, the following journal entry will be created to book the full amount.

DateAccountDRCR
1/1/2022ar_account365
deferred_revenue_account365

In addition, a series of daily journal entries (i.e. one journal entry per day) will be created to recognized revenue between start_date = 01/01/2022 and end_date = 12/31/2022. The daily journal entry amount is calculated as total amount divided by number of days in subscription period (i.e. 365 days in this example). For detailed rounding logics, refer to Linear Amortization (Time-Based).

This series of daily journal entries represents the future revenue recognition schedule. Accumulatively, revenue of 31 will be recognized in January, 28 in February, 31 in March, etc.

DateAccountDRCR
01/01/2022deferred_revenue_account1
revenue_account1
01/02/2022deferred_revenue_account1
revenue_account1
...
12/31/2022deferred_revenue_account1
revenue_account1

Event 2: subscription is paused

Assume the subscription is pause on pause_start_date = 1/31/2022. Upon the pause, a new series of journal entries will be created to counter balance all future revenue recognition schedules. As a result, no revenue will be recognized after the pause_start_date (i.e. No recognition on and after 2/1/2022).

DateAccountDRCR
02/01/2022revenue_account1
deferred_revenue_account1
02/02/2022revenue_account1
deferred_revenue_account1
...
12/31/2022revenue_account1
deferred_revenue_account1

The revenue recognition will stay paused indefinitely until a pause_end_date is set. At this point, $31 has been recognized in revenue _account and $365 - $31 = $334 remains in deferred_revenue_account.

Event 3: subscription is resumed

Assume the subscription is paused for 1 month and resumed on pause_end_date = 3/1/2022. The updated subscription end date is updated_end_date = 1/31/2023.

Upon the resumption, a third series of journal entries will be created to amortize the remaining balance of deferred_revenue_account (i.e. $334 in this example) between pause_end_date = 3/1/2022 and updated_end_date = 1/31/2023 (i.e. 337 days).

DateAccountDRCR
03/01/2022deferred_revenue_account0.99
revenue_account0.99
03/01/2022deferred_revenue_account0.99
revenue_account0.99
...
01/31/2023deferred_revenue_account0.99
revenue_account0.99

📘

The daily amount is calculated by $334 / 337 days = $0.99
Read here about the rounding treatment for sub-cent amounts.

Multiple Pauses

Leapfin also supports multiple pauses on the same subscription. In such cases, each pause should contain following information. In addition, pause periods should not overlap with each other.

FieldsDescription
pause_start_datecalendar date of when the subscription pause starts. This date is NOT included in pause period. (i.e. revenue will be recognized on this date)
pause_end_datecalendar date of when the subscription pause ends. This date is NOT included in pause period. (i.e. revenue will be recognized on this date)
updated_end_datecalendar date of when the amortization period ends after resuming from the pause. This date is included in amortization period.
pause_unique_idunique identify for the pause. When there are multiple pauses, a unique id is required to distinguish between a new pause and updates on an existing pause.

When handling multiple pauses, Leapfin will follow the logics below:

  • Upon pause_start_date, all revenue recognition schedule in future (i.e. after pause_start_date) will be counter balanced.
  • Upon pause_end_date, the remaining balance of deferred_revenue_account will be amortized linearly between pause_end_date and updated_end_date.