Skip to content

URD: Sản phẩm

ModulePhiên bảnCập nhật
CORE-05v1.12026-07-15

Module Sản phẩm làm gì

Xác định các yêu cầu hướng người dùng cho quản lý danh mục sản phẩm: cách chủ merchant tạo và duy trì sản phẩm, các biến thể họ thực sự bán, giá (fares) mà các biến thể đó mang, nhóm hàng tổ chức chúng, và định danh dùng để tra cứu. Danh mục là nền tảng mà mọi kênh bán đọc từ đó.

Bảy ý cần hiểu trước

Đây là phần quan trọng nhất của tài liệu. Hiểu bảy ý dưới đây là hiểu 80% module.

1. Sản phẩm là ý niệm, biến thể mới là thứ bán được

"Áo thun" không phải một thứ khách mua được - nó chỉ là cái tên, mô tả, và nhóm hàng mà chủ quán dùng để gom mọi phiên bản của cùng một món lại với nhau. Cái khách thật sự cầm ra quầy trả tiền là "áo thun đỏ size M" - một biến thể. Mỗi sản phẩm phải có ít nhất một biến thể ngay từ lúc tạo, và đúng một biến thể trong số đó được đánh dấu mặc định.

Ranh giới này rất dễ nhầm vì hai thứ trông giống nhau trên màn hình, nhưng dữ liệu đứng sau lại tách hẳn: giá bán, mã vạch, và số lượng tồn kho đều gắn vào biến thể, không gắn vào sản phẩm.

Thuộc tínhGắn vào Sản phẩmGắn vào Biến thể
Tên, mô tả, nhóm hàng, hình ảnh-
Kênh bán (hiển thị ở đâu)-
Giá bán (fare)-
Mã vạch, mã hàng (SKU), mã QR-
Tồn kho, đơn vị tính-
Loại hàng (lưu kho, dịch vụ, combo...)-

Ngay cả một món chỉ bán một kiểu duy nhất, không có size hay màu để chọn - ví dụ "Nước suối 500ml" - bên dưới vẫn luôn có đúng một biến thể đại diện cho chính món đó. Sản phẩm không bao giờ được bán trực tiếp; nó luôn bán qua biến thể của mình, kể cả khi chỉ có một biến thể.

2. Biến thể được nhận diện bằng tổ hợp lựa chọn, và chỉ những cái được khai mới được sinh ra

Một sản phẩm biến đổi theo các trục - Size, Mức đá, Màu sắc. Mỗi trục mang một danh sách giá trị có thứ tự (S/M/L, hay 100%/50%/0% đá). Một biến thể chọn đúng một giá trị trên mỗi trục nó dùng, và tổ hợp các lựa chọn đó chính là danh tính của biến thể trong sản phẩm - không hai biến thể nào của cùng một sản phẩm được phép trùng tổ hợp.

Điều dễ nhầm ở đây: hệ thống không tự bung hết mọi tổ hợp có thể có. Chủ quán khai trục và giá trị, rồi khai đúng những biến thể mình thực sự bán; hệ thống chỉ sinh đúng bấy nhiêu.

Cho trướcSố tổ hợp lý thuyếtSố biến thể được khaiSố biến thể được sinh
Ly trà sữa có Size (S/M/L) và Mức đá (100/50/0)3 × 3 = 95 (chủ chỉ bán 5 kiểu thực tế, ví dụ không bán size S 100% đá)5

Đúng một biến thể trong lần khai đó phải là mặc định - cái nào được đánh dấu tường minh thì lấy cái đó, không đánh dấu gì thì biến thể khai báo đầu tiên tự nhiên thành mặc định. Khai hai cái cùng làm mặc định thì cả lô bị từ chối, không riêng biến thể đó.

3. Catalog sở hữu định danh sản phẩm, kho chỉ giữ định danh đơn vị vật lý

Đây là ranh giới hay bị nhầm nhất giữa hai module. Có hai loại "mã" hoàn toàn khác bản chất, và chúng gán ở hai thời điểm khác nhau, hai màn hình khác nhau:

  • Định danh catalog - mã hệ thống, slug, mã hàng (SKU), mã vạch, mã QR. Những mã này đại diện cho một kiểu hàng, không phải một món cụ thể nằm trên kệ. Gán lúc chủ quán tạo hoặc sửa biến thể ở màn sản phẩm. Ví dụ: "áo thun đỏ size M" mang mã vạch 8934567890123 - mọi chiếc áo thun đỏ size M trong kho, dù nhập đợt nào, đều dùng chung một mã vạch đó.
  • Định danh kho - IMEI, số serial. Những mã này đại diện cho một đơn vị vật lý riêng lẻ, không phải một kiểu hàng. Gán lúc nhập kho, do nhân viên kho nhập hoặc quét lúc nhận hàng. Ví dụ: nhập 10 chiếc điện thoại cùng một mẫu (cùng một biến thể, cùng một mã vạch catalog), nhưng mỗi chiếc mang một IMEI khác nhau - 10 IMEI cho 10 chiếc, dù cả 10 đều là "cùng một sản phẩm" theo catalog.

Nói gọn: catalog trả lời "đây là hàng gì", kho trả lời "đây là chiếc/lô nào". Một biến thể có bật theo dõi lô hay theo dõi serial hay không cũng là một cờ khai ở catalog lúc tạo biến thể - nhưng bản thân mã lô, mã serial thì chỉ sinh ra lúc hàng thật sự về kho.

4. Định danh duy nhất theo từng merchant, không phải toàn hệ thống

Một mã vạch không phải của riêng một merchant - nó thường là mã do nhà sản xuất in sẵn trên bao bì (mã GS1), và hai merchant khác nhau hoàn toàn có thể cùng bán một sản phẩm mang cùng một mã vạch đó. Vì vậy tính duy nhất của một định danh chỉ có ý nghĩa trong phạm vi một merchant - merchant A gán mã vạch 8934567890123 cho "lon nước ngọt X" của mình, merchant B cũng gán đúng mã đó cho "lon nước ngọt X" của họ, và hai việc gán này không đụng nhau, không merchant nào bị từ chối vì "mã đã được dùng" ở nơi khác.

Điều này khác với suy nghĩ tự nhiên rằng "mã vạch là duy nhất trên toàn thế giới nên hệ thống cũng phải chặn trùng toàn hệ thống" - sai, vì đó là mã của nhà sản xuất, không phải mã do một merchant tự sinh ra để quản lý riêng mình.

5. Ba cơ chế nổ thành phần khác nhau: KIT, COMBO, MANUFACTURED

Ba loại hàng này đều "được ghép từ nhiều thứ khác" khi nhìn thoáng qua, nhưng đứng sau là ba cơ chế hoàn toàn khác nhau về tồn kho và thời điểm trừ. Nhầm ba cái này với nhau là nhầm lẫn phổ biến nhất khi mới vào module.

Cơ chếBán 1 cái thì trừ gìCó tồn riêng của chính nó khôngNổ lúc nàoVí dụ
KITTrừ thẳng từng nguyên liệu thô theo công thứcKhông - không có mã tồn kho của riêng nóNgay lúc bán, tại quầyLy trà sữa: bán 1 ly là trừ ngay sữa, trà, trân châu theo định lượng công thức
COMBOTrừ tồn của từng biến thể thành phần (mỗi thành phần vẫn có tồn riêng của chính nó)Không - tồn của combo được suy ra từ tồn nhỏ nhất trong các thành phầnNgay lúc thêm vào giỏ, tại quầyCombo 2 gà + khoai: bán 1 combo là trừ tồn của biến thể "2 miếng gà" và biến thể "khoai chiên" riêng biệt
MANUFACTUREDKhông trừ gì thêm lúc bán - chỉ trừ đúng tồn có sẵn của chính món đóCó - mang mã tồn kho của riêng nóLúc sản xuất (một lệnh sản xuất riêng, tách hẳn khỏi lúc bán)Mẻ bánh mì nướng sẵn: nướng một mẻ là một lần trừ bột, men, trứng qua lệnh sản xuất; bán từng ổ bánh sau đó chỉ trừ tồn bánh đã nướng, không đụng lại nguyên liệu

Cách phân biệt nhanh: KIT là "pha/làm ngay khi khách gọi", COMBO là "gói nhiều món đã có sẵn tồn riêng lại bán chung một giá", MANUFACTURED là "làm trước, để dành, bán sau". Chỉ MANUFACTURED có tồn kho riêng để merchant nhìn thấy trên bảng tồn; KIT và COMBO đều không có dòng tồn kho của chính món ghép đó.

6. Thứ tự nhận diện mã vạch tại quầy: mã vạch, rồi mã hàng, rồi mã QR, rồi slug, rồi mã hệ thống

Vì mỗi loại mã chỉ duy nhất trong chính loại của nó, không duy nhất chéo giữa các loại, nên hoàn toàn có thể xảy ra chuyện một chuỗi ký tự vừa là mã vạch của biến thể này, vừa tình cờ là mã hàng (SKU) của một biến thể khác trong cùng merchant. Khi thu ngân quét hoặc gõ một chuỗi tại quầy, hệ thống phải luôn ra đúng một kết quả, không phải một danh sách để chọn - nên cần một thứ tự ưu tiên cố định để phân xử.

Thứ tự đó là: mã vạch → mã hàng (SKU) → mã QR → slug → mã hệ thống. Mã vạch và mã hàng đứng đầu vì đây là hai loại mã thu ngân thật sự quét hoặc gõ tại quầy hằng ngày; slug và mã hệ thống đứng cuối vì chúng phục vụ tra cứu nội bộ, không phải để nhập tay ở quầy.

Ví dụ: chuỗi ABC123 là mã vạch của "áo thun đỏ size M", đồng thời cũng (tình cờ) là mã hàng của "áo thun xanh size L". Quét ABC123 tại quầy luôn ra "áo thun đỏ size M" - vì mã vạch thắng mã hàng theo đúng thứ tự trên, không bao giờ ra cả hai, không bao giờ báo lỗi mập mờ.

7. Loại biến thể quyết định cách trừ kho, không có một "chế độ tồn kho" tách riêng

Mỗi biến thể mang đúng một loại trong bảy loại hàng: hàng lưu kho, hàng tiêu hao, dịch vụ, KIT, combo, hàng sản xuất trước, và quyền sử dụng (một biến thể ảo cấp quyền dùng một dịch vụ hoặc tài nguyên, không gắn hàng hóa vật lý nào). Loại này, cộng với một cờ "có theo dõi tồn kho hay không" khai ngay trên chính biến thể đó, là toàn bộ những gì cần để quyết định việc trừ kho hoạt động ra sao - không có thêm một trường "chế độ tồn kho" nào khác đứng cạnh loại biến thể.

Loại biến thểTheo dõi tồn kho riêng khi nàoVí dụ
Hàng lưu kho, Hàng sản xuất trướcCó, khi cờ theo dõi tồn được bật trên biến thểÁo thun đỏ size M; mẻ bánh mì đã nướng
ComboKhông bao giờ - luôn suy ra từ thành phần, bất kể cờCombo 2 gà + khoai
Hàng tiêu hao, Dịch vụ, KIT, Quyền sử dụngKhông - luôn tạo không theo dõi tồn riêng, dù cờ có bật hay khôngĐá viên (tiêu hao); phí giữ xe (dịch vụ); ly trà sữa (KIT); một suất học thử (quyền sử dụng)

Combo là trường hợp đặc biệt nhất: dù merchant có bật cờ theo dõi tồn cho một biến thể combo, hệ thống vẫn không tạo tồn kho riêng cho nó - vì bản chất combo không phải một mã hàng vật lý độc lập, nó chỉ là một cách gói các biến thể đã có tồn riêng lại bán chung một giá.

Module có những gì

Mười tính năng. Bấm vào mã AREA để sang tab Chi tiết đọc yêu cầu của nhóm đó.

AREATênPhaseTrạng thái
PRDDanh mục Sản phẩmP1Một phần
CATNhóm hàngP1Đã dựng
VARBiến thểP2Một phần
BNDCombo & Gói bán kèmP2Đã dựng
OPTTùy chọn Sản phẩmP2Một phần
FARFares / Định giáP2Đã dựng
PIDĐịnh danhP1Một phần
CMPKhuyến mãiP3Một phần
ACCKiểm soát Truy cậpP1Đã dựng
SCHKênh bán hàngP2Đã dựng

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