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¶
- In phiếu lấy hàng (nếu cần): Bấm Print → Pick List
- Đi lấy hàng theo danh sách, từng dòng:
- Đến vị trí kệ được chỉ định
- Lấy đúng số lượng
- Nếu sản phẩm có Lot/Serial: Scan hoặc nhập mã lot/serial vào cột tương ứng
- Điền số lượng thực tế vào cột Done
- 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¶
- Kiểm tra hàng trong khu Output:
- Đối chiếu sản phẩm + số lượng với Delivery Order
- Kiểm tra lot/serial nếu có
- Đóng gói (nếu cần):
- Dán nhãn, ghi mã đơn
- Ghi chú đặc biệt (hàng dễ vỡ, v.v.)
- Giao cho shipper/đối tác vận chuyển:
- Ghi mã vận đơn (Tracking Number) nếu dùng 3PL
- 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¶
- Mở Inventory → Barcode (hoặc mở app Barcode trên điện thoại)
- Chọn Operation Type (Pick hoặc Delivery)
- Scan từng sản phẩm → hệ thống tự điền vào cột Done
- Nếu sản phẩm track by Lot/Serial → scan mã lot/serial
- 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¶
- Không đưa hàng hỏng vào đơn
- Điền Done = số lượng thực tế tốt
- Validate → chọn Create Backorder cho phần thiếu
- 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¶
- Hàng quay về kho → tạo Return trên Delivery Order (bấm nút Return)
- Hệ thống tạo phiếu nhận hàng trả về → Validate → hàng nhập lại kho
- 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