← Quay lại Blog
GEO Pillar

Quản lý lô và hạn sử dụng FEFO cho kho ecommerce: ngưỡng nhận, ngưỡng bán, ngưỡng xả và điểm chặn quét

Câu trả lời ngắn: quản lý hạn sử dụng cho shop ecommerce không dừng ở “phần mềm có cảnh báo hàng sắp hết hạn”. Cần ba ngưỡng viết thành quy tắc và ba điểm chặn trong kho. Ba ngưỡng tính theo phần trăm hạn dùng còn lại (RSL) chứ không theo số ngày cố định: (1) ngưỡng nhận hàng — thường từ chối hoặc nhận có duyệt khi lô còn dưới 60–70% hạn dùng; (2) ngưỡng được bán bình thường trên sàn — lô còn dưới khoảng 30–40% (hoặc dưới số ngày khách cần dùng hết sản phẩm cộng thời gian giao và đổi trả) thì rút khỏi tồn khả dụng đẩy lên Shopee, TikTok Shop, Lazada; (3) ngưỡng xả — chuyển sang kênh cận date có ghi rõ hạn dùng, combo hoặc trả nhà cung cấp trước khi giá trị thu hồi về gần 0. Ba điểm chặn: nhập kho phải quét và ghi số lô, hạn dùng gắn với vị trí kệ; lấy hàng phải quét lô và hệ thống từ chối lô không phải lô FEFO được chỉ định; hàng hoàn phải quét lại lô trước khi cộng tồn. Nếu đơn mỗi ngày dưới khoảng 30, SKU có hạn dưới 50 và chỉ một kệ mỗi SKU, quy trình giấy cộng OMS còn đủ; khi một SKU nằm ở nhiều vị trí với nhiều lô, hoặc có nhân viên thời vụ, cần WMS quét bắt buộc.

Bài này đưa: định nghĩa RSL và cách tính ngưỡng theo vòng quay bán và thời gian khách dùng, bảng ngưỡng mẫu cho mỹ phẩm, thực phẩm chức năng, thực phẩm, đồ uống và mẹ bé, mô hình dữ liệu SKU – lô – hạn – vị trí – trạng thái, bốn mức kiểm soát FEFO từ “ghi chú” đến “chặn tại quét”, công thức chi phí hàng hết hạn và điểm hòa vốn khi xả sớm, xử lý combo nhiều lô, hàng hoàn, thu hồi theo lô, khác biệt OMS-only và OMS + WMS, những sai lầm thường gặp trong các bài viết chung chung và checklist 5 việc đội kho làm được ngay.

Kết luận nhanh: quản lý hạn dùng là ba ngưỡng và ba điểm chặn

Hầu hết bài viết tiếng Việt về “quản lý hàng theo lô, hạn sử dụng” dừng ở ba ý: FEFO là hết hạn trước xuất trước, phần mềm sẽ cảnh báo hàng sắp hết hạn, hàng cận date thì giảm giá, tặng kèm hoặc làm combo. Ba ý đó đúng nhưng không đủ để vận hành. Đội kho ecommerce cần biết “sắp hết hạn” là bao nhiêu ngày với từng nhóm hàng, ai được quyết định nhận một lô ngắn hạn, lô nào được phép đẩy tồn lên sàn, hệ thống làm gì khi nhân viên lấy nhầm lô mới, và hàng hoàn được ghi lô nào.

Mô hình trong bài này có hai phần:

  1. Ba ngưỡng tính theo phần trăm hạn dùng còn lại: ngưỡng nhận (receiving), ngưỡng bán bình thường (sellable), ngưỡng xả (clearance). Mỗi ngưỡng đổi trạng thái tồn của lô, và trạng thái tồn quyết định lô đó có được tính vào tồn khả dụng đẩy lên sàn hay không.
  2. Ba điểm chặn trong kho: nhập kho ghi lô và hạn dùng gắn với vị trí; lấy hàng quét lô và từ chối lô sai; hàng hoàn quét lại lô trước khi cộng tồn. Nếu thiếu một điểm chặn, dữ liệu lô trong hệ thống sẽ trôi khỏi thực tế trong vài tuần, và mọi cảnh báo hạn dùng sau đó đều sai.

Quy tắc quyết định hệ thống: quản lý hạn dùng bằng OMS cộng bảng kê giấy còn đủ khi mỗi SKU chỉ có một vị trí, thường chỉ một lô đang bán, đơn dưới khoảng 30 mỗi ngày và người lấy hàng cố định, quen kệ. Khi một SKU nằm ở hai vị trí trở lên với lô khác nhau, khi có nhân viên thời vụ, combo hoặc tỷ lệ hoàn trên khoảng 5%, FEFO chỉ đứng vững nếu WMS bắt quét lô tại bước lấy hàng. Các ngưỡng là gợi ý có công thức minh bạch, không phải số liệu khách hàng của JST ERP hay quy định pháp luật; mỗi doanh nghiệp cần tự kiểm với nhà cung cấp, cơ quan quản lý ngành và chính sách của từng sàn.

1. Thuật ngữ dùng trong bài

Thuật ngữĐịnh nghĩaGhi chú vận hành
Lô (lot/batch)Một nhóm đơn vị sản xuất cùng điều kiện, cùng mã lô trên bao bìMột SKU có thể có nhiều lô cùng lúc trong kho
NSX, HSDNgày sản xuất, hạn sử dụng in trên bao bìMột số hàng chỉ in HSD hoặc chỉ in NSX + thời hạn; phải quy về HSD khi nhập
Tổng hạn dùng (TSL)HSD − NSX, tính theo ngàyMỹ phẩm thường 24–36 tháng, thực phẩm khô 6–18 tháng, sữa tươi vài ngày đến vài tuần
Hạn còn lại (RSL)(HSD − hôm nay) / TSL, tính theo %Đơn vị chung để so sánh các nhóm hàng
FEFOFirst Expired, First Out — xuất lô hết hạn sớm nhất trướcKhác FIFO khi lô nhập sau có hạn ngắn hơn
Trạng thái tồn của lôBán được / cận date / cách ly / hết hạn / chờ trả NCCChỉ trạng thái “bán được” tính vào tồn khả dụng đẩy lên sàn
Tồn khả dụngTồn bán được − tồn đã giữ cho đơn chưa xuấtXem thêm tồn khả dụng và tồn chiếm dụng

Lý do dùng RSL theo phần trăm thay vì số ngày cố định: “còn 90 ngày” là rất dài với sữa chua nhưng rất ngắn với kem chống nắng hạn 36 tháng. Quy tắc theo phần trăm cho phép đặt một bảng ngưỡng theo nhóm hàng thay vì từng SKU, rồi chỉ ghi đè cho SKU ngoại lệ.

2. Vì sao câu trả lời “phần mềm cảnh báo hàng sắp hết hạn” chưa đủ

Cảnh báo là đầu ra cuối cùng. Nó chỉ đúng nếu ba dữ liệu đầu vào đúng: số lô và HSD được ghi khi nhập; lô nào đã xuất cho đơn nào; lô nào đang nằm ở vị trí nào. Trong thực tế kho ecommerce Việt Nam, ba dữ liệu này hỏng theo những cách lặp lại:

  • Nhập kho chỉ đếm số lượng: phiếu nhập ghi SKU và số thùng, không ghi lô; hoặc ghi một lô cho cả lần nhập trong khi nhà cung cấp giao hai lô trộn nhau.
  • Lấy hàng theo SKU, không theo lô: phiếu lấy hàng in “lô gợi ý”, nhân viên lấy hộp gần tay nhất. Hệ thống trừ tồn lô gợi ý, kệ thật trừ lô khác. Sau 4–6 tuần, tồn theo lô trên hệ thống không còn khớp kệ dù tổng số lượng SKU vẫn khớp.
  • Hàng hoàn cộng lại theo SKU: kiện hoàn được nhập “+1” vào SKU, lô mặc định là lô mới nhất hoặc lô của đơn gốc, trong khi hộp thực tế có thể thuộc lô khác.
  • Hai lô trên cùng một ô kệ: nhân viên bổ sung hàng đổ lô mới lên trên lô cũ. Lô cũ bị đẩy xuống dưới và hết hạn tại chỗ.
  • Tồn đẩy lên sàn gồm cả lô cận date: khách mua theo giá thường, nhận hàng còn 2 tháng hạn, đánh giá thấp hoặc yêu cầu trả hàng.

Vì vậy câu hỏi đúng khi đánh giá hệ thống không phải “có cảnh báo hạn dùng không” mà là “ở bước lấy hàng, nếu nhân viên quét hộp thuộc lô không được chỉ định, hệ thống làm gì”. Câu trả lời phân loại ngay hệ thống vào một trong bốn mức kiểm soát ở mục 5.

3. Ba ngưỡng: cách tính thay vì đoán

3.1 Ngưỡng bán bình thường (quan trọng nhất)

Ngưỡng bán trả lời câu hỏi: khách nhận hàng hôm nay có đủ thời gian dùng hết trước HSD, cộng thời gian đổi trả, mà không cảm thấy bị bán hàng cận date không? Công thức:

Số ngày tối thiểu khi xuất = D_dùng + D_giao + D_đổi trả + D_đệm

  • D_dùng: số ngày một khách điển hình dùng hết một đơn vị. Kem dưỡng 50 ml dùng hai lần mỗi ngày khoảng 60–90 ngày; hộp viên uống 60 viên, 2 viên/ngày là 30 ngày; gói bánh là vài ngày.
  • D_giao: thời gian từ khi xuất kho đến khi khách nhận, ngoại tỉnh thường 2–5 ngày.
  • D_đổi trả: thời gian khách được yêu cầu trả hàng theo chính sách sàn hoặc shop, cộng thời gian kiện hoàn về kho.
  • D_đệm: kỳ vọng tâm lý khách. Khách mua mỹ phẩm online thường kiểm hạn ngay khi mở hộp; hàng còn dưới 6 tháng dễ bị đánh giá thấp dù vẫn trong hạn. Đệm 60–120 ngày là hợp lý cho mỹ phẩm, 15–30 ngày cho thực phẩm hạn ngắn.

Quy ra phần trăm: Ngưỡng bán (%) = Số ngày tối thiểu khi xuất / TSL, rồi làm tròn lên theo bước 5%. Ví dụ kem dưỡng TSL 1.095 ngày: 90 + 5 + 20 + 120 = 235 ngày, tương đương 21,5% → đặt 25%. Viên uống TSL 730 ngày, D_dùng 30: 30 + 5 + 20 + 60 = 115 ngày → 15,8%, nhưng với hàng sức khỏe khách nhạy cảm hơn với hạn dùng, nên đặt 30%. Bánh quy TSL 270 ngày, D_dùng 7: 7 + 5 + 10 + 30 = 52 ngày → 19%, làm tròn 20%; nếu bán sỉ cho đại lý thì đại lý còn cần thời gian bán lại, ngưỡng cho kênh sỉ phải cao hơn, thường 50–60%.

Điểm quan trọng: ngưỡng bán có thể khác theo kênh. Kênh B2C trên sàn dùng ngưỡng theo khách cuối; kênh đại lý, siêu thị hoặc nhà thuốc thường có yêu cầu RSL tối thiểu trong hợp đồng; kênh cận date (flash sale xả hàng, livestream cận date) dùng ngưỡng thấp hơn nhưng phải ghi rõ HSD trên listing.

3.2 Ngưỡng nhận hàng

Ngưỡng nhận bảo vệ thời gian bán. Nếu lô vào kho đã sát ngưỡng bán, shop chỉ còn vài tuần để bán hết. Công thức:

Ngưỡng nhận (%) = Ngưỡng bán (%) + (Số ngày cần để bán hết lô / TSL) × hệ số an toàn

Số ngày cần để bán hết lô = Số lượng lô / Tốc độ bán trung bình ngày (lấy 30–60 ngày gần nhất, loại ngày campaign đột biến). Hệ số an toàn 1,3–1,5 để phòng tốc độ bán chậm lại. Ví dụ: kem dưỡng ngưỡng bán 25%, nhập 1.200 hộp, bán 15 hộp/ngày → 80 ngày → 7,3% TSL × 1,5 = 11% → ngưỡng nhận khoảng 36%, làm tròn 40%. Trên thực tế, hợp đồng mua hàng thường đặt cao hơn (60–70%) để giữ khoảng trống cho chậm bán và hàng tồn từ lô trước. Nếu nhà cung cấp chỉ giao được lô thấp hơn ngưỡng nhận, nhập có duyệt kèm điều kiện: giảm giá, được trả lại phần không bán hết, hoặc giảm số lượng.

3.3 Ngưỡng xả

Ngưỡng xả là lúc lô rời kênh bán thường. Khi lô dưới ngưỡng bán, hệ thống đổi trạng thái sang “cận date”, tồn không còn được đẩy lên listing thường. Từ thời điểm đó còn một khoảng hữu hạn để thu hồi giá trị: bán ở listing cận date có ghi rõ HSD, đưa vào combo, làm quà tặng có công bố hạn, bán cho kênh nhân viên, trả nhà cung cấp nếu hợp đồng cho phép, hoặc hủy có biên bản. Đặt mốc xả cứng ở ngưỡng bán trừ đi 5–10 điểm phần trăm: dưới mốc này lô bị khóa khỏi mọi kênh bán cho khách cuối, chỉ được trả nhà cung cấp hoặc hủy.

3.4 Bảng ngưỡng mẫu theo nhóm hàng

Nhóm hàngTSL điển hìnhNgưỡng nhận gợi ýNgưỡng bán B2C gợi ýMốc khóa bán
Mỹ phẩm chăm sóc da, hạn dài24–36 tháng60–70%25–35%15–20%
Thực phẩm chức năng, viên uống24 tháng65–75%30–40%20%
Thực phẩm khô, bánh kẹo6–18 tháng70–80%30–50%15–25%
Đồ uống đóng chai, lon6–12 tháng70–80%35–45%20%
Sữa bột, đồ ăn dặm (mẹ và bé)12–24 tháng70–80%40–50%30%
Thức ăn thú cưng12–18 tháng65–75%30–40%20%

Đây là khoảng gợi ý để bắt đầu thảo luận, không phải chuẩn ngành. Nhóm mẹ và bé đặt cao hơn vì khách nhạy cảm nhất với hạn dùng và tỷ lệ đánh giá xấu tăng mạnh khi hàng “còn ít hạn”. Sau 2–3 tháng, điều chỉnh theo dữ liệu: nếu tỷ lệ trả hàng hoặc đánh giá nhắc tới hạn dùng tăng ở một nhóm, nâng ngưỡng bán của nhóm đó lên 5 điểm.

4. Mô hình dữ liệu: SKU – lô – hạn – vị trí – trạng thái

Mọi quy tắc FEFO đều đứng trên một bản ghi tồn ở mức chi tiết: SKU × lô × vị trí × trạng thái. Nếu hệ thống chỉ giữ tồn ở mức SKU × kho, FEFO chỉ có thể là gợi ý in trên giấy.

Trường dữ liệuGhi ở bướcAi sở hữuLỗi khi thiếu
SKU có cờ “quản lý theo lô/hạn dùng”Tạo SKU masterQuản trị dữ liệu sản phẩmMột số SKU có hạn bị nhập như hàng thường, không bao giờ cảnh báo
TSL chuẩn của SKUTạo SKU masterMua hàngKhông kiểm được lô có NSX/HSD đọc nhầm
Số lô, NSX, HSDNhận hàng, quét từng lôKho nhận hàngKhông có dữ liệu để FEFO và thu hồi
Vị trí kệ của lôCất hàng (putaway)KhoBiết lô nào cần xuất nhưng không biết nằm đâu
Trạng thái lôTự động theo ngưỡng hoặc QCHệ thống + QCLô cận date, cách ly vẫn đẩy lên sàn
Lô thực xuất trên mỗi dòng đơnQuét lấy hàng/kiểm hàngKho xuấtKhông thu hồi được theo lô, không đối chiếu khiếu nại
Lô trên kiện hoànNhận hàng hoànKho hàng hoànTồn lô trôi, lô cũ quay lại kệ lô mới

Hai quy tắc dữ liệu giúp tránh phần lớn lỗi:

  • Một ô kệ chỉ chứa một lô của một SKU khi có thể. Nếu kệ nhỏ buộc phải chứa hai lô, dùng ngăn chia và mã vị trí con (ví dụ A-03-02-1 và A-03-02-2). Nguyên tắc đặt mã vị trí xem tại thiết kế mã vị trí kho.
  • Mã lô quét được. Nếu bao bì nhà cung cấp chỉ in mã lô dạng chữ, dán nhãn nội bộ có barcode chứa SKU + lô + HSD lúc nhận hàng. Chi phí in nhãn thấp hơn nhiều chi phí một lần lấy sai lô hoặc một đợt thu hồi không truy được.

Chuẩn hóa SKU và barcode trước khi bật quản lý lô là bắt buộc; xem chuẩn hóa master data SKU, barcode và mapping đa sàn.

5. Bốn mức kiểm soát FEFO

Dùng bảng này để tự đánh giá hệ thống hiện tại và đánh giá nhà cung cấp phần mềm. Câu hỏi kiểm tra cho mỗi mức là một hành động cụ thể trên kho thật, không phải một tính năng trên slide.

MứcHệ thống làm gìCâu hỏi kiểm traLỗi vẫn lọt
F0 – Ghi chúHSD ghi trong Excel hoặc ghi chú sản phẩmHỏi: lô X còn bao nhiêu? Không trả lời đượcMọi lỗi: hết hạn tại kệ, giao lô cũ, không thu hồi được
F1 – Tồn theo lôPhiếu nhập ghi lô, báo cáo tồn theo lô, cảnh báo sắp hết hạnBáo cáo lô có khớp kệ sau 4 tuần không?Lô trên hệ thống trôi khỏi kệ vì xuất không ghi lô thật
F2 – Gợi ý FEFOPhiếu lấy hàng in lô và vị trí theo FEFONhân viên lấy lô khác thì hệ thống có biết không?Lấy sai lô không bị phát hiện; tồn lô lệch dần
F3 – Chặn tại quétPDA quét lô; lô sai bị từ chối hoặc phải có lý do và người duyệt; lô thật ghi vào đơnCố tình quét lô mới hơn: PDA có chặn không? Đơn có lưu lô đã quét không?Còn rủi ro nhập lô sai lúc nhận hàng; cần kiểm nhận hai người hoặc đối chiếu TSL

Phần lớn công cụ bán hàng và POS dừng ở F1–F2: có cảnh báo, có báo cáo, có gợi ý. Mức F3 cần WMS biết vị trí và bắt quét ở bước lấy hàng; đây cũng là khác biệt chính giữa OMS-only và OMS + WMS với hàng có hạn dùng. Ở F3 vẫn nên cho phép ngoại lệ có kiểm soát: ví dụ lô FEFO bị kẹt dưới pallet trong giờ cao điểm, quản lý ca duyệt xuất lô kế tiếp, hệ thống ghi lý do và tự tạo việc chuyển lô cũ lên vị trí lấy hàng.

6. Quy trình vận hành theo từng bước

6.1 Nhận hàng

  1. Phiếu nhập dự kiến (ASN/PO) có số lượng theo SKU; nếu nhà cung cấp gửi trước lô và HSD, nhập vào phiếu để so.
  2. Nhân viên nhận quét barcode SKU, nhập hoặc quét lô và HSD cho từng lô thực tế. Một SKU giao hai lô là hai dòng nhận.
  3. Hệ thống kiểm tra: HSD − NSX có lệch quá 10% so với TSL chuẩn không (phát hiện nhập nhầm ngày/tháng); RSL có dưới ngưỡng nhận không.
  4. Lô dưới ngưỡng nhận vào trạng thái “chờ duyệt”, không cất lên kệ bán, không tính tồn khả dụng, cho đến khi mua hàng duyệt nhận có điều kiện hoặc trả lại.
  5. In nhãn lô nội bộ nếu bao bì không có barcode lô.

Thời gian thêm cho mỗi dòng nhận khi bắt nhập lô thường là 15–40 giây, tùy việc HSD có được quét hay phải gõ tay. Với lô nhập 40 dòng, đó là 10–25 phút mỗi lần nhận — chi phí đáng kể nhưng là chi phí duy nhất để mọi bước sau có dữ liệu. Chi tiết quy trình nhận và cất: quy trình nhập kho receiving và putaway.

6.2 Cất hàng và bổ sung

Hệ thống gợi ý vị trí cho lô mới: ưu tiên ô trống hoặc ô dự trữ, không đổ lên ô đang chứa lô cũ hơn của cùng SKU. Khi ô lấy hàng (pick face) hết, lệnh bổ sung lấy từ dự trữ theo FEFO, không theo “thùng gần cửa nhất”. Kiểm tra định kỳ: mỗi tuần lọc các vị trí có hai lô cùng SKU không có ô con — đó là nơi lô cũ sẽ bị chôn.

6.3 Phân bổ đơn và giữ tồn

OMS giữ tồn ở mức SKU khi đơn vào, nhưng việc chọn lô nên để WMS làm ở thời điểm tạo đợt lấy hàng, vì đến lúc đó trạng thái lô có thể đã đổi (lô vừa xuống dưới ngưỡng bán, lô vừa bị QC cách ly). Ngoại lệ: kênh có yêu cầu RSL riêng (đại lý, siêu thị) phải mang yêu cầu RSL tối thiểu trên đơn, để WMS chỉ chọn lô đạt. Nếu một kho không có lô đủ RSL cho đơn sỉ, OMS phải được báo để chuyển kho hoặc tách đơn — xem phân bổ đơn đa kho.

6.4 Lấy hàng, kiểm hàng, đóng gói

Phiếu hoặc PDA hiển thị vị trí và lô chỉ định. Nhân viên quét vị trí, quét sản phẩm (barcode chứa lô hoặc nhãn lô nội bộ). Nếu lô quét khác lô chỉ định:

  • Lô quét có HSD sớm hơn lô chỉ định (nghĩa là dữ liệu vị trí đang sai): cho phép, ghi nhận, tạo việc kiểm đếm vị trí đó.
  • Lô quét có HSD muộn hơn: chặn; chỉ cho phép khi quản lý ca duyệt với lý do.
  • Lô quét ở trạng thái cận date, cách ly hoặc hết hạn: chặn tuyệt đối với đơn kênh thường.

Ở bàn kiểm/đóng gói, quét lại sản phẩm để xác nhận đúng SKU và số lượng; nếu bước lấy hàng chưa ghi lô (ví dụ lấy gom batch), bước kiểm hàng là nơi ghi lô thật vào từng đơn. Cách bố trí picking theo batch, wave có tác động lên việc ghi lô: lấy gom rồi chia đơn thì lô phải được ghi lúc chia — xem chiến lược lấy hàng theo đơn, batch, wave, zone.

6.5 Hàng hoàn

Hàng hoàn là nơi FEFO thường vỡ đầu tiên vì đội hàng hoàn chịu áp lực “cộng lại tồn cho nhanh”. Quy tắc:

  1. Quét mã vận đơn để gắn kiện vào đơn gốc; lấy danh sách lô đã xuất cho đơn đó.
  2. Quét lô trên từng hộp trả về; so với lô đã xuất. Nếu lô khác (khách trả nhầm hàng, hoặc bị đánh tráo), chuyển vào luồng kiểm tra — xem phát hiện hàng hoàn bị đánh tráo.
  3. Kiểm niêm phong, màng co, tem. Mỹ phẩm và thực phẩm đã mở không quay lại tồn bán được.
  4. Lô còn trên ngưỡng bán và nguyên vẹn → cất về đúng vị trí của lô đó. Dưới ngưỡng bán → trạng thái cận date. Mất niêm phong → khu cách ly.

Chi phí và quyết định xử lý hàng hoàn: quản lý hàng hoàn theo cost-to-recover.

6.6 Kiểm kê

Kiểm kê hàng có hạn dùng phải đếm theo lô, không chỉ theo SKU. Ưu tiên kiểm đếm vòng (cycle count) cho: SKU có nhiều lô đang mở, vị trí từng phát sinh lấy lô khác chỉ định, và lô sắp chạm ngưỡng bán trong 30 ngày tới. Chênh lệch theo lô cho biết quy trình lấy hàng có thực sự theo FEFO hay không, kể cả khi tổng SKU khớp. Xem độ chính xác tồn kho và cycle count.

7. Đồng bộ tồn lên sàn: chỉ đẩy lô “bán được”

Đây là lỗi tốn tiền nhất nhưng ít được nói nhất. Nếu tồn đẩy lên Shopee, TikTok Shop, Lazada là tổng tồn SKU, thì khi lô tốt bán hết, sàn vẫn hiện còn hàng nhờ lô cận date. Đơn đến, kho chỉ còn lô cận date: hoặc giao lô đó cho khách mua giá thường (rủi ro đánh giá xấu, trả hàng), hoặc hủy đơn (ảnh hưởng chỉ số hủy của shop).

Công thức đúng:

Tồn đẩy lên listing thường = Σ tồn các lô trạng thái “bán được” − tồn đã giữ − tồn an toàn

Tồn đẩy lên listing cận date = Σ tồn các lô trạng thái “cận date” − tồn đã giữ

Khi một lô chuyển trạng thái lúc 00:00, tồn đẩy lên sàn phải cập nhật trong cùng chu kỳ đồng bộ. Một listing cận date nên là listing riêng (hoặc biến thể riêng) ghi rõ HSD hoặc khoảng HSD, map sang cùng SKU nội bộ nhưng chỉ lấy tồn trạng thái cận date. Với quà tặng có hạn dùng, ghi rõ hạn dùng trong mô tả là yêu cầu được các hướng dẫn bán hàng phổ biến nhắc đến; không dùng lô dưới ngưỡng bán làm quà nếu chưa công bố. Về độ trễ đồng bộ chấp nhận được: SLA đồng bộ tồn kho đa sàn.

8. Bằng chứng định lượng: chi phí hết hạn và điểm xả tối ưu

8.1 Công thức chi phí hàng có hạn dùng theo tháng

KhoảnCông thứcNguồn dữ liệu
Hủy hàng hết hạnSố lượng hủy × giá vốn + chi phí hủyBiên bản hủy
Giảm giá xả cận dateSố lượng bán cận date × (giá thường − giá xả)Đơn listing cận date
Khiếu nại do hạn dùngSố đơn khiếu nại/trả vì hạn × (phí vận chuyển 2 chiều + giá trị hàng không bán lại + công xử lý)Lý do trả hàng, đánh giá
Hủy đơn do tồn ảoSố đơn hủy vì chỉ còn lô cận date × chi phí một đơn hủy (phạt, mất hạng, quảng cáo đã chi)Lý do hủy
Công tìm lô thủ côngGiờ công tìm và đảo kệ × đơn giá giờBấm giờ mẫu

Tỷ lệ chính cần theo dõi: tỷ lệ hao hụt hạn dùng = (giá trị hủy + giá trị giảm giá xả) / giá vốn hàng bán có hạn dùng. Không có chuẩn chung công bố cho ecommerce Việt Nam; dùng chính số của shop ở tháng đầu làm mốc và đặt mục tiêu giảm. Đây là chỗ cần dữ liệu thật của khách hàng để đưa vào bài sau.

8.2 Ví dụ tính minh họa

Một shop mỹ phẩm giả định: 180 SKU có hạn dùng, giá vốn hàng bán có hạn 1,2 tỷ đồng mỗi tháng. Trong một tháng: hủy 40 triệu hàng hết hạn; bán xả 300 đơn vị với mức giảm trung bình 120.000 đồng (36 triệu); 25 đơn trả vì hạn ngắn, mỗi đơn mất trung bình 180.000 đồng (4,5 triệu); 12 đơn hủy vì tồn ảo, giả sử 200.000 đồng/đơn (2,4 triệu). Tổng khoảng 83 triệu, tương đương khoảng 6,9% giá vốn hàng có hạn. Trong đó phần “hủy hết hạn” và “tồn ảo” là phần FEFO bắt quét và tách trạng thái lô có thể tác động trực tiếp; phần giảm giá xả giảm được nhờ phát hiện sớm hơn và ngưỡng nhận chặt hơn.

8.3 Khi nào nên xả sớm: điểm hòa vốn

Nhiều shop chờ đến khi lô “sắp hết hạn” mới giảm giá sâu. Phép tính đơn giản cho thấy xả sớm thường thu được nhiều hơn:

  • Số ngày còn bán được ở kênh thường = (RSL hiện tại − ngưỡng bán) × TSL.
  • Số lượng bán được trong thời gian đó = Số ngày còn bán × tốc độ bán ngày.
  • Phần dư dự kiến = Tồn lô − số lượng bán được.

Nếu phần dư dự kiến lớn hơn 0, phần đó chắc chắn sẽ rơi xuống cận date. Mức giảm giá để bán phần dư khi lô còn trên ngưỡng (ví dụ 10–15% qua combo, voucher nhắm khách mua lại) thường thấp hơn nhiều so với mức giảm 30–50% khi lô đã cận date, chưa kể phần không bán được phải hủy. Quy tắc gợi ý: chạy phép tính này mỗi tuần cho mọi lô; lô có phần dư dự kiến trên 10% số lượng lô thì đưa vào kế hoạch đẩy bán ngay trong tuần, trước khi chạm ngưỡng bán.

Ví dụ: lô kem chống nắng 800 hộp, RSL 42%, ngưỡng bán 25%, TSL 1.095 ngày → còn 186 ngày bán thường; tốc độ 3 hộp/ngày → bán được 558 hộp; dư dự kiến 242 hộp (30%). Đẩy bán 242 hộp bằng combo giảm 12% bây giờ tốn khoảng 242 × giá bán × 12%; chờ đến cận date phải giảm 40% và vẫn có thể hủy một phần. Tính tồn an toàn và điểm đặt hàng cho hàng có hạn dùng phải dùng chính phép tính này để không đặt mua quá khả năng bán trước ngưỡng — xem tồn kho an toàn và ROP mùa campaign.

8.4 Mốc thời gian một lô từ nhập đến xả

Mốc (RSL)Sự kiệnHành động hệ thốngNgười chịu trách nhiệm
≥ ngưỡng nhậnNhận hàngTrạng thái bán được, cất kệ, tính tồn khả dụngKho nhận
Ngưỡng bán + 15 điểmCảnh báo sớmChạy phép tính phần dư dự kiến; đề xuất đẩy bánKế hoạch hàng hóa / marketing
Ngưỡng bán + 5 điểmCảnh báo cuốiƯu tiên tuyệt đối trong FEFO; chặn nhập thêm cùng SKU nếu dư lớnMua hàng
Dưới ngưỡng bánChuyển cận dateRút khỏi tồn listing thường; đẩy tồn sang listing cận dateTự động
Dưới mốc khóa bánKhóaChặn mọi kênh khách cuối; tạo đề xuất trả NCC hoặc hủyQuản lý kho + kế toán
Quá HSDHết hạnChuyển khu hàng hủy; biên bản; ghi giảm tồnQuản lý kho + kế toán

9. Combo, quà tặng và bộ sản phẩm

Combo là nơi FEFO dễ sai vì nhân viên nhìn combo như một sản phẩm. Quy tắc:

  • Lô được ghi trên từng SKU thành phần khi quét lấy hàng, không ghi trên mã combo. Hệ thống tách combo thành thành phần trước khi chọn lô — xem quản lý tồn kho combo theo SKU thành phần.
  • Hạn dùng hiệu lực của combo là HSD ngắn nhất trong các thành phần. Combo có thành phần cận date phải bán ở listing có công bố.
  • Combo đóng sẵn (kitting) mang lô riêng của bộ, nhưng hệ thống phải lưu lô của từng thành phần đã dùng để thu hồi được.
  • Khi dùng combo để xả lô cận date của một thành phần, ghi rõ HSD của thành phần đó trên listing.

10. Thu hồi theo lô

Khi nhà sản xuất hoặc cơ quan quản lý yêu cầu thu hồi lô X, câu hỏi đầu tiên là phạm vi. Với dữ liệu ở mức F3, trả lời được trong vài phút:

  • Còn bao nhiêu đơn vị lô X, ở vị trí nào → khóa ngay trạng thái cách ly, trừ khỏi tồn khả dụng.
  • Bao nhiêu đơn đã giữ lô X nhưng chưa xuất → đổi lô hoặc giữ đơn.
  • Bao nhiêu đã xuất, cho đơn nào, kênh nào, ngày nào → danh sách liên hệ khách.
  • Bao nhiêu đang trên đường hoàn về → đánh dấu để khi kiện về không cộng lại tồn.

Ở mức F1–F2, “lô đã xuất” chỉ là lô gợi ý, nên phạm vi thật phải mở rộng ra toàn bộ SKU trong khoảng thời gian lô X có trong kho — chi phí liên hệ khách và hàng thu về lớn hơn nhiều. Quy trình chi tiết: thu hồi sản phẩm theo lô.

11. OMS-only hay OMS + WMS cho hàng có hạn dùng

Dấu hiệuOMS-only còn đủCần OMS + WMS
Vị trí mỗi SKUMột vị trí, người lấy cố định quen kệNhiều vị trí, có dự trữ và ô lấy hàng
Số lô đang mở mỗi SKUThường mộtThường hai trở lên
Đơn mỗi ngàyDưới khoảng 30Vài trăm trở lên, có đợt campaign
Nhân sự2–3 người cố địnhCó thời vụ, nhiều ca
Kênh có yêu cầu RSL riêngKhôngCó đại lý, siêu thị, nhà thuốc
Combo, kittingÍtNhiều combo, quà tặng
Rủi ro thu hồiThấpMẹ và bé, thực phẩm chức năng, thiết bị y tế
Kiểm tra lô thật / lô hệ thốngLệch dưới khoảng 2% số lô kiểmLệch trên khoảng 5% số lô kiểm dù tổng SKU khớp

OMS-only có thể làm tốt phần tồn theo lô ở mức kho, tách tồn bán được và cận date để đẩy lên sàn, và cảnh báo. Cái OMS không làm được là biết hộp nào nằm ở kệ nào và chặn nhân viên lấy sai — vì vậy OMS-only thực tế dừng ở F1–F2. Nếu đã có OMS và đang phân vân, xem khi nào chuyển từ OMS sang OMS + WMS.

12. Những sai lầm thường gặp (và câu trả lời mơ hồ cần sửa)

  1. “Hàng cận date là hàng còn vài ngày đến vài tháng”. Định nghĩa theo số ngày cố định làm mỹ phẩm hạn 36 tháng bị xả quá muộn và thực phẩm hạn ngắn bị xả quá sớm. Dùng RSL theo phần trăm và ngưỡng theo nhóm hàng.
  2. “Phần mềm tự động gợi ý FEFO là đủ”. Gợi ý không được kiểm chứng bằng quét là F2; dữ liệu lô sẽ trôi. Hỏi: lấy sai lô thì hệ thống có biết không.
  3. “Giảm giá, tặng kèm, combo để xử lý hàng cận date” mà không nói lúc nào. Xả sau khi đã cận date thường lỗ hơn đẩy bán sớm phần dư dự kiến. Chạy phép tính ở mục 8.3 hằng tuần.
  4. Tồn đẩy lên sàn là tổng tồn SKU. Lô cận date và cách ly phải nằm ngoài tồn listing thường.
  5. Hàng hoàn mặc định thuộc lô đã xuất. Quét lại lô; khách có thể trả hộp khác.
  6. Ghi lô trên mã combo. Lô thuộc về SKU thành phần.
  7. Chỉ kiểm kê tổng SKU. Tổng khớp không chứng minh FEFO đang chạy; phải kiểm theo lô.
  8. Nhập HSD bằng tay không kiểm. Nhập nhầm ngày/tháng (05/10 thành 10/05) tạo lô “còn hạn” sai; kiểm HSD − NSX so với TSL chuẩn.
  9. Mua theo giá tốt mà không theo RSL. Lô giá rẻ có RSL thấp thường đắt hơn sau khi tính phần phải xả.

13. Lộ trình triển khai 4 tuần

TuầnViệc chínhTiêu chí xong
1Gắn cờ SKU có hạn dùng, nhập TSL chuẩn; viết bảng ngưỡng theo nhóm hàng; kiểm kê theo lô toàn bộ SKU có hạn100% SKU có hạn có cờ và TSL; tồn theo lô khớp kệ
2Bắt nhập lô và HSD khi nhận hàng; in nhãn lô nội bộ cho SKU thiếu barcode lô; quy tắc một lô một ôMọi phiếu nhập mới có lô; không còn ô hai lô không chia
3Bật trạng thái lô tự động theo ngưỡng; tách tồn đẩy lên sàn; mở listing cận date; quét lô khi nhận hàng hoànTồn listing thường không gồm lô cận date; kiện hoàn có lô ghi nhận
4Bật chặn lô sai tại PDA lấy hàng/kiểm hàng; báo cáo ngoại lệ; kiểm đếm vòng theo lôLô thật ghi trên mỗi dòng đơn; ngoại lệ có lý do và người duyệt

Không bật chặn ở PDA trước khi kiểm kê theo lô xong ở tuần 1: nếu dữ liệu lô ban đầu sai, PDA sẽ chặn nhân viên lấy đúng hộp đang có trên kệ, và đội kho sẽ đòi tắt chặn. Kế hoạch đưa kho vào hệ thống mà không dừng bán: triển khai OMS + WMS không gián đoạn.

14. Checklist 5 việc làm ngay trong tuần này

  1. Xuất danh sách SKU có hạn dùng kèm tốc độ bán 30 ngày và TSL; điền ngưỡng nhận, bán, khóa theo bảng mục 3.4, chỉnh cho nhóm hàng của shop.
  2. Kiểm 20 vị trí có SKU nhiều lô: đếm theo lô, so với hệ thống; ghi tỷ lệ lô lệch. Trên khoảng 5% là dấu hiệu quy trình lấy hàng không theo FEFO.
  3. Kiểm tồn đang đẩy lên sàn của 10 SKU có lô cận date: tồn listing thường có đang gồm lô cận date không.
  4. Chạy phép tính phần dư dự kiến (mục 8.3) cho 20 lô lớn nhất; lập kế hoạch đẩy bán cho lô dư trên 10%.
  5. Thử một bài kiểm tra trên hệ thống hiện tại: tạo đơn, cố tình quét lô mới hơn lô chỉ định. Ghi lại hệ thống đang ở mức F nào.

15. Câu hỏi nên đặt cho nhà cung cấp phần mềm

  • Tồn được lưu ở mức SKU × lô × vị trí × trạng thái không? Trạng thái lô có đổi tự động theo ngưỡng RSL theo nhóm hàng không?
  • PDA có chặn quét lô HSD muộn hơn lô chỉ định không? Ngoại lệ cần ai duyệt và có lưu lý do không?
  • Lô thật đã quét có được lưu trên từng dòng đơn và xuất ra được để thu hồi không?
  • Tồn đẩy lên từng listing có lọc theo trạng thái lô không? Listing cận date map vào cùng SKU được không?
  • Đơn kênh sỉ có mang yêu cầu RSL tối thiểu để chọn lô không?
  • Nhận hàng hoàn có bắt quét lô và so với lô đã xuất không?

Cách biến các câu hỏi này thành kịch bản POC có ngưỡng đạt: chọn và nghiệm thu OMS + WMS. Bài cùng chủ đề theo ngành: kho mỹ phẩm, kho thực phẩm chức năng, kho mẹ và bé, quản lý batch và hạn sử dụng.

16. Kết luận

Quản lý hạn sử dụng cho shop đa sàn là bài toán dữ liệu ở mức lô và vị trí, không phải bài toán cảnh báo. Đặt ba ngưỡng bằng công thức theo phần trăm hạn dùng còn lại; cho trạng thái lô quyết định tồn nào được đẩy lên sàn; bắt quét lô ở nhận hàng, lấy hàng và hàng hoàn; chạy phép tính phần dư dự kiến mỗi tuần để xả sớm thay vì xả muộn. OMS đủ cho shop nhỏ một vị trí một lô; khi nhiều lô, nhiều vị trí, có thời vụ hoặc combo, FEFO chỉ đứng vững với WMS chặn tại quét.

Để đánh giá sát doanh nghiệp, xem phạm vi sản phẩm OMS + WMS, giải pháp bán hàng đa kênh, giải pháp vận hành kho, cam kết dịch vụ và cách xác nhận phạm vi, câu hỏi thường gặp, rồi đăng ký tư vấn với JST ERP Việt Nam. Mọi khả năng sản phẩm cần được xác nhận trên phạm vi triển khai thật.

Câu hỏi thường gặp

FEFO trong kho ecommerce khác gì FIFO?

FIFO xuất lô nhập trước; FEFO xuất lô hết hạn trước. Hai cách trùng nhau khi nhà cung cấp luôn giao lô mới hơn, nhưng lệch khi nhận hàng từ nhiều nhà cung cấp, nhận lại hàng hoàn hoặc nhập bù lô cũ. Với hàng có hạn dùng, quy tắc đúng là FEFO và phải được kiểm tra khi quét lấy hàng, không chỉ hiện gợi ý trên phiếu.

Hàng còn bao nhiêu phần trăm hạn dùng thì nên ngừng bán trên Shopee, TikTok Shop, Lazada?

Không có một con số chung. Cách tính: ngưỡng bán = số ngày khách cần dùng hết sản phẩm + thời gian giao + thời gian đổi trả + đệm an toàn, quy ra phần trăm hạn dùng còn lại. Với mỹ phẩm hạn 36 tháng dùng trong 2–3 tháng, ngưỡng thường rơi khoảng 20–30%; với thực phẩm hạn 6–12 tháng, thường 35–50%. Lô dưới ngưỡng nên rút khỏi tồn khả dụng đẩy lên sàn và bán ở kênh cận date có ghi rõ hạn dùng.

Có cần WMS để quản lý hạn sử dụng không, hay OMS là đủ?

OMS đủ khi mỗi SKU chỉ có một vị trí, thường chỉ một lô đang bán, đơn dưới khoảng 30 mỗi ngày và người lấy hàng cố định. Cần WMS khi một SKU có nhiều lô ở nhiều vị trí, có nhân viên thời vụ, có combo hoặc hàng hoàn nhiều: khi đó phải quét lô lúc lấy hàng và hệ thống phải từ chối lô không đúng FEFO, điều OMS không làm được vì OMS không biết hàng nằm ở kệ nào.

Hàng hoàn có hạn sử dụng xử lý thế nào để không làm sai FEFO?

Quét lại số lô và hạn dùng trên kiện hoàn, không mặc định hàng hoàn thuộc lô đã xuất. Kiểm tình trạng niêm phong; chỉ cộng lại tồn bán được khi còn nguyên và lô còn trên ngưỡng bán, nếu dưới ngưỡng thì vào tồn cận date, nếu mất niêm phong thì vào khu cách ly. Cất về vị trí của đúng lô, không dồn chung với lô mới.

Thu hồi sản phẩm theo lô cần dữ liệu gì?

Cần mỗi đơn đã xuất ghi nhận số lô thật đã quét, không phải lô gợi ý. Khi đó tra ngược được lô X đã đi vào những đơn, kênh, khách nào, còn bao nhiêu ở vị trí nào, bao nhiêu đang trên đường và bao nhiêu đang hoàn về. Nếu đơn chỉ ghi SKU, phải thu hồi toàn bộ SKU trong khoảng thời gian nghi ngờ.

Combo hoặc quà tặng có hàng hạn dùng thì quản lý lô thế nào?

Lô được ghi trên từng SKU thành phần khi quét lấy hàng, không ghi trên mã combo. Hạn dùng hiệu lực của combo là hạn ngắn nhất trong các thành phần. Quà tặng có hạn dùng phải ghi rõ hạn trong mô tả; không dùng lô dưới ngưỡng bán làm quà nếu chưa công bố.

Mang danh sách lô đang tồn đến buổi tư vấn FEFO

Chuẩn bị file tồn theo SKU – lô – hạn dùng – vị trí (nếu có), tốc độ bán 30 ngày của 20 SKU có hạn chạy nhất, số lô hết hạn hoặc phải xả trong 6 tháng qua và quy trình nhận hàng hoàn hiện tại. JST ERP Việt Nam có thể cùng đội vận hành dựng ngưỡng nhận, ngưỡng bán, ngưỡng xả theo từng nhóm hàng và xác định điểm cần quét bắt buộc trước khi bàn cấu hình và báo giá.

Đăng ký tư vấn quản lý lô và hạn dùngXem giải pháp vận hành kho

Bài viết liên quan

Giải pháp OMS + WMS

Giải pháp tìm hàng thất lạc và sai vị trí trong kho: khoanh vùng, hạn tìm và điều chỉnh tồn có duyệt bằng OMS + WMS

Biến việc đi tìm hàng thành quy trình: ghi nhận khi PDA báo không thấy, xem lịch sử di chuyển, kiểm điểm trung gian, đặt hạn tìm và chỉ điều chỉnh tồn khi có mã nguyên nhân và người duyệt.

Giải pháp OMS + WMS

Giải pháp xử lý khiếu nại hàng khác mô tả: đối chiếu listing, lô và checking bằng OMS + WMS

Phân loại khiếu nại theo nguyên nhân gốc (listing, kho, lô nhà cung cấp, kỳ vọng khách), đối chiếu dữ liệu từng đơn, đưa hàng hoàn vào chờ QC và tạm giữ lô khi vượt ngưỡng.

Giải pháp OMS + WMS

Giải pháp quản lý hàng giá trị cao: khu khóa, quét serial và kiểm đếm hai người bằng OMS + WMS

Gắn cờ SKU giá trị cao, đặt vào khu khóa có phân quyền, quét serial ở mọi lần di chuyển, kiểm đếm hai người tại điểm bàn giao và đối soát theo ca để truy ra đúng ca, đúng bước khi thiếu hàng.

Giải pháp OMS + WMS

Giải pháp xử lý đơn chuyển khoản chờ xác nhận: giữ hàng có hạn, khớp tiền về với mã đơn bằng OMS + WMS

Đặt trạng thái chờ thanh toán có hạn giữ hàng, chỉ cho picking khi tiền đã khớp mã đơn, xử lý chuyển thiếu, thừa, trùng và tự nhả tồn khi hết hạn.

Gọi tư vấnNhận demo