Skip to content

PRD: Giá vốn

ModuleKhoPRD IDPRD-VAL-001
Trạng tháiChưa tạo itemFEATVAL
EpicPlane
Ngày2026-07-13Phiên bảnv1.0
Gói@nx/inventoryURDVAL
SurfaceBackendClient · Chủ/QL
Phụ tráchPhát Nguyễn

Giá vốn là gì

Giá vốn (Cost) là số tiền một đơn vị hàng đang nằm trong kho đáng giá. Bán ra, lấy giá bán trừ giá vốn là ra lãi gộp.

Mỗi mặt hàng của một chi nhánh (Merchant) có đúng một giá vốn, dùng chung cho mọi kho (InventoryLocation) của chi nhánh đó. Nhiều chi nhánh cùng nằm trong một tổ chức (Organizer), và mỗi chi nhánh giữ giá vốn của riêng mình. Chuyển hàng từ kho tổng sang quầy bán chỉ dịch chuyển số lượng, tiền không đổi.

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

Trích từ Kho & mức tồn để khỏi phải mở PRD khác. Mỗi mặt hàng ở mỗi kho mang bốn con số:

Con sốHệ thống gọiNghĩa
Thực cóon-handHàng đang nằm trong kho
Đang giữreservedĐã hứa cho một chứng từ khác, không bán cho ai đượ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 nhận

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

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

Mẫu số của phép bình quân gia quyền là tổng thực có của cả chi nhánh, cộng dồn từ mọi kho.

Vì sao một ô gõ tay không giải được bài toán này

Merchant nhập cùng một mặt hàng nhiều đợt và giá mỗi đợt một khác: thùng sữa tháng trước 22.000đ một hộp, tháng này 24.000đ. Hệ thống không tự gộp các đợt nhập lại thành một con số thì chủ quán phải tính tay trên giấy, và mọi báo cáo lãi lỗ sai từ gốc.

Một ô cho chủ quán tự gõ giá vốn tay cũng không giải được. Con số gõ tay đứng yên kể cả khi hàng nhập về với giá khác hẳn, nên càng dùng lâu càng lệch xa giá mua thật, và lãi tính khi bán ra trôi theo.

Vì vậy hệ thống giữ song song hai con số: giá bình quân gia quyền do hệ thống tự tính, và giá định mức do chủ quán tự gõ. Chủ quán chọn dùng con số nào cho từng mặt hàng.

Một mặt hàng, từ đầu tới cuối

Sữa tươi. Kho đang trống. Nhập hai đợt với hai giá, bán hết, rồi nhập lại.

Việc xảy raThực cóGiá trị tồnGiá bình quân
Nhập 100 hộp, giá 20.000đ1002.000.000đ20.000đ
Bán 40 hộp601.200.000đ20.000đ
Nhập 40 hộp, giá 25.000đ1002.200.000đ22.000đ
Bán nốt 100 hộp, tồn về 0022.000đ (đóng băng)
Nhập 50 hộp, giá 24.000đ501.200.000đ24.000đ (thay hoàn toàn)
  • Bán hàng không làm đổi giá vốn. Giá vốn chỉ đổi ở lúc nhập hàng: (1.200.000 + 40 × 25.000) chia 100 bằng 22.000đ.
  • Tồn về 0 thì giá cũ đóng băng, giữ nguyên 22.000đ. Hệ thống không chia cho 0 và không trả về giá 0đ.
  • Lần nhập kế tiếp thay hoàn toàn giá cũ bằng đơn giá lô mới, vì không còn hàng cũ nào để trộn vào.
  • Mặt hàng này đang chạy giá định mức 21.000đ thì lãi gộp lúc bán tính theo 21.000đ, còn cột giá bình quân vẫn chạy nền đúng như bảng trên.

Chỗ dễ sai nhất

Bật tách giá vốn theo địa điểm là một chiều, không tắt lại được

Merchant nhập hàng phân tán ở nhiều kho bật được cấu hình nâng cao để mỗi cặp mặt hàng và kho có giá vốn riêng.

Bật lên là chia một con số thành nhiều con số. Gộp ngược lại thì không có luật nào đúng: trung bình theo số lượng, hay lấy kho nào làm chuẩn, đều sai với một merchant nào đó. Vì vậy hệ thống không cho tắt. Form cảnh báo rõ điều này trước khi bật.

Mặc định thì giá vốn là một con số cho cả chi nhánh, và đó là lựa chọn đúng với hầu hết merchant.

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