NashTech Blog

Refunds 101: How an E-commerce System Calculates the Refund Amount

Table of Contents
Woman using smartphone for online shopping with credit card in hand, festive background lighting.
Refund money

In the world of e-commerce, whether it’s platforms like Shopee, Lazada, Amazon, or any rapidly growing marketplace, the checkout process often takes center stage. However, an equally critical and sensitive component is the refund process.

As an intermediary between customers and sellers, an e-commerce platform must ensure fairness. It needs to maintain customer satisfaction by offering timely and transparent refunds while simultaneously protecting sellers from potential misuse of refund policies.

This blog is the first in a series that explores the refund process from a Business Analyst’s (BA) perspective. In this entry, we focus on the foundational question: How does an e-commerce system calculate the refund amount?

1. Understanding Refund Types

Each order may consist of multiple products, and customers may initiate one of the following:

  • Full Refund – Return of the entire order.
  • Partial Refund – Return of one or more selected items from the order.

For this discussion, we will assume the refund request is valid, meaning it meets policy criteria (e.g., the item is not in a non-returnable category, or the order is not a “zero-value” promotional order).

2. It’s Not Just the Price – Discounts Complicate Calculations For Refund

A straightforward assumption might be: “Just refund the amount the customer paid for the product.” However, the presence of multiple types of discounts complicates this calculation. Most modern platforms are heavily driven by discount strategies, requiring systems to handle refund logic carefully.

Two Common Types of Discounts:

a. Product-level Discounts:

  • Applied directly to specific items
  • Examples include promotional markdowns during sales campaigns (e.g., Christmas, flash sales)
  • May also include product-specific shipping discounts

b. Order-level Discounts: Applied across the entire order

Examples include:

  • Spend over a threshold (e.g., $100) to receive $25 off
  • Platform-wide vouchers
  • Redeemed loyalty points (e.g., Shopee’s “Xu”)
  • Free shipping based on total order value

Additional Charges:

  • Some fees may be added to the order, such as:
  • Insurance (to cover risks during transit)

Special handling fees (e.g., for remote or island delivery)

3. Refund Calculation – An Example

Let’s use a simple example to break down the math.

🛒 Order Summary:

ProductOriginal PriceDiscountShipping Fee
A$10010%$1
B$200NoneFree
C$150NoneFree
  • Total before discounts: $450
  • Order-level discount (due to value over $400): $100
  • Shipping Fee: $10
  • Insurance Fee: $10
  • Total Paid by Customer: $370

Now, assume the customer wants to:

  • Return only Product A (partial refund), or
  • Request a full refund for the entire order.

But before calculating, some questions need to be clarified:

QuestionCommon Industry Practice (e.g., Shopee, Lazada)
Is the shipping fee refunded?It depends on whether the issue is the seller’s fault; the shipping fee will be refunded.
Is the insurance fee refunded?No – Paid to insurer to cover risk
Is the order discount revoked if the refund invalidates eligibility?Generally, No Refund is still allowed
Does the gift of a refund product need to be sent back to the shop, or does the customer need to pay a fee?Generally, yes, you need to refund the main product with its gift.
Are loyalty points or vouchers refunded or restored?No – Considered redeemed upon use
How is the order discount divided among products in partial refunds?Equally distributed by item count (some platforms use proportional allocation)

🧮 Refund Calculations

a. Partial Refund – Product A:

  • Original Price: $100
  • Product Discount: 10% → $10
  • Order Discount Allocation: $100 ÷ 3 = $33.33
  • Refund Amount = $100 – $10 – $33.33 = $56.67

b. Full Refund – Entire Order:

  • Total Paid: $370
  • Less: Shipping Fee ($10) and Insurance Fee ($10)
  • Refund Amount = $370 – $10 – $10 = $350

⚠️ Important Rule: The system must ensure the refund does not exceed the actual amount paid by the customer. Refunds are based on the paid value, not original prices, and fees not tied to specific products are typically non-refundable.

4. Key Takeaways for Business Analysts working in ecommerce

A BA plays a vital role in ensuring the refund process is well-defined and implemented correctly. Here’s a checklist of considerations for refund handling:

✅ System Design & Transparency

  • Track each pricing component independently:
    • Original product price
    • Product-level and order-level discounts
    • Shipping and insurance fees
    • Loyalty points or voucher use. This is very important to let the customer know that their coupon/voucher/points cannot be recovered.
    • Maintain a clear audit trail for Customer Service to validate refund amounts and minimize disputes.

✅ Prevent Refund Abuse

  • Enforce logic to prevent multiple refund requests on the same product.
  • Implement proper state transitions (e.g., requested → approved → refunded).

Picture of Hoang Phan Huy

Hoang Phan Huy

Leave a Comment

Suggested Article

Discover more from NashTech Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading