🌐 Ngôn ngữ: 🇻🇳 Tiếng Việt (hiện tại) · 🇬🇧 English
Quản lý tồn kho sản phẩm trong GP247
Giới thiệu
Tài liệu này giải thích nghiệp vụ quản lý tồn kho (stock) của GP247/S-Cart cho chủ cửa hàng không rành kỹ thuật: tồn kho tăng/giảm khi nào, hai cấu hình quan trọng quyết định có cho bán vượt tồn hay không, và vì sao đơn tạo trong trang quản trị (admin) cũng trừ kho giống hệt đơn khách đặt ngoài storefront. Đọc xong bạn sẽ tự tin cấu hình và hiểu con số kho biến động thế nào.
1. Hai con số của mỗi sản phẩm
Mỗi sản phẩm có hai con số về số lượng bạn cần nhớ:
- Tồn kho (
stock): số lượng đang còn để bán. - Đã bán (
sold): số lượng đã bán ra (chỉ để thống kê, tự cộng lên).
Ngoài ra có Số lượng tối thiểu (minimum): số lượng ít nhất khách phải mua trong một lần (mặc định là 1).
Khi một đơn phát sinh, hệ thống trừ
stockvà cộngsoldcùng một lượng. Khi gỡ đơn/dòng hàng, kho được hoàn lại.
2. Sơ đồ vòng đời tồn kho
flowchart TD
A["📦 Tồn kho sản phẩm (stock)"]
A -->|"Tạo đơn (ngoài storefront HOẶC trong admin)"| B["stock giảm · sold tăng<br/>theo số lượng đặt"]
A -->|"Thêm / tăng số lượng dòng hàng trong admin"| B
B -->|"Xóa đơn · xóa dòng hàng · giảm số lượng"| A
A -.->|"Sản phẩm loại Gói (Bundle)"| C["Trừ kho TỪNG sản phẩm con<br/>theo số lượng trong gói"]
Nếu nơi bạn đọc không vẽ được sơ đồ, hãy hiểu đơn giản: có đơn thì trừ kho, gỡ đơn thì trả kho — bất kể đơn được tạo ở đâu.
3. Hai cấu hình quyết định việc bán theo tồn kho
Có hai công tắc trong Cấu hình cửa hàng ảnh hưởng trực tiếp tới tồn kho:
| Cấu hình | Nằm ở | Ý nghĩa |
|---|---|---|
Quản lý tồn kho (product_stock) |
Cấu hình Sản phẩm | Bật thì cửa hàng theo dõi tồn kho. Tắt thì không quan tâm kho — luôn cho mua. |
Cho phép mua khi hết hàng (product_buy_out_of_stock) |
Cấu hình Đơn hàng | Bật thì cho khách mua vượt quá tồn kho (kho có thể về âm). Tắt thì chặn khi vượt tồn. |
Quy tắc "còn đủ hàng để bán" của hệ thống là:
Cho phép đặt số lượng nếu ( cho phép mua khi hết hàng ) HOẶC ( không quản lý tồn kho ) HOẶC ( tồn kho ≥ số lượng đặt ).
Quan hệ phân cấp (quan trọng):
product_stocklà công tắc tổng.product_buy_out_of_stockchỉ có tác dụng khiproduct_stockđang bật. Nếu tắt quản lý tồn kho, tuỳ chọn "cho phép mua khi hết hàng" không còn ý nghĩa (hệ thống luôn cho mua). Hai công tắc không mâu thuẫn — chúng ghép bằng HOẶC.
Ngoài ra còn hai cấu hình liên quan (không bắt buộc):
- Ẩn sản phẩm hết hàng (
product_display_out_of_stock): khi bật quản lý kho, sản phẩm về 0 sẽ bị ẩn khỏi storefront. - Đặt trước (
product_preorder): cho đặt trước kể cả chưa có hàng.
4. Khi nào tồn kho GIẢM, khi nào ĐƯỢC HOÀN?
Giảm kho (stock giảm, sold tăng) xảy ra khi:
- Khách đặt hàng thành công ngoài storefront (thanh toán xong).
- Bạn tạo đơn trong admin (màn Tạo đơn hàng).
- Bạn thêm một dòng hàng, hoặc tăng số lượng một dòng hàng của đơn trong admin.
Hoàn kho (stock được cộng lại) xảy ra khi:
- Xóa cả đơn hàng → hoàn kho tất cả dòng hàng của đơn.
- Xóa một dòng hàng trong đơn.
- Giảm số lượng một dòng hàng (chỉ hoàn phần chênh lệch).
Điểm quan trọng: đơn tạo trong admin cũng trừ/hoàn kho y như đơn khách đặt ngoài. Trước đây đơn admin từng không trừ kho, gây lệch số liệu — nay đã thống nhất.
5. Sản phẩm Gói (Bundle) trừ kho thế nào?
Với sản phẩm loại Gói (Bundle/Build), khi bán 1 gói, hệ thống trừ kho từng sản phẩm con theo số lượng khai báo trong gói (đồng thời cũng trừ kho của chính gói nếu gói có quản lý kho).
Ví dụ: "Bộ quà" = 1 hộp bánh + 2 chai nước. Bán 1 bộ → trừ 1 hộp bánh và 2 chai nước khỏi kho.
Chi tiết cách tạo và cấu hình Gói: xem Sản phẩm gói (Bundle/Combo) và Tổ chức sản phẩm.
6. Khác biệt quan trọng: Storefront chặn cứng, Admin cảnh báo
Khi tắt "Cho phép mua khi hết hàng" mà số lượng vượt tồn:
- Ngoài storefront (khách tự mua): hệ thống chặn cứng — không cho đặt đơn vượt tồn. Đây là để tránh bán quá số lượng thật.
- Trong admin (bạn tự tạo/sửa đơn): hệ thống vẫn cho lưu nhưng hiện cảnh báo vượt tồn. Lý do: người quản trị có thẩm quyền (ví dụ bán trước, nhập bù sau), nhưng vẫn cần thấy cảnh báo để không nhầm.
Nói ngắn gọn: khách bị chặn, admin được cảnh báo. Cả hai đều tôn trọng cùng một cấu hình
product_buy_out_of_stock, chỉ khác cách xử lý khi vượt.
7. Cấu hình từng bước (dành cho người mới)
- Đăng nhập trang quản trị, vào Cấu hình cửa hàng.
- Mở nhóm Sản phẩm, tìm mục Quản lý tồn kho (
product_stock):- Bật nếu bạn muốn theo dõi số lượng tồn.
- Tắt nếu bán dịch vụ/số không giới hạn (luôn cho mua).
- Mở nhóm Đơn hàng, tìm mục Cho phép mua khi hết hàng (
product_buy_out_of_stock):- Tắt nếu muốn chặn bán vượt tồn (khuyến nghị cho hàng vật lý).
- Bật nếu chấp nhận cho mua kể cả khi hết (kho có thể về âm).
- Vào từng Sản phẩm, nhập Tồn kho (
stock) và Số lượng tối thiểu (minimum) nếu cần. - Lưu lại. Nếu thành công, hệ thống báo cập nhật thành công và con số tồn kho sẽ áp dụng ngay ở storefront.
Mẹo kiểm tra: tạo thử một đơn trong admin cho một sản phẩm có tồn kho, rồi mở lại sản phẩm đó xem
stockđã giảm vàsoldđã tăng đúng chưa.
Hỏi & Đáp (Q&A)
Câu 1: Tôi muốn cửa hàng không quan tâm tồn kho (luôn cho mua) thì làm sao?
→ Tắt cấu hình Quản lý tồn kho (product_stock). Khi đó hệ thống luôn cho mua, không kiểm tra số lượng tồn.
Câu 2: Tôi muốn chặn khách mua khi hết hàng?
→ Bật Quản lý tồn kho và tắt "Cho phép mua khi hết hàng" (product_buy_out_of_stock). Khi tồn về 0, khách không đặt được nữa.
Câu 3: Vì sao tôi tạo đơn trong admin mà tồn kho không đổi (ở bản cũ)?
→ Đó là lỗi cũ: đơn admin không trừ kho. Bản hiện tại đã sửa — đơn admin trừ/hoàn kho giống đơn khách đặt ngoài.
Câu 4: Trong admin tôi tạo đơn vượt tồn, hệ thống vẫn cho lưu?
→ Đúng. Admin được cảnh báo nhưng vẫn lưu được (bạn có thẩm quyền). Khách ngoài storefront thì bị chặn trong cùng tình huống.
Câu 5: Tồn kho có thể về số âm không?
→ Có, khi bật "Cho phép mua khi hết hàng" hoặc khi admin cố tình tạo đơn vượt tồn. Số âm nghĩa là bạn đang nợ hàng.
Câu 6: Xóa đơn thì tồn kho có tự trả lại không?
→ Có. Xóa cả đơn hoặc xóa từng dòng hàng đều hoàn kho tương ứng. Giảm số lượng dòng hàng thì hoàn phần chênh lệch.
Câu 7: Sản phẩm Gói (Bundle) trừ kho ra sao?
→ Bán 1 gói sẽ trừ kho từng sản phẩm con theo số lượng trong gói. Xem thêm tài liệu Sản phẩm gói.
Câu 8: "Đã bán" (sold) khác "Tồn kho" (stock) thế nào?
→ stock là số còn lại để bán; sold là số đã bán ra, chỉ dùng để thống kê và tự cộng khi có đơn.
Câu 9: Tôi muốn ẩn sản phẩm khi hết hàng trên storefront?
→ Bật cấu hình Ẩn sản phẩm hết hàng (product_display_out_of_stock); khi có quản lý kho, sản phẩm về 0 sẽ không hiện.
Câu 10: Số lượng tối thiểu (minimum) để làm gì?
→ Bắt khách mua tối thiểu một lượng nhất định mỗi lần (ví dụ bán sỉ tối thiểu 10). Mặc định là 1.
📅 Cập nhật lần cuối: 2026-08-12 · ✍️ Tác giả (Author): GP247