Bỏ qua

Quy trình Xuất kho & Giao hàng — Fulfillment

Module Odoo: Inventory Ai sử dụng: Nhân viên kho, Quản lý kho Kết quả: Hàng được lấy từ kệ, kiểm tra, giao cho đại lý, trừ tồn kho


1. Tổng quan quy trình

Khi Sales xác nhận đơn hàng (Sales Order), hệ thống Odoo tự động tạo lệnh xuất kho cho nhân viên kho xử lý.

DTR sử dụng quy trình 2 bước (Pick + Ship):

SO được confirm
    → Hệ thống tạo Pick Order (lệnh lấy hàng)
    → Nhân viên kho lấy hàng từ kệ ra khu staging
    → Validate Pick Order
    → Hệ thống tạo Delivery Order (lệnh giao hàng)
    → Kiểm tra lần cuối, giao cho vận chuyển
    → Validate Delivery Order
    → Hàng chính thức ra khỏi kho, trừ tồn

2. Hiểu hệ thống vị trí kho (Locations)

Odoo quản lý kho theo cây vị trí. Mỗi lần hàng di chuyển = 1 lần chuyển từ Location A → Location B.

Kho HCM (WH)
├── Stock              ← Kho hàng chính (hàng nằm trên kệ)
│   ├── Kệ A
│   ├── Kệ B
│   └── Kệ C
├── Input              ← Khu nhận hàng (hàng mới về, chưa xếp kệ)
├── Output             ← Khu staging (hàng đã lấy, chờ giao)
└── Quality Control    ← Khu kiểm tra (nếu có)

Vị trí ảo (Virtual Locations) — không phải nơi vật lý, mà là khái niệm hệ thống: - Customers = Hàng đã giao cho khách (đã ra khỏi kho) - Vendors = Hàng từ nhà cung cấp (chưa vào kho) - Scrap = Hàng hỏng, loại bỏ


3. Bước 1 — Pick Order (Lấy hàng)

Tìm Pick Order cần xử lý

Đường dẫn: Inventory → Operations → Transfers → lọc theo Operation Type = "Pick"

Hoặc: Inventory → Operations → Transfers → lọc trạng thái Ready hoặc Waiting

Đọc hiểu Pick Order

Trường Nghĩa Ví dụ
Reference Mã phiếu lấy hàng WH/PICK/00123
Source Document Đơn hàng gốc (SO) SO0042
Source Location Lấy hàng từ đâu WH/Stock
Destination Location Đưa hàng đến đâu WH/Output
Status Trạng thái Ready / Waiting / Done

Bảng chi tiết hàng cần lấy (Detailed Operations)

Sản phẩm Demand (Cần) Reserved (Đã giữ) Done (Đã lấy)
Cable USB-C 100 100 ___
Sạc Energizer 20W 50 50 ___
Ốp iPhone 15 200 180 ___

Cách thực hiện

  1. In phiếu lấy hàng (nếu cần): Bấm Print → Pick List
  2. Đi lấy hàng theo danh sách, từng dòng:
  3. Đến vị trí kệ được chỉ định
  4. Lấy đúng số lượng
  5. Nếu sản phẩm có Lot/Serial: Scan hoặc nhập mã lot/serial vào cột tương ứng
  6. Điền số lượng thực tế vào cột Done
  7. Bấm Validate khi đã lấy xong

Khi không đủ hàng (Backorder)

Nếu cột Done < Demand (VD: cần 200 ốp nhưng chỉ lấy được 180), khi bấm Validate, hệ thống sẽ hỏi:

┌──────────────────────────────────────┐
│  Create Backorder?                    │
│                                       │
│  20 x Ốp iPhone 15 chưa xử lý.      │
│                                       │
│  [Create Backorder]  [No Backorder]   │
└──────────────────────────────────────┘
  • Chọn "Create Backorder": Hệ thống tạo Pick Order mới cho 20 cái còn thiếu. Khi hàng nhập về kho → phiếu này tự chuyển sang Ready.
  • Chọn "No Backorder": Huỷ luôn 20 cái thiếu, coi như đơn chỉ giao 180.

⚠️ Quy định DTR: Luôn chọn "Create Backorder" — trừ khi có lệnh từ quản lý. Đại lý đặt bao nhiêu, DTR phải giao đủ bấy nhiêu.


4. Bước 2 — Delivery Order (Giao hàng)

Sau khi Pick Order được validate, hệ thống tự tạo Delivery Order.

Tìm Delivery Order

Đường dẫn: Inventory → Operations → Transfers → lọc Operation Type = "Delivery Orders"

Đọc hiểu Delivery Order

Trường Nghĩa Ví dụ
Reference Mã phiếu giao WH/OUT/00089
Source Document Đơn hàng gốc SO0042
Delivery Address Địa chỉ giao Kho ABC, Thủ Đức
Carrier Đơn vị vận chuyển Tự giao / GHN / Viettel Post
Source Location Hàng từ đâu WH/Output
Destination Location Giao đến Customers (vị trí ảo)

Cách thực hiện

  1. Kiểm tra hàng trong khu Output:
  2. Đối chiếu sản phẩm + số lượng với Delivery Order
  3. Kiểm tra lot/serial nếu có
  4. Đóng gói (nếu cần):
  5. Dán nhãn, ghi mã đơn
  6. Ghi chú đặc biệt (hàng dễ vỡ, v.v.)
  7. Giao cho shipper/đối tác vận chuyển:
  8. Ghi mã vận đơn (Tracking Number) nếu dùng 3PL
  9. Bấm Validate khi hàng đã rời kho

Sau khi Validate Delivery Order → hàng chính thức trừ khỏi tồn kho, trạng thái SO chuyển sang Delivered.


5. Tracking hàng hoá: Lot & Serial Number

Phụ kiện công nghệ có nhiều loại. Mỗi loại được cấu hình tracking khác nhau:

Loại tracking Khi nào dùng Ví dụ Khi pick hàng phải làm gì
No Tracking Hàng rẻ, tiêu hao, không cần trace Miếng dán màn hình, móc khoá Chỉ cần điền số lượng
By Lot Hàng giá trung bình, trace theo lô nhập Cable USB-C, ốp lưng Chọn/scan mã Lot khi pick
By Serial Number Hàng giá cao, cần bảo hành từng cái Sạc dự phòng, tai nghe Scan từng serial number khi pick

⚠️ Track by Serial tốn thời gian nhất (phải scan từng cái). Chỉ áp dụng cho hàng thực sự cần bảo hành theo serial.


6. Cơ chế giữ hàng (Reservation)

Khi Sales confirm đơn hàng, Odoo tự động giữ (reserve) hàng trong kho cho đơn đó.

Ví dụ: - Kho có 500 Cable USB-C - SO#42 confirm → reserve 100 → Còn lại khả dụng: 400 - SO#43 confirm → reserve 350 → Còn lại khả dụng: 50 - SO#44 confirm, cần 100 → chỉ reserve được 50, thiếu 50

Trạng thái trên Pick/Delivery Order:

Trạng thái Nghĩa Nhân viên kho cần làm gì
Ready Đã giữ đủ hàng, sẵn sàng pick Xử lý bình thường
Partially Available Giữ được 1 phần, thiếu 1 phần Có thể pick phần có sẵn, tạo Backorder cho phần thiếu
Waiting Chưa có hàng Đợi hàng nhập về, hệ thống tự chuyển sang Ready

7. Sử dụng Barcode Scanner

Odoo hỗ trợ module Barcode — dùng điện thoại hoặc máy scan để xử lý Pick/Delivery nhanh hơn, giảm sai sót.

Cách dùng

  1. Mở Inventory → Barcode (hoặc mở app Barcode trên điện thoại)
  2. Chọn Operation Type (Pick hoặc Delivery)
  3. Scan từng sản phẩm → hệ thống tự điền vào cột Done
  4. Nếu sản phẩm track by Lot/Serial → scan mã lot/serial
  5. Khi xong → Validate trên màn hình

Lợi ích

  • Nhanh hơn nhập tay 3-5 lần
  • Giảm sai sót gần như về 0 (scan nhầm → hệ thống báo lỗi)
  • Nhân viên mới cũng làm được ngay

8. Các tình huống thường gặp

Hàng lấy ra bị hỏng/lỗi khi pick

  1. Không đưa hàng hỏng vào đơn
  2. Điền Done = số lượng thực tế tốt
  3. Validate → chọn Create Backorder cho phần thiếu
  4. Hàng hỏng → tạo Scrap Order: Inventory → Operations → Scrap → chọn sản phẩm, số lượng, lý do

Giao nhầm địa chỉ

  • Kiểm tra kỹ trường Delivery Address trên Delivery Order trước khi giao
  • Nếu đã giao nhầm → liên hệ quản lý để xử lý return (quy trình trả hàng)

Đại lý từ chối nhận hàng

  1. Hàng quay về kho → tạo Return trên Delivery Order (bấm nút Return)
  2. Hệ thống tạo phiếu nhận hàng trả về → Validate → hàng nhập lại kho
  3. Thông báo Sales để xử lý với đại lý

Cần chuyển hàng giữa các kho trước khi giao

Đường dẫn: Inventory → Operations → Transfers → Create - Source Location: Kho A / Stock - Destination Location: Kho B / Stock - Thêm sản phẩm + số lượng → Validate


9. Checklist cho nhân viên kho

Khi nhận Pick Order:

  • [ ] Kiểm tra trạng thái = Ready (đủ hàng)
  • [ ] In phiếu lấy hàng hoặc mở trên điện thoại
  • [ ] Lấy hàng đúng vị trí kệ được chỉ định
  • [ ] Kiểm tra đúng sản phẩm (SKU, mã) — scan barcode nếu có
  • [ ] Nhập lot/serial nếu sản phẩm yêu cầu
  • [ ] Điền số lượng Done chính xác
  • [ ] Validate — chọn Create Backorder nếu thiếu hàng

Khi xử lý Delivery Order:

  • [ ] Đối chiếu hàng trong khu Output với Delivery Order
  • [ ] Kiểm tra đúng địa chỉ giao hàng
  • [ ] Đóng gói, dán nhãn đơn hàng
  • [ ] Ghi mã vận đơn (nếu dùng 3PL)
  • [ ] Validate khi hàng đã giao cho shipper

Cập nhật lần cuối: 2026-03-06 Quy trình liên quan: Bán hàng (Sales Order) · Công nợ & Thu tiền