﻿# Hướng dẫn: Kho & Định lượng nguyên liệu (Inventory & BOM)

Dành cho **Quản lý** và **Chủ** (Thu ngân bán hàng bình thường, kho tự trừ, nhưng không thấy chức năng Kho). Số liệu là số liệu quản lý nội bộ, **không phải sổ kế toán kho**, không dùng khai thuế.

## 1. Thiết lập ban đầu (làm một lần)
1. **Kho → Nguyên liệu mới:** tên, **đơn vị dùng nhỏ nhất** (g, ml, cái; số nguyên) và **ngưỡng tồn tối thiểu** (để trống nếu không cảnh báo). Đơn vị không đổi được sau khi tạo.
2. **Quy cách nhập** (menu `⋮` của nguyên liệu): ví dụ "Thùng 24 hộp" = 24.000 ml. Khi nhập kho chọn quy cách rồi nhập số thùng.
3. **Khai tồn đầu** từng nguyên liệu (số lượng + tổng giá trị) để có giá vốn.
4. **Công thức:** *Thực đơn → chọn nhóm → biểu tượng bình thí nghiệm ở món* → thêm nguyên liệu + định lượng cho **1 phần** (ví dụ Bạc xỉu: cà phê hạt 20 g, sữa đặc 30 ml, sữa tươi 15 ml, ly 1 cái, ống hút 1 cái). Trong **Tùy chọn** của món, mỗi tùy chọn (Size L, thêm trân châu) có công thức **cộng thêm** (số âm là bớt). Hộp thoại hiện giá vốn ước tính và lãi gộp theo giá bán.
5. **Bật theo dõi kho:** *Kho → Bật theo dõi* chọn ngày bắt đầu. Chỉ đơn **thanh toán từ ngày này** mới trừ kho; đơn trước đó không bị trừ lùi.

## 2. Hằng ngày
- **Bán hàng:** thanh toán xong, app **tự trừ nguyên liệu** theo công thức (+ tùy chọn đã chọn) × số lượng. Món chưa có công thức bị bỏ qua (và hiện ở báo cáo "Món chưa có công thức"). Lỗi kho không bao giờ chặn thanh toán.
- **Nhập kho:** *Kho → Nhập kho*: nguyên liệu, quy cách, số lượng, **tổng tiền của phiếu**, nhà cung cấp (tên), ngày. App tính **giá vốn bình quân gia quyền**.
- **Hủy kho / dùng nội bộ:** hỏng, hết hạn, pha hỏng, uống thử, tặng. **Bắt buộc lý do**; trừ theo giá vốn bình quân.
- **Tồn âm** được phép (bán nhiều hơn sổ): hiện cảnh báo đỏ để bạn nhập bù sổ.
- **Hủy đơn đã thanh toán** (Quản lý/Chủ): *Lịch sử → chọn đơn → Hủy đơn đã thanh toán* → nhập lý do → chọn **Hoàn nguyên liệu vào kho** (món chưa pha) hoặc **Ghi hủy kho** (món đã pha, nguyên liệu mất).
- **Cảnh báo:** nguyên liệu dưới ngưỡng, đã hết hoặc âm kho hiện ở màn hình chính và trong danh sách Kho.

## 3. Sửa sai và kiểm kê
- Sổ kho **chỉ thêm, không sửa/xóa**. Nhập sai: *Kho → Lịch sử kho → Đảo phiếu* (kèm lý do); phiếu bán hàng không đảo thủ công (hủy đơn để hoàn).
- **Kiểm kê:** *Kho → Kiểm kê*: đếm thực tế từng nguyên liệu, để trống nguyên liệu không kiểm. Cột **Chênh lệch** = đếm − tồn máy (âm là thiếu hụt). *Xác nhận kiểm kê* mới điều chỉnh tồn theo số đếm, ghi vào sổ và Nhật ký. Phiên đã xác nhận không sửa; sai thì kiểm kê lại hoặc đảo từng phiếu.

## 4. Báo cáo (Báo cáo → thẻ **Kho**, xuất Excel/PDF)
| Bảng | Nội dung |
|---|---|
| Tồn kho hiện tại | Tồn, ngưỡng, giá vốn/đv, giá trị, trạng thái (Đủ / Sắp hết / Hết / Âm kho) |
| Xuất – nhập – tồn trong kỳ | Tồn đầu, nhập, bán, hủy kho, dùng nội bộ, điều chỉnh, tồn cuối, giá trị |
| Hao hụt | Hủy kho và dùng nội bộ: nguyên liệu, số lượng, giá trị, lý do, người thao tác |
| Chênh lệch kiểm kê | Tồn máy so với thực tế, giá trị chênh |
| Giá vốn và lãi gộp theo món | Số lượng, doanh thu, giá vốn từ kho, lãi gộp, tỷ suất |
| Món chưa có công thức | Món đã bán nhưng không trừ kho |
| Lịch sử nhập kho | Nhà cung cấp, quy cách, tổng tiền, đơn giá |

## 5. Cách tính và giới hạn
- Giá vốn bình quân gia quyền: mỗi lần nhập tính lại `giá trị tồn ÷ số lượng tồn`; xuất theo giá vốn bình quân lúc đó. Số lượng và định lượng là **số nguyên** theo đơn vị dùng (muốn chính xác hơn dùng đơn vị nhỏ hơn, ví dụ mg).
- Giá vốn món trong báo cáo chỉ tính đơn thanh toán từ ngày bắt đầu theo dõi và món đã có công thức; doanh thu món là giá bán trước giảm giá của đơn.
- **Tiền mua nguyên liệu không tự thành phiếu chi:** bạn vẫn ghi phiếu chi "Nguyên liệu" ở **Thu chi** nếu muốn. Lãi lỗ trong nhóm Thu chi chưa dùng giá vốn kho (tránh tính trùng).
- Mỗi dòng món chỉ cộng được **một** tùy chọn (như app hiện tại). Chưa có: công thức con (syrup, trà ủ), lô/hạn sử dụng, nhiều kho, công nợ nhà cung cấp.
