Dispute Handling

Overview

Payment Service Providers, or PSP for short, help process transactions for businesses. They serve as as an intermediary between businesses and customers for payment-related tasks. Since payments are done online, customers or card issuers sometimes dispute their transactions, due to reasons such as fraudulent activities.

PSP will then withhold disputed funds from being paid out to the business. After an investigation period, the dispute will be declared as either "won" or "lost". "Won" means business will receive the transaction amount, while lost means the customer will receive the transaction amount.

During this process, multiple accounting journal entry will be created to represent the disputed transaction and its different stages.

Configuration

Required parameters

FieldsDescription
amountamount of the disputed item
initiated_datecalendar date of when the dispute is initiated by customer
resolved_datecalendar date of when the dispute is finally resolved, either with merchant "won" or "lost".

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 Dispute

On Nov 15th, John purchased a digital art and paid $100 via paypal. A few days later, John discovered similar art pieces freely available online and started to question the legitimacy of his purchase. On Dec 1st, he decided to initiate a dispute through his issuing bank.

Event 1: payment is made

When the payment is made on Nov 15th, the revenue should be recognized immediately.

DateAccountDebit AmountCredit Amount
11/15/2022Cash100
Revenue100

Event 2: dispute is initiated

When John initiated the dispute on Dec 15th (initiated_date), Paypal withdrew the payment amount from merchant's account. The revenue should be reverted.

DateAccountDebit AmountCredit Amount
12/01/2022Revenue100
Cash100

Event 3.1: dispute is lost

It took Paypal 20 days to investigate and resolve the dispute case. On Dec 20th (resolved_date), Paypal decided that this transaction was indeed fraudulent.

Since the payment amount had already been withdrawn when the dispute was initiated and would not be returned to the merchant. There is no additional journal entries.

Event 3.3: dispute is won

Alternatively, on Dec 20th (resolved_date), Paypal decided that John's claim was not well founded. The merchant should receive the payment amount back. The revenue reversion in Event 2 above should be cancelled.

DateAccountDebit AmountCredit Amount
12/20/2022Cash100
Revenue100

Walkthrough 2: Subscription Dispute

When looking at her bank statement on Dec 10, Lucy found a $100 charge that she didn't recognize. The charge happened 10 days ago. It was a payment for 100-day Netflix subscription. She immediately disputed the charge with her issuing bank.

Event 1: subscription is purchased

On Dec 1st, Lucy, with lack of awareness, purchased a 100-day subscription on Netflix. She was charge $100 on the same day. Upon purchase, the cash is received immediate by Netflix and revenue should be deferred.

DateAccountDebit AmountCredit Amount
12/01/2022Cash100
Deferred Revenue100

A series of daily journal entries should also be received to recognize revenue over the subscription period. service_start_date is Dec 1st. service_end_date is Mar 10th.

DateAccountDebit AmountCredit Amount
12/01/2022Deferred Revenue1
Revenue1
12/02/2022Deferred Revenue1
Revenue1
...
03/10/2023Deferred Revenue1
Revenue1

Event 2: dispute is initiated

On Dec 10 (initiated_date), when Lucy initiated the dispute, the payment processor withdrew the payment amount from Netflix's account. The revenue should be reverted.

DateAccountDebit AmountCredit Amount
12/10/2022Revenue100
Cash100

In addition, the recognition schedule of the original subscription item is adjusted.

🚧

Data Requirement for Subscription Adjustment

The recognition schedule adjustment explained below is applicable only if the issued credit specifies which original subscription is being cancelled. Sometimes, such link between applied credits and original subscription is not stored in data.

Specifically, the remaining balance of deferred revenue as of Dec 10th (initiated_date) is recognized immediately as revenue.

DateAccountDebit AmountCredit Amount
12/10/2022Deferred Revenue90
Revenue90

📘

The remaining balance of deferred revenue is calculated by summing up all journal entries on and prior to Dec 10th (initiated_date). Specifically,

  • balance = $100 (cr on 12/1) - $1 (dr on 12/1) - $1 (dr on 12/2) - ... - $1 (dr on 12/10) = $90

The future recognition schedule post Dec 10th (initiated_date) is cancelled out by creating a series of reversal daily journal entries.

DateAccountDebit AmountCredit Amount
12/11/2022Revenue1
Deferred Revenue1
12/12/2022Revenue1
Deferred Revenue1
...
03/10/2023Revenue1
Deferred Revenue1

Event 3.1: dispute is lost

It took 5 days for the payment processor to investigate and resolve the dispute case. On Dec 15th (resolved_date), the payment processor decided that this transaction was indeed fraudulent.

Since the payment amount had already been withdrawn when the dispute was initiated and would not be returned to Netflix. There is no additional journal entries.

Event 3.2: dispute is won

In an alternative situation, 5 days after dispute investigation, the payment processor concluded that the transaction was not fraudulent. The dispute was marked "won" for Netflix. In this case, all journal entries created in Event 2 should be reverted. The dispute should no net impact on the revenue stream.

The revenue reversion in Event 2 was cancelled.

DateAccountDebit AmountCredit Amount
12/15/2022Cash100
Revenue100

The acceleration of deferred revenue recognition in Event was also cancelled.

DateAccountDebit AmountCredit Amount
12/15/2022Revenue90
Deferred Revenue90

To restore the future recognition schedule, we first recognize a lump sum revenue for the dispute investigation period between Dec 10th (initiated_date) and Dec 15th (resolved_date), i.e. $5 = $1 (12/11) + $1 (12/12) + ... + $1 (12/15)

📘

During the dispute investigation period, revenue recognition stops though the subscription service continues. When dispute is resolved as merchant "won", the accumulated revenue of the gap period is recognized immediately.

DateAccountDebit AmountCredit Amount
12/15/2022Deferred Revenue5
Revenue5

We then restore the revenue recognition schedule from Dec 16 to Mar 10th (service_end_date)

DateAccountDebit AmountCredit Amount
12/16/2022Deferred Revenue1
Revenue1
...
03/10/2023Deferred Revenue1
Revenue1