Ở phần 173 ta đã tạo một Lệnh sản xuất: làm 10 gói cà phê Arabica, trạng thái "Đã xác nhận". Nhưng lúc đó mẻ hàng mới chỉ là kế hoạch — chưa có gì thật sự xảy ra với kho. Bài này ta bấm nút hoàn tất mẻ đó, và xem điều kỳ diệu: chỉ một thao tác mà kho tự động cân cả hai đầu — nguyên liệu bị trừ đi, thành phẩm được cộng vào.

Đây chính là lý do người ta chịu khó khai định mức, lệnh sản xuất: để không phải ngồi cộng trừ kho bằng tay.

Hai chuyện xảy ra khi một mẻ hàng hoàn tất

Khi bạn báo "đã làm xong 10 gói" (trên màn hình là nút Sản xuất tất cả), Odoo làm hai việc ngược chiều nhau:

  1. Tiêu hao nguyên liệu — trừ khỏi kho đúng số đã dùng: 10kg hạt + 10 túi + 10 nhãn biến mất khỏi kho nguyên liệu.
  2. Nhập thành phẩm — cộng vào kho đúng số làm ra: 10 gói cà phê hiện ra trong kho thành phẩm.

Sau khi hoàn tất, lệnh sản xuất chuyển sang trạng thái Hoàn tất:

Lệnh sản xuất WH/MO/00001 sau khi hoàn tất trong Odoo, thanh trạng thái Nháp - Đã xác nhận - Hoàn tất đang ở Hoàn tất, Số lượng 10,00 trên 10,00; tab Thành phần cho thấy Hạt Arabica rang, Túi zip, Nhãn dán mỗi thứ Cần sử dụng 10 và Đã sử dụng 10; khung trao đổi ghi MO Hoàn tất, Confirmed sang Done

Hình 1: Lệnh sản xuất WH/MO/00001 đã Hoàn tất (thanh trạng thái nhảy tới ô cuối). Số lượng giờ là 10,00 / 10,00 — đã làm đủ 10 trên 10. Cột Đã sử dụng ở tab Thành phần ghi rõ mỗi nguyên liệu đã tiêu hao đúng 10: đây chính là phần trừ kho nguyên liệu. Khung trao đổi bên phải ghi lại: "Confirmed → Done".

Để ý: cột Cần sử dụng và Đã sử dụng giờ khớp nhau (10 và 10). Nếu thực tế hao hụt khác kế hoạch (ví dụ làm rơi mất ít hạt), bạn sửa số "Đã sử dụng" cho đúng thực tế trước khi hoàn tất — và kho sẽ trừ theo con số thật đó.

Bằng chứng: kho thành phẩm nhảy lên

Nói trừ với cộng thì phải kiểm được. Mở hồ sơ sản phẩm của gói cà phê Arabica (app Tồn kho → Sản phẩm):

Hồ sơ sản phẩm Cà phê rang xay Arabica 1kg trong app Tồn kho của Odoo, nút số lượng trên cùng ghi 90,00 Đơn vị, dòng Số lượng hiện có ghi 90,00 Đơn vị, Loại sản phẩm Hàng hóa, ô Theo dõi hàng tồn kho được tích Theo số lượng

Hình 2: Hồ sơ Cà phê rang xay Arabica 1kg. Dòng Số lượng hiện có: 90,00 Đơn vị (và nút lớn phía trên cũng ghi 90,00). Trước mẻ này kho có 80 gói; làm thêm 10 gói, kho thành 90 — đúng bằng số cộng vào. Ô Theo dõi hàng tồn kho → Theo số lượng được tích, nên Odoo mới đếm tồn cho sản phẩm này.

Con số 90 không phải ai gõ vào — nó tự tăng +10 đúng lúc lệnh sản xuất hoàn tất. Đó là "nhập thành phẩm" tự động.

Một lưu ý thật về nguyên liệu trong ví dụ này

Thẳng thắn để bạn không bối rối: trong dữ liệu mẫu của quán, ba nguyên liệu (hạt, túi, nhãn) được khai kiểu không đếm tồn kho theo số lượng, nên hồ sơ của chúng không hiện một con số tồn cụ thể. Việc tiêu hao vẫn được ghi đầy đủ trên lệnh sản xuất (cột "Đã sử dụng 10" ở Hình 1) — nhưng muốn nhìn thấy tồn nguyên liệu giảm dần, bạn cần bật "Theo dõi hàng tồn kho → Theo số lượng" cho từng nguyên liệu (đúng ô đã tích ở Hình 2 cho thành phẩm).

Đây là điểm người mới hay vấp: chỉ sản phẩm được bật theo dõi tồn kho mới có con số tồn. Bật cho cái gì, Odoo đếm cái đó.

Vì sao cơ chế này quan trọng

Hãy tưởng tượng làm thủ công: mỗi lần đóng 10 gói, phải nhớ trừ sổ 10kg hạt, 10 túi, 10 nhãn, rồi cộng sổ 10 gói thành phẩm. Ngày làm chục mẻ là sổ sách loạn ngay. Odoo gộp tất cả vào một nút bấm:

  • Không quên trừ nguyên liệu → không bao giờ bán khống thứ chưa có.
  • Thành phẩm tự vào kho → bán hàng thấy ngay còn bao nhiêu để giao.
  • Mọi lần cộng trừ đều có dấu vết (ai làm, mẻ nào, lúc nào) để tra khi cần.

Nhớ ba ý

  1. Hoàn tất một lệnh sản xuất = hai việc cùng lúc: tiêu hao nguyên liệu (trừ kho) và nhập thành phẩm (cộng kho).
  2. Cột "Đã sử dụng" trên lệnh là số nguyên liệu thực trừ; sửa cho khớp thực tế trước khi hoàn tất nếu có hao hụt.
  3. Chỉ sản phẩm bật "Theo dõi hàng tồn kho" mới có con số tồn — thành phẩm cà phê ở đây tăng đúng +10 (80 → 90) sau mẻ.

Ta đã đi hết một vòng sản xuất đơn giản: công thức → lệnh → hoàn tất → kho tự cân. Nhưng nhiều thành phẩm lại làm từ những bán thành phẩm cũng phải tự sản xuất (hạt rang chẳng hạn). Phần sau nói về định mức nhiều cấp (BoM nhiều tầng) — công thức lồng trong công thức.