Cảnh ai bán hàng cũng sợ: đang giờ cao điểm thì hết ly giấy, khách đứng chờ, mình cuống cuồng gọi nhà cung cấp. Nguyên nhân thường không phải "quên mua" mà là "không ai canh kho kịp".
Odoo có cách để máy canh giùm: bạn khai một mức tối thiểu cho mỗi mặt hàng; hễ tồn tụt xuống dưới ngưỡng đó, Odoo tự báo và tự soạn sẵn đơn mua để kéo tồn lên mức tối đa. Tính năng này gọi là quy tắc tái đặt hàng (reordering rules). Bài này dựng từ số 0.
Ý tưởng: min – max
Mỗi quy tắc gói gọn trong hai con số:
- Tối thiểu (min): ngưỡng báo động. Tồn tụt xuống dưới đây là phải mua thêm.
- Tối đa (max): mức muốn đầy lại. Odoo đề xuất mua sao cho tồn trở về mức này.
Ví dụ ly giấy: min 50, max 200. Khi còn 20 (dưới 50), Odoo tính "cần kéo lên 200" → đề xuất mua 180.
Bước 1: Xem màn Quy tắc tái đặt hàng
Vào Tồn kho → Sản phẩm → Quy tắc tái đặt hàng (hoặc từ nút trên sản phẩm). Mỗi dòng là một quy tắc:

Hình 1: Màn Quy tắc tái đặt hàng với sản phẩm Ly giấy 8oz (gói 50). Các cột: Hiện có 20 (đang có trong kho), Tối thiểu 50, Tối đa 200, Trình kích hoạt: Tự động. Vì 20 < 50 nên quy tắc kích hoạt. Cột Dự báo hiện 200 — đó là con số sau khi Odoo đã tạo đơn mua bù ở bước dưới (20 hiện có + 180 hàng đang mua về = 200 = mức tối đa), nên cột Cần đặt giờ về 0: nhu cầu đã được đáp ứng.
Con số "Dự báo" khác "Hiện có": hiện có là hàng đang nằm trong kho lúc này, còn dự báo tính thêm hàng sắp về và hàng sắp xuất — bức tranh tương lai gần.
Bước 2: Odoo tự soạn đơn mua
Đây là phần "sướng". Khi quy tắc kích hoạt (bằng nút bổ sung, hoặc Odoo tự chạy theo lịch), nó tự tạo một yêu cầu báo giá đúng số lượng cần, gửi đúng nhà cung cấp đã khai cho sản phẩm:

Hình 2: Yêu cầu báo giá P00003 — Odoo tự tạo, không phải tôi gõ. Nhà cung cấp Nông trại Cà Phê Đắk Lắk (nơi ta đã khai bán ly giấy), dòng Ly giấy 8oz số lượng 180 (= 200 tối đa − 20 hiện có), đơn giá 30.000 lấy từ giá nhà cung cấp, tổng 5.400.000. Chatter ghi "Purchase Order created". Việc của bạn chỉ còn là kiểm rồi bấm xác nhận — máy lo phần canh và soạn.
Nhờ vậy, chuyện "mua thêm" chuyển từ phải nhớ sang máy nhắc và soạn sẵn. Bạn chỉ duyệt.
Vì sao cần cả tối thiểu lẫn tối đa?
- Chỉ có tối thiểu thì biết khi nào mua, nhưng mua bao nhiêu? Tối đa trả lời câu đó.
- Đặt max quá cao → ôm hàng, đọng vốn, cà phê để lâu mất ngon.
- Đặt min quá thấp → dễ hết hàng vì hàng chưa kịp về (nhớ thời gian giao ở bài trước!).
Mẹo: đặt min đủ để cầm cự trong thời gian giao của nhà cung cấp. Nhà cung cấp giao 5 ngày, mỗi ngày bán ~10 → min ít nhất 50 để không hụt trong lúc chờ.
Vài lưu ý cho người mới
- Sản phẩm phải có nhà cung cấp và tuyến "Mua" thì Odoo mới tạo được đơn mua tự động; thiếu là quy tắc kích hoạt nhưng không biết mua ở đâu.
- "Dự báo" mới là con số quyết định, không phải "hiện có" — vì nó tính cả hàng đang về và đơn bán đang chờ.
- Chạy tự động theo lịch: Odoo có tác vụ nền quét quy tắc mỗi ngày; bạn cũng bấm bổ sung thủ công bất cứ lúc nào.
Nhớ ba ý
- Quy tắc tái đặt hàng = min + max: tồn dưới tối thiểu thì Odoo mua bù lên tối đa.
- Odoo tự soạn yêu cầu báo giá đúng số lượng, đúng nhà cung cấp — bạn chỉ duyệt.
- Đặt min theo thời gian giao để không hụt hàng trong lúc chờ; đừng đặt max quá cao kẻo đọng vốn.
Khi tồn thấp, Odoo gợi ý mua ở nhà cung cấp mặc định. Nhưng nếu có mấy nơi bán cùng mặt hàng, làm sao chọn nơi lợi nhất? Phần 83 sẽ xem cách so sánh báo giá nhiều nhà cung cấp.