Ở bài trước, ta xác nhận đơn mua và Odoo tạo sẵn một phiếu nhập kho ở trạng thái Sẵn sàng. Nhưng lúc đó hàng chưa thực sự về — tồn kho vẫn chưa nhúc nhích. Giờ xe cà phê đã tới cửa kho, ta cần nói với hệ thống: "hàng về rồi, nhận vào đi". Đó là bước nhận hàng — và nó làm tồn kho tăng lên thật.

Bước 1: Mở phiếu nhập đang chờ

Từ đơn mua P00002 (500kg Robusta của Công ty Cà Phê Tây Nguyên), mở phiếu nhập kho vừa được tạo:

Phiếu nhập WH/IN/00005 trạng thái Sẵn sàng, Nhập từ Công ty Cà Phê Tây Nguyên, chứng từ gốc P00002, dòng Robusta nhu cầu 500 số lượng 500 kg, có nút Xác nhận

Hình 1: Phiếu WH/IN/00005 đang ở Sẵn sàng — nghĩa là mọi thứ đã chuẩn bị xong, chỉ chờ bạn xác nhận đã nhận hàng thật. Nhập từ Công ty Cà Phê Tây Nguyên, Chứng từ gốc P00002 (đơn mua). Dòng hàng ghi Nhu cầu 500 / Số lượng 500 kg — số lượng dự kiến nhận. Nút tím Xác nhận ở góc trái là thứ ta sắp bấm.

Cột Số lượng cho phép sửa nếu thực nhận khác dự kiến (ví dụ nhà cung cấp chỉ giao 480kg). Ở đây hàng về đủ 500 nên để nguyên.

Bước 2: Xác nhận đã nhận

Bấm Xác nhận. Phiếu chuyển sang Hoàn tất:

Phiếu nhập WH/IN/00005 ở trạng thái Hoàn tất, lịch sử ghi Sẵn sàng chuyển Hoàn tất, dòng Robusta 500 kg đã nhận

Hình 2: Phiếu giờ ở Hoàn tất. Lịch sử bên phải ghi bước chuyển Sẵn sàng → Hoàn tất. Ngay khoảnh khắc này, 500kg Robusta chính thức nằm trong kho — không còn là "hàng đang về" mà là hàng thật, sẵn sàng để bán. Việc này đảo ngược lại đúng chiều so với phiếu giao hàng (OUT) ở phần bán: OUT làm tồn giảm, IN làm tồn tăng.

Bước 3: Kiểm chứng — tồn kho đã tăng

Đây mới là điểm mấu chốt. Mở sản phẩm Robusta và nhìn con số tồn:

Sản phẩm Cà phê hạt Robusta 1kg, ô Số lượng hiện có ghi 1.000,00 kg, nút smart Hiện có 1.000,00 kg

Hình 3: Trên sản phẩm Robusta, ô Số lượng hiện có giờ là 1.000,00 kg. Trước lô này kho có 500kg (từ đơn mua ở bài trước), cộng thêm 500kg vừa nhận là 1.000kg — khớp chằn chặn. Nút smart phía trên cũng hiện 1.000,00 kg và Đã mua 1.000,00 kg. Tôi không gõ tay con số 1.000; nó do Odoo tự cộng khi phiếu nhập Hoàn tất.

Cả chuỗi ăn khớp: đơn mua 500 → phiếu nhập 500 → tồn +500. Không có chỗ nào phải nhập tay hai lần, không lệch một kg.

Vì sao phải có bước "nhận" riêng?

Người mới hay hỏi: sao xác nhận đơn mua xong không cộng tồn luôn cho nhanh?

Vì đặt mua và nhận được hàng là hai thời điểm khác nhau, có khi cách nhau cả tuần. Nếu cộng tồn ngay lúc đặt, hệ thống sẽ tưởng có hàng trong khi thực tế hàng còn trên đường — bán nhầm là toang. Bước "nhận" riêng đảm bảo tồn kho luôn phản ánh hàng thật đang có, không phải hàng đã đặt.

Vài lưu ý cho người mới

  • Chỉ xác nhận khi hàng đã thật sự về và bạn đã kiểm đếm. Xác nhận khống làm tồn ảo.
  • Nhận thiếu thì sửa cột Số lượng trước khi xác nhận; Odoo sẽ hỏi tạo "đơn giao còn lại" (backorder) cho phần chưa về.
  • Hàng nhận vào là loại lưu kho mới cộng tồn. Dịch vụ thì không có phiếu nhập.
  • Kiểm lại sản phẩm sau khi nhận — con số "Số lượng hiện có" là nguồn tin cậy để biết còn bao nhiêu mà bán.

Nhớ ba ý

  1. Nhận hàng = xác nhận phiếu nhập kho, biến "hàng đang về" thành hàng thật trong kho.
  2. Tồn kho tăng đúng số ngay khi phiếu Hoàn tất — Odoo tự cộng, không cần nhập tay.
  3. Đặt mua và nhận hàng là hai bước tách biệt để tồn kho luôn khớp thực tế, tránh bán nhầm hàng chưa về.

Hàng đã vào kho, nhưng còn khoản tiền phải trả nhà cung cấp. Phần 79 sẽ lập hoá đơn nhà cung cấp (Vendor Bill) từ đơn mua — ghi nhận công nợ phải trả.