> 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/quan-ly-san-pham-and-kho/products.md).

# Danh mục Sản phẩm

Hệ thống quản lý sản phẩm của Mon POS giúp đơn giản hóa việc theo dõi hàng ngàn mặt hàng phức tạp có nhiều kích cỡ, màu sắc (biến thể), quy đổi đơn vị tính linh hoạt và quản lý các gói combo quà tặng/chế biến.

***

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

Tính năng **Quản lý Sản phẩm** hỗ trợ các nghiệp vụ:

* **Sản phẩm thường**: Mặt hàng đơn giản có mã vạch và đơn vị tính cố định.
* **Sản phẩm có biến thể**: Sản phẩm có các thuộc tính khác nhau (ví dụ: kích thước S/M/L, màu sắc Đỏ/Xanh). Hệ thống tự tạo mã SKU và barcode riêng cho từng biến thể.
* **Sản phẩm Combo**: Gói sản phẩm gồm nhiều thành phần (ví dụ: Giỏ quà Tết). Khi bán, hệ thống tự động trừ tồn kho của từng món nhỏ bên trong.
* **Đơn vị tính quy đổi**: Quản lý nhập/xuất theo nhiều đơn vị (Ví dụ: Nhập theo Thùng, Bán theo Lốc hoặc Chai) với tỷ lệ quy đổi tự động.

***

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

### A. Trang danh sách sản phẩm (ProductsPage)

* **Bộ lọc thông minh**: Lọc sản phẩm theo Nhóm hàng, Loại hàng (Thường, Biến thể, Combo), Trạng thái tồn kho (Hết hàng, Dưới định mức, Còn hàng), và Trạng thái kinh doanh.
* **Tìm kiếm nhanh**: Tìm kiếm theo tên sản phẩm, mã sản phẩm hoặc quét mã vạch trực tiếp.
* **Thao tác nhanh hàng loạt**: Chọn nhiều sản phẩm để in mã tem nhãn hàng loạt hoặc ngừng kinh doanh hàng loạt.
* **Xem nhanh (Quick View)**: Click vào sản phẩm để xem nhanh chi tiết hình ảnh, số lượng tồn kho thực tế ở từng chi nhánh kho mà không cần chuyển trang.

### B. Màn hình Thêm/Sửa sản phẩm (ProductFormPage)

* **Thông tin cơ bản**:
  * **Tên sản phẩm**: Tên hiển thị khi bán hàng và in hóa đơn.
  * **Mã sản phẩm / Barcode**: Mã định danh (hệ thống có thể tự động tạo nếu bỏ trống).
  * **Nhóm hàng**: Danh mục phân loại sản phẩm.
* **Thiết lập giá & tồn kho**:
  * **Giá vốn nhập chuẩn**: Giá nhập hàng dùng để tính lợi nhuận gộp.
  * **Giá bán lẻ đề xuất**: Giá bán mặc định tại quầy POS.
  * **Giá bán sỉ đề xuất**: Giá bán áp dụng khi chuyển sang chế độ Wholesale.
  * **Định mức tồn tối thiểu**: Hệ thống sẽ cảnh báo khi tồn kho thực tế giảm dưới mức này.
* **Thiết lập nâng cao**:
  * **Quản lý Đơn vị tính quy đổi**: Thêm các đơn vị quy đổi (Ví dụ: Thùng = 24 Chai) cùng giá bán riêng biệt cho từng đơn vị.
  * **Quản lý Biến thể**: Thêm các thuộc tính (Size, Màu sắc...) để hệ thống tự động sinh ra ma trận biến thể.
  * **Định lượng Combo**: Chọn các mặt hàng cấu thành gói combo và số lượng tương ứng.

***

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

### Chức năng 1: Tạo mới sản phẩm thường

1. Truy cập **Sản phẩm** $\rightarrow$ **Danh mục hàng hóa** $\rightarrow$ Chọn **Thêm mới**.
2. Nhập các thông tin cơ bản: Tên sản phẩm, Nhóm hàng, Giá vốn, Giá bán lẻ.
3. Chọn đơn vị tính mặc định (ví dụ: Cái, Chai, Bộ).
4. Bấm **Lưu lại** để hoàn tất.

### Chức năng 2: Tạo sản phẩm có nhiều Biến thể (Size, Màu sắc...)

1. Tại màn hình Thêm mới, chọn Loại sản phẩm là **Biến thể**.
2. Kéo xuống phần **Cấu hình thuộc tính**:
   * Nhập tên thuộc tính (ví dụ: `Kích thước`), nhập các giá trị ngăn cách bởi dấu phẩy (ví dụ: `S, M, L`).
   * Nhập thêm thuộc tính khác nếu cần (ví dụ: `Màu sắc`: `Đỏ, Xanh`).
3. Bấm **Tạo ma trận biến thể**. Hệ thống tự động liệt kê các dòng: `S - Đỏ`, `S - Xanh`, `M - Đỏ`...
4. Thiết lập giá bán và mã barcode riêng cho từng biến thể (nếu có sự khác biệt).
5. Bấm **Lưu lại**.

### Chức năng 3: Thiết lập Đơn vị quy đổi (Ví dụ: Chai $\leftrightarrow$ Thùng)

1. Trong màn hình Thêm/Sửa sản phẩm, chọn tab **Đơn vị quy đổi**.
2. Thêm đơn vị mới (ví dụ: `Thùng`).
3. Nhập **Giá trị quy đổi** (ví dụ: `24` - nghĩa là 1 Thùng bằng 24 Chai đơn vị gốc).
4. Nhập giá vốn nhập và giá bán sỉ/lẻ riêng cho đơn vị quy đổi này.
5. Bấm **Lưu lại**. Khi bán hàng tại quầy POS, bạn có thể chọn bán 1 Thùng hoặc 1 Chai, hệ thống sẽ tự động tính toán tồn kho gốc chính xác.

### Chức năng 4: Thiết lập sản phẩm Combo

1. Chọn Loại hàng hóa là **Combo**.
2. Tại bảng **Định lượng thành phần Combo**, bấm chọn các sản phẩm đơn lẻ cấu thành bên trong (ví dụ: 1 chai rượu vang, 1 hộp bánh, 1 hộp kẹo).
3. Nhập số lượng định lượng tương ứng của từng thành phần.
4. Giá bán của Combo có thể đặt tùy ý, hệ thống tự động hiển thị giá trị tổng giá vốn để gợi ý.
5. Bấm **Lưu lại**.

***

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

> \[!IMPORTANT] **Quy tắc trừ kho sản phẩm Combo**:
>
> * Sản phẩm Combo không có số lượng tồn kho độc lập. Tồn kho của Combo phụ thuộc hoàn toàn vào số lượng tồn kho khả dụng của các sản phẩm thành phần cấu thành bên trong.
> * Khi bán 1 Combo tại màn hình POS, hệ thống sẽ tự động trừ tồn kho của từng thành phần cấu thành tương ứng với số lượng định lượng đã thiết lập.

> \[!WARNING] **Sản phẩm thành phần ẩn (Component Only)**:
>
> * Những sản phẩm phụ chỉ dùng để làm nguyên liệu hoặc đóng gói vào Combo mà không bán lẻ ngoài thị trường nên được tích chọn **Chỉ dùng làm thành phần (Ẩn khỏi POS)**.
> * Lựa chọn này giúp làm gọn màn hình bán hàng và tránh việc nhân viên thu ngân chọn nhầm sản phẩm nguyên liệu.


---

# 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/quan-ly-san-pham-and-kho/products.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.
