Refund Handling

Overview

When a product or service is purchased from a company by a user, there can be cases where a refund is made, whether fully or partially. Journal entries are needed to mark the transfer of cash flow in the appropriate accounts.

Configuration

Required parameters

FieldsDescription
refund_datethe calendar date of when the refund transaction
refund_amountamount of the refund transaction

Required accounts

AccountDescription
revenue_accountasset account representing revenue. e.g. "Revenue"
cash_accountcash or cash equivalent account, e.g. "Cash", "Account Receivable"

Optional parameters & accounts

FieldsDescription
service_start_datethe calendar date of when the subscription period begins. The date is included in the subscription period.
service_end_datethe calendar date of when the subscription period ends. The date is included in the subscription period.
deferred_revenue_accountliability account represent the deferred revenue. e.g. "Deferred Revenue".

Walkthrough 1: Standalone Refund

For example, let's say John purchases a DLC pack for his favorite Playstation game. He pays $70 via his credit card on 01/01/2022. But later the same day, he wants to refund the DLC pack because he changed his mind.

Event 1: Payment is Made

When the payment is made on the same day, the Revenue account is credited the full amount of the purchase, and the asset account for cash is debited.

DateAccountDebit AmountCredit Amount
01/01/2022Cash$70
Revenue$70

Event 2: Refund is Made

When an exact refund is made on refund_date (the same day of the payment), credit the amount from the cash account, and debit the respective value that is recognized.

DateAccountDebit AmountCredit Amount
01/01/2022Revenue$70
Cash$70

Walkthrough 2: Subscription Refund

For example, let's say John buys a $31 subscription for a premium version of Netflix for the month of January. But midway through the subscription, he changes his mind and would like to be refunded the money.

Event 1: Payment is Made

When the subscription is bought by the user, the following journal entry is made on the date of the invoice issued, Jan 1st.

DateAccountDebit AmountCredit Amount
01/01/2022Accounts Receivable$31
Deferred Revenue$31

When the payment is made on the same day, there is no more collection needed so the Accounts Receivable account is credited the full amount of the purchase, and the asset account for cash is debited.

DateAccountDebit AmountCredit Amount
01/01/2022Cash$31
Accounts Receivable$31

📘

Daily Amount

The daily amount is calculated by $31 / (number of days between 01/01/2022 and 01/31/2022) = $1

Besides, a series of amortization journal entries will be created to recognize revenue on a daily basis. The amortization journal entries cover the subscription cycle from Jan 1st (service_start_date) to Jan 31st (service_end_date).

DateAccountDebit AmountCredit Amount
01/01/2022Deferred Revenue1
Revenue1
01/02/2022Deferred Revenue1
Revenue1
...
01/31/2022Deferred Revenue1
Revenue1

Event 2: Refund is issued

Let's say a refund, for the full amount of the subscription, is made on the 15th of January.

On the date of the refund issued (refund_date), Jan 15th, an immediate Journal Entry is made to take out the refund_amount from the Cash account.

DateAccountDebit AmountCredit Amount
01/15/2022Revenue$31
Cash$31

Specifically, the remaining balance of deferred revenue as of Jan 15th (on refund_date) is recognized immediately as revenue.

DateAccountDebit AmountCredit Amount
01/15/2022Deferred Revenue$16
Revenue$16

📘

The remaining balance of deferred revenue is calculated by summing up all journal entries on and after Jan 15th (refund_date). Specifically,

  • balance = $31.00 (cr on 1/31) - $31.00 (dr on 1/31) - $1.00 (dr on 1/30) - ... - $1.00 (dr on 1/15) = $16

The future recognition schedule post-Jan 15th (on refund_date) is canceled out by creating a series of reversal daily journal entries.

DateAccountDebit AmountCredit Amount
01/01/2022Revenue1
Deferred Revenue1
01/02/2022Revenue1
Deferred Revenue1
...
01/31/2022Revenue1
Deferred Revenue1