# Hướng dẫn sử dụng: Kiểm kê Kho hàng & Cân bằng tồn kho

Tính năng Kiểm kê Kho hàng giúp chủ cửa hàng và thủ kho đối soát số liệu hàng hóa thực tế tại quầy với số lượng tồn kho trên phần mềm, phát hiện chênh lệch thừa/thiếu và cập nhật lại số tồn kho chính xác chỉ với 1 click chuột.

---

## 1. Giới thiệu tổng quan

Hoạt động kiểm kho thường kỳ là bắt buộc để chống thất thoát hàng hóa. Tính năng **Kiểm kê Kho hàng** hỗ trợ:
* **Chốt tồn lý thuyết**: Tự động ghi nhận số lượng tồn kho của hệ thống tại thời điểm kiểm.
* **Tính toán chênh lệch thừa/thiếu**: Nhập số lượng thực tế đếm được, phần mềm tự tính chênh lệch về mặt số lượng (`diffQty`) và quy ra giá trị tiền thất thoát (`diffAmount`).
* **Cân bằng kho tự động (1-Click Balance)**: Tự động điều chỉnh số lượng tồn kho trên hệ thống khớp với số đếm thực tế khi phiếu kiểm được duyệt.

---

## 2. Giao diện và các chức năng chính

Màn hình kiểm kê kho gồm các cấu phần:
* **Bộ lọc danh sách phiếu**: Lọc các phiếu kiểm kho theo thời gian phát sinh, kho hàng kiểm, người lập phiếu, và trạng thái phiếu (Nháp hoặc Đã duyệt cân bằng).
* **Bảng chi tiết phiếu kiểm (InventoryAuditDetailModal)**:
  * **Tồn lý thuyết**: Số lượng tồn kho hệ thống ghi nhận trước khi kiểm.
  * **Tồn thực tế**: Số lượng do thủ kho đếm trực tiếp và nhập vào.
  * **Chênh lệch**: Được tính bằng công thức: `Tồn thực tế - Tồn lý thuyết`.
  * **Giá trị chênh lệch**: Được tính bằng công thức: `Chênh lệch * Giá vốn`.
* **Trạng thái phiếu**:
  * **Mới tạo (Draft)**: Đang trong quá trình đếm và nhập số liệu.
  * **Đã cân bằng (Balanced)**: Đã được phê duyệt, số liệu tồn kho thực tế đã được áp dụng vào hệ thống.

---

## 3. Quy trình thao tác chi tiết

### Bước 1: Tạo phiếu kiểm kho mới
1. Vào **Sản phẩm** $\rightarrow$ **Phiếu kiểm kho** $\rightarrow$ Chọn **Tạo phiếu kiểm**.
2. Chọn **Kho hàng cần kiểm** và nhập **Ngày kiểm kho**, cùng ghi chú (nếu có).
3. Bấm **Xác nhận**. Phần mềm sẽ tự động chốt số lượng tồn lý thuyết của toàn bộ sản phẩm và biến thể trong kho đã chọn tại thời điểm đó.

### Bước 2: Nhập số lượng đếm thực tế
1. Trong bảng danh sách sản phẩm cần kiểm, di chuyển đến từng sản phẩm.
2. Tiến hành đếm hàng thực tế tại kệ và nhập số liệu vào cột **Tồn thực tế**.
3. Hệ thống sẽ tự động hiển thị số lượng chênh lệch (ví dụ: `-2` nếu thiếu, `+1` nếu thừa) kèm theo giá trị tiền chênh lệch tương ứng bằng màu sắc trực quan (màu đỏ cho chênh lệch âm, xanh cho chênh lệch dương).

### Bước 3: Lưu nháp và rà soát chênh lệch
* Nếu chưa đếm xong hoặc cần đối soát lại những mặt hàng bị lệch lớn, bấm **Lưu nháp**. Phiếu kiểm sẽ được lưu lại dưới dạng Draft để bạn có thể tiếp tục cập nhật sau.

### Bước 4: Duyệt phiếu & Cân bằng tồn kho
1. Sau khi đã kiểm tra kỹ số liệu và chắc chắn về kết quả kiểm đếm, bấm nút **Duyệt & Cân bằng kho**.
2. Một hộp thoại xác nhận sẽ hiện ra cảnh báo rằng thao tác này sẽ thay đổi số lượng tồn kho trên hệ thống. Bấm **Đồng ý**.
3. Hệ thống sẽ:
   * Cập nhật số lượng tồn kho của toàn bộ sản phẩm trong kho về đúng số lượng **Tồn thực tế**.
   * Đổi trạng thái phiếu kiểm thành **Đã cân bằng (Balanced)**.
   * Ghi nhận lịch sử giao dịch thẻ kho loại `CHECK` cho từng sản phẩm bị chênh lệch để dễ dàng đối soát.

---

## 4. Các lưu ý quan trọng & Quy tắc nghiệp vụ

> [!CAUTION]
> **Thao tác không thể hoàn tác**:
> * Khi đã bấm **Duyệt & Cân bằng kho**, số lượng tồn kho trên hệ thống sẽ bị ghi đè vĩnh viễn bằng số liệu tồn thực tế. Bạn không thể chuyển phiếu kiểm về trạng thái Nháp hay sửa đổi số liệu được nữa.
> * Khuyến cáo nên thực hiện kiểm kho vào thời điểm cửa hàng tạm dừng bán hàng (ví dụ: cuối ngày hoặc đầu giờ sáng trước khi mở cửa) để tránh việc số lượng tồn lý thuyết biến động liên tục do phát sinh đơn bán hàng trong lúc kiểm.

> [!NOTE]
> **Xử lý chênh lệch trong báo cáo tài chính**:
> * Tổng giá trị chênh lệch thiếu (mất mát hàng hóa) sẽ được ghi nhận vào chi phí hao hụt của cửa hàng.
> * Tổng giá trị chênh lệch thừa sẽ được cộng vào giá trị tài sản kho hàng của doanh nghiệp.
