> For the complete documentation index, see [llms.txt](https://docs.monpos.vn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.monpos.vn/ban-hang-and-doanh-thu/refund.md).

# Đổi trả hàng & Hoàn tiền

Hệ thống quản lý đổi trả hàng của Mon POS hỗ trợ quy trình nhận lại sản phẩm lỗi/không vừa ý từ khách hàng, tính toán số tiền cần hoàn trả và tự động đưa sản phẩm trở lại kho hàng một cách chính xác.

***

## 1. Giới thiệu tổng quan

Chính sách đổi trả tốt giúp tăng uy tín cho cửa hàng. Tính năng **Đổi trả hàng & Hoàn tiền** giúp bạn:

* **Trả hàng theo hóa đơn gốc**: Chọn hóa đơn đã bán trong quá khứ để trả hàng, tránh việc khách trả lại sản phẩm không mua tại shop.
* **Tự động tính số tiền hoàn trả**: Hệ thống tự động tính số tiền cần trả khách dựa trên đơn giá và chiết khấu thực tế của hóa đơn gốc.
* **Hoàn kho tự động**: Sản phẩm khách trả lại sẽ được tự động cộng ngược vào số lượng tồn kho.
* **Hạch toán dòng tiền**: Tự động sinh phiếu chi hoàn tiền hoặc cấn trừ nợ tương ứng trên hệ thống.

***

## 2. Giao diện và các chức năng chính

### A. Trang danh sách Phiếu trả hàng (RefundsPage)

* Hiển thị toàn bộ lịch sử trả hàng của khách hàng: Mã phiếu trả, Thời gian trả, Mã hóa đơn gốc liên kết, Tên khách hàng, Tổng tiền hoàn trả và nhân viên tiếp nhận.
* **Bộ lọc**: Lọc phiếu trả hàng theo khoảng thời gian phát sinh hoặc lọc theo từ khóa tìm kiếm (Tên khách hàng, Số điện thoại, Mã phiếu).

### B. Cửa sổ tạo Phiếu trả hàng (CreateRefundModal)

* **Chọn hóa đơn gốc**: Ô tìm kiếm giúp tìm kiếm các hóa đơn đã hoàn thành bằng cách nhập Mã hóa đơn hoặc Số điện thoại khách hàng.
* **Bảng chọn sản phẩm trả**:
  * Liệt kê toàn bộ các sản phẩm có trong hóa đơn gốc cùng số lượng khách đã mua.
  * Cho phép nhập **Số lượng trả** của từng món (số lượng trả không được lớn hơn số lượng đã mua).
* **Thiết lập hoàn tiền**:
  * **Hình thức hoàn trả**: Chọn hoàn tiền mặt, chuyển khoản hoặc cấn trừ vào công nợ hiện tại của khách hàng.
  * **Lý do trả hàng**: Ghi nhận lý do trả hàng (ví dụ: Hàng lỗi đường may, Khách đổi size...).

***

## 3. Quy trình thao tác chi tiết

### Các bước thực hiện trả hàng và hoàn tiền:

1. Vào **Bán ra** $\rightarrow$ **Trả hàng khách** $\rightarrow$ Chọn **Tạo phiếu trả hàng**.
2. Tìm kiếm và chọn **Hóa đơn gốc** mà khách hàng đã mua sản phẩm này.
3. Hệ thống sẽ load toàn bộ danh sách sản phẩm trong hóa đơn đó. Di chuyển tới sản phẩm khách muốn trả, nhập số lượng khách trả thực tế vào cột **Số lượng trả**.
4. Hệ thống sẽ tự động tính toán tổng số tiền cần hoàn lại cho khách.
5. Chọn **Hình thức hoàn trả**:
   * **Tiền mặt / Chuyển khoản**: Hệ thống sẽ chi trả trực tiếp cho khách.
   * **Cấn trừ công nợ**: Nếu khách hàng đang nợ cửa hàng, số tiền này sẽ tự động giảm trừ vào tổng số dư nợ của khách.
6. Nhập **Lý do trả hàng** và bấm **Xác nhận hoàn thành**.

***

## 4. Các lưu ý quan trọng & Quy tắc nghiệp vụ

> \[!IMPORTANT] **Quy tắc hoàn kho sản phẩm**:
>
> * Khi phiếu trả hàng được duyệt hoàn thành, hệ thống sẽ tự động cộng ngược số lượng sản phẩm khách trả lại vào tồn kho thực tế của chi nhánh kho đã xuất bán hóa đơn đó.
> * Một giao dịch thẻ kho loại `IN` (giao dịch Nhập kho do trả hàng) sẽ được ghi nhận tự động trong lịch sử kho hàng để thủ kho dễ dàng đối soát.

> \[!WARNING] **Ràng buộc số lượng trả hàng**:
>
> * Hệ thống **chặn không cho phép trả hàng vượt quá số lượng đã mua** trên hóa đơn gốc.
> * Một hóa đơn gốc có thể được trả hàng làm nhiều lần cho các sản phẩm khác nhau. Tuy nhiên, tổng số lượng sản phẩm của một mặt hàng được trả qua tất cả các đợt không được vượt quá số lượng đã ghi nhận trên hóa đơn gốc.

> \[!NOTE] **Tự động đồng bộ Sổ quỹ**:
>
> * Nếu chọn hình thức hoàn trả là Tiền mặt hoặc Chuyển khoản, hệ thống sẽ tự động sinh một phiếu chi có hạch toán kinh doanh trên Sổ quỹ để trừ tiền ra khỏi quỹ của cửa hàng.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.monpos.vn/ban-hang-and-doanh-thu/refund.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
