# Design an e-commerce returns system: system design interview question

> Partial returns, uncertain external results, and limited replacement stock complicate item eligibility and correct order and inventory updates.

Source: https://sysround.com/questions/design-e-commerce-returns-system
Updated: 2026-11-05


Difficulty: hard. Levels: Senior, Staff+.

## How the interviewer opens it

"Design a service for customer returns and exchanges. Cover return eligibility, return shipments, and inspections. The service must keep order and inventory records correct when requests repeat."

## What to clarify first

- Scale
- Read and write traffic
- Eligibility
- Return process
- Exchange rules
- Existing services
- Consistency and availability
- Latency
- Durability and retention
- Scope limits

## Scope of a strong answer

Core requirements:

- Check eligibility and create returns for some or all delivered items
- Track return shipments and inspection results for each item
- Issue refunds or exchanges after inspection approval
- Update orders and inventory without duplicate effects

Usually out of scope:

- Build the order, inventory, fulfillment, carrier, or payment services
- Support price differences or international customs
- Detect fraud or manage manual appeals
- Build tools that define return policies

## What interviewers probe

### Return eligibility

Several requests can claim the same purchased quantity. A correct eligibility response does not guarantee that a later request remains valid.

### Shipment and inspection progress

A shipment can contain several items with different outcomes. Carrier delivery does not prove that the warehouse received or approved each item.

### Exchanges and replacement stock

Replacement stock can disappear during return transit. Inventory and fulfillment can disagree while a call outcome remains unknown.

### Refunds and order updates

A refund can succeed while the local record remains incomplete. Repeated recovery attempts must not create extra money or quantity changes.

## Common mistakes

- The design uses one return status for several independent item decisions.
- The service trusts an earlier eligibility check during a later create request.
- The service deduplicates callbacks but does not enforce business limits on refunds, replacements, and stock movements.
- The service treats carrier delivery as inspection approval.
- The service treats an external timeout as a confirmed failure.
- The design requires a global transaction across orders, inventory, fulfillment, and payments.

## The bar by level

- **Senior:** Defines atomic quantity claims and item state transitions. Handles repeated events, uncertain refunds, stock reservations, and durable retries. Explains recovery across service failures.
- **Staff+:** Defines ownership and correctness rules across services. Tests failure gaps between external effects and local commits. Defines reconciliation and safe rules for a different resolution. Addresses retention and regional ownership without unnecessary services.

Practice this question with an AI interviewer: https://sysround.com/practice/new?problem=returns-and-exchanges


---
SysRound (https://sysround.com) is an AI practice tool for system design interviews. It has a voice or typed AI interviewer and a shared whiteboard. At the end, you get feedback on each skill and a model answer. The AI feedback can be wrong.
