Skip to content

PRD: Kho & mức tồn

ModuleKhoPRD IDPRD-STK-001
Trạng tháiĐã thay thếFEATSTK
EpicPlane
Ngày2026-07-13Phiên bảnv1.0
Gói@nx/inventoryURDSTK
SurfaceClient · Chủ/QLBO · Vận hành
Phụ tráchPhát Nguyễn

Kho & mức tồn là gì

Một chi nhánh (Merchant) có thể có nhiều kho (InventoryLocation): kho tổng, quầy bar, bếp. Nhiều chi nhánh cùng nằm trong một tổ chức (Organizer). Các kho lồng vào nhau thành cây, và mỗi chi nhánh luôn có đúng một kho mặc định.

Mục kho (Stock Item) là một mặt hàng tại một kho. Đây là nơi tồn kho thật sự được ghi: mở một mục kho ra là thấy hàng đang nằm ở đâu, còn bao nhiêu, và bao nhiêu trong số đó còn bán được. PRD này dựng nền móng đó cho toàn bộ module Kho.

Bốn chỉ số trong tồn kho

Bốn con số này là chủ đề của chính PRD này, và mọi PRD Kho khác trích lại từ đây. Mỗi mặt hàng ở mỗi kho mang:

Con sốHệ thống gọiNghĩa
Thực cóon-handHàng đang nằm trên kệ, sờ được, đếm được
Đang giữreservedĐã hứa cho một đơn bán hoặc một phiếu chuyển; vẫn trên kệ nhưng không bán cho ai khác được nữa
Khả dụngavailablePhần còn bán được
Đang vềincomingĐã rời kho gửi, chưa tới kho này; thấy được nhưng chưa bán được

Bất biến, đúng ở mọi thời điểm:

Khả dụng = Thực có - Đang giữ

Vì sao một con số tồn là không đủ

Một quán trà sữa có quầy pha chế phía trước và kho nguyên liệu phía sau. Một chuỗi bán lẻ có kho tổng và nhiều chi nhánh. Hệ thống chỉ giữ một con số "còn bao nhiêu hàng" cho cả chi nhánh thì thu ngân ở chi nhánh A không biết hàng nằm ở chi nhánh B, và người kiểm kê không biết phải đếm ở đâu.

Vấn đề thứ hai nằm ở chính con số tồn. Một con số duy nhất không trả lời được câu hỏi quan trọng nhất của người bán: tôi còn bán được bao nhiêu. Hàng trên kệ có thể đã hứa cho một đơn đang thanh toán, hoặc đã gói vào một phiếu chờ chuyển kho. Người bán hàng nhìn khả dụng, người kiểm kê nhìn thực có, và cả hai đều đúng.

Một mặt hàng, từ lúc nhập tới lúc bán

Coca tại Khu lạnh. Ngưỡng cảnh báo sắp hết hàng của mục kho này là 15.

Việc xảy raThực cóĐang giữKhả dụngĐang về
Nhập 10 lon vào Khu lạnh100100
Thu ngân bấm 3 lon vào đơn10370
Khách thanh toán, đơn hoàn tất7070
Phiếu chuyển kho xuất 5 lon về Khu lạnh7075
Khu lạnh đếm đủ 5 lon và nhận120120
  • Bấm món vào đơn không làm thực có giảm. Hàng vẫn trên kệ; cái giảm là khả dụng.
  • Khả dụng cuối cùng là 12, dưới ngưỡng 15, nên màn Tồn kho cảnh báo sắp hết hàng ngay trên dòng của mục kho này.
  • Mở "Kho tổng" - cha của Khu lạnh - thì thấy tồn cộng dồn của chính nó và mọi khu con bên trong.

Chỗ dễ sai nhất

Khả dụng không phải một cột được cập nhật bằng tay

Khả dụng = Thực có - Đang giữ được ép trực tiếp ở tầng cơ sở dữ liệu. Mọi thao tác ghi làm sai đẳng thức này đều bị từ chối ngay tại tầng lưu trữ.

Một luồng ghi tồn mới viết sai thứ tự cập nhật cũng không thể để lại một mục kho có ba con số không khớp nhau. Hệ thống không trông vào việc từng luồng code nhớ tính đúng.

Hệ quả: giữ tồn cho một đơn bán làm khả dụng giảm ngay lập tức, trên mọi máy POS, mà thực có không đổi một đơn vị nào.

Proprietary and Confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.