Chuyển tới nội dung chính

Quản Lý Trả Hàng & Hoàn Tiền (Returns & Refunds)

Sứ Mệnh Của Bài Học

Bài toán của Vicore F&B (TP-LEMON):
Khách hàng đặt mua 2 chai Nước ép TP-LEMON 500ml và đã nhận hàng. Sau khi nhận, khách phản ánh 1 chai bị móp méo trong quá trình vận chuyển và yêu cầu trả lại chai đó để lấy lại tiền. Nhân viên CSKH cần thực hiện quy trình nhận lại hàng, tính toán số tiền cần hoàn (chỉ hoàn 1 chai, trừ đi phí ship), và làm thủ tục gửi tiền lại qua thẻ tín dụng của khách.

Giải pháp:
Medusa cung cấp luồng Returns (Trả hàng) tích hợp chặt chẽ với Refunds (Hoàn tiền). Thay vì hủy cả đơn hàng, hệ thống cho phép xử lý một phần của đơn hàng một cách chính xác.

1. Lý Do Trả Hàng (Return Reasons)

Để hệ thống hóa dữ liệu và cải thiện chất lượng sản phẩm, Admin có thể tạo sẵn các danh mục Lý do trả hàng (Return Reasons) trên hệ thống:

  • DAMAGED: Hàng hóa bị hỏng/móp méo.
  • WRONG_ITEM: Giao sai sản phẩm.
  • EXPIRED: Sản phẩm cận date/hết hạn.

Khi khách hàng yêu cầu trả hàng, họ (hoặc nhân viên CSKH) bắt buộc phải chọn một trong các lý do này. Việc này giúp công ty xuất báo cáo nguyên nhân trả hàng vào cuối tháng.

2. Quy Trình Xử Lý Trả Hàng (Return Flow)

Medusa tách quy trình trả hàng thành các bước rõ ràng nhằm kiểm soát thất thoát tài sản.

Bước 1: Yêu cầu Trả hàng (Request Return)

Khách hàng chọn 1 chai TP-LEMON 500ml cần trả và lý do DAMAGED. Hệ thống sẽ tạo ra một trạng thái Return Requested. Lúc này, hệ thống chờ khách mang hàng ra bưu điện gửi về kho. Bạn có thể gửi kèm một Return Shipping Label (Mã vận đơn trả hàng) qua email cho khách.

Bước 2: Nhận hàng (Receive Return)

Khi hàng được gửi về đến kho của Vicore:

  1. Nhân viên kho mở hộp, kiểm tra xem chai nước có đúng là bị móp méo hay không.
  2. Nếu đúng, nhân viên lên hệ thống bấm Receive Return.
  3. Hệ thống sẽ cộng lại 1 chai vào Tồn kho (Inventory). Tuy nhiên, vì hàng bị hỏng, nhân viên thường chọn đưa vào một Location riêng biệt (Ví dụ: Kho Hàng Lỗi) thay vì đưa lại vào Kho Bán Hàng.

Bước 3: Hoàn tiền (Refund)

Khi hệ thống xác nhận đã Receive Return thành công, nó sẽ tự động tính toán số tiền cần hoàn lại cho khách hàng (Dựa trên giá của 1 chai nước, khấu trừ các mã giảm giá nếu có).

Lúc này, Admin có hai lựa chọn hoàn tiền:

  • Hoàn tiền trực tiếp (Direct Refund): Hệ thống gọi API sang cổng thanh toán (Stripe/VNPay) để bắn ngược tiền về đúng số thẻ/tài khoản khách đã dùng để mua.
  • Hoàn tiền thủ công (Manual Refund): Kế toán chuyển khoản tay cho khách, sau đó Admin lên hệ thống bấm xác nhận "Đã hoàn tiền" để đóng hồ sơ.

3. Tổng Kết

  • Sử dụng Return Reasons để phân tích nguyên nhân lỗi sản phẩm hoặc lỗi vận hành.
  • Tuân thủ nghiêm ngặt quy trình Request -> Receive -> Refund để đảm bảo không bị mất tiền (Refund) khi chưa nắm lại được hàng hóa vật lý (Receive) trong kho.