Bỏ qua

Quy trình Bán hàng — Sales Order (B2B)

Module Odoo: Sales, Contacts Ai sử dụng: Nhân viên Sales, Trưởng nhóm Sales Kết quả: Tạo đơn bán hàng (Sales Order) cho đại lý, kích hoạt quy trình xuất kho


1. Tổng quan quy trình

Đại lý liên hệ đặt hàng (Zalo/ĐT)
    → Sales kiểm tra tồn kho
    → Sales tạo Sales Order trên Odoo
    → Confirm đơn
    → Hệ thống tự tạo Delivery Order cho kho
    → Kho xử lý xuất hàng (xem quy trình Xuất kho)

2. Trước khi bán: Thiết lập đại lý trong hệ thống

Mỗi đại lý phải được tạo trong Odoo trước khi tạo đơn hàng. Đây là việc của quản lý hoặc admin.

Cách tạo đại lý mới

Đường dẫn: Contacts → Create

Các trường bắt buộc:

Trường Giải thích Ví dụ
Company Name Tên công ty đại lý Đại lý ABC
Tax ID Mã số thuế 0312345678
Is a Customer Đánh dấu là khách hàng
Salesperson Sales phụ trách Nguyễn Văn A
Pricelist Bảng giá áp dụng Đại lý Cấp 1
Payment Terms Hạn thanh toán 30 ngày

Thêm địa chỉ giao hàng & xuất hoá đơn:

Một đại lý có thể có nhiều địa chỉ khác nhau. Trong tab "Contacts & Addresses" của đại lý: - Bấm Add → chọn Type: - Invoice Address = Địa chỉ xuất hoá đơn - Delivery Address = Địa chỉ giao hàng (có thể nhiều kho khác nhau) - Contact = Người liên hệ (người đặt hàng, kế toán, nhận hàng...)


3. Tạo đơn bán hàng (Sales Order)

Bước 1 — Mở màn hình tạo đơn

Đường dẫn: Sales → Orders → Create

Bước 2 — Điền thông tin đầu đơn

Trường Cách điền Lưu ý
Customer Chọn đại lý Gõ tên để tìm. Hệ thống tự load Pricelist, Payment Terms
Invoice Address Tự fill từ đại lý Kiểm tra lại nếu đại lý có nhiều địa chỉ
Delivery Address Tự fill hoặc chọn Chọn đúng kho/chi nhánh đại lý cần giao
Pricelist Tự fill từ đại lý Không sửa trừ khi có lệnh từ quản lý
Payment Terms Tự fill từ đại lý Không sửa trừ khi có lệnh từ quản lý

Bước 3 — Thêm sản phẩm vào đơn (Order Lines)

Bấm Add a line trong tab Order Lines:

Trường Cách điền Lưu ý
Product Gõ tên hoặc mã sản phẩm Gõ SKU chính xác để tránh nhầm
Quantity Số lượng đại lý đặt Kiểm tra cột Forecasted (dự kiến tồn)
Unit Price Tự fill theo Pricelist Không sửa giá trừ khi được duyệt
Tax Tự fill (VAT 10%) Kiểm tra đúng loại thuế

Cột quan trọng cần chú ý: - Forecasted Quantity: Số lượng dự kiến có thể bán = Tồn kho - Đã giữ cho đơn khác + Đang về. Nếu số này < số lượng đặt → cảnh báo thiếu hàng, báo quản lý trước khi confirm.

Bước 4 — Xác nhận đơn hàng

Bấm nút Confirm.

Điều gì xảy ra khi bấm Confirm: 1. Đơn chuyển trạng thái từ Quotation → Sales Order (có mã SO) 2. Hệ thống tự động tạo Delivery Order tại kho → Nhân viên kho sẽ thấy đơn cần xử lý 3. Hàng trong kho được reserve (giữ) cho đơn này → Đơn khác không thể lấy phần hàng đã giữ 4. Tuỳ cấu hình: Hoá đơn (Invoice) có thể được tạo ngay hoặc chờ giao hàng xong

⚠️ Lưu ý: Sau khi Confirm, KHÔNG tự ý sửa đơn. Nếu đại lý muốn thay đổi, liên hệ quản lý để xử lý (huỷ đơn cũ + tạo mới, hoặc unlock sửa).


4. Theo dõi trạng thái đơn hàng

Sau khi confirm, đơn hàng có 2 indicator riêng biệt:

Indicator Trạng thái Nghĩa
Delivery Status Nothing to Deliver Chưa có gì để giao (hiếm gặp)
Waiting Chưa đủ hàng trong kho
Ready Hàng đã sẵn sàng, kho có thể xuất
Partially Delivered Đã giao một phần
Delivered Đã giao đủ
Invoice Status Nothing to Invoice Chưa có gì để lập hoá đơn
To Invoice Cần lập hoá đơn
Fully Invoiced Đã lập hoá đơn đủ

Cách xem: Mở SO → nhìn trạng thái ở góc trên bên phải, hoặc xem trong danh sách đơn hàng (Sales → Orders).


5. Chính sách giá (Pricelist) — Dành cho quản lý

DTR sử dụng hệ thống bảng giá theo cấp đại lý. Mỗi đại lý được gán 1 Pricelist, giá trên đơn hàng tự động fill theo Pricelist đó.

Cách Pricelist hoạt động

Mỗi Pricelist chứa các rules (quy tắc giá), ưu tiên từ trên xuống dưới:

Ví dụ Pricelist "Đại lý Cấp 1":

Ưu tiên Áp dụng cho Quy tắc Kết quả
1 Sản phẩm "Sạc Energizer 20W" Giá cố định 210,000đ
2 Danh mục "Cáp sạc" Giảm 30% từ giá niêm yết Cable 100K → bán 70K
3 Tất cả sản phẩm Giảm 25% từ giá niêm yết Áp dụng khi không match rule trên

3 loại quy tắc giá: - Discount %: Giảm theo phần trăm từ giá gốc - Fixed Price: Giá cố định cho 1 sản phẩm cụ thể - Formula: Tính theo công thức (VD: giá vốn + 15% + làm tròn)

Cách tạo/sửa Pricelist

Đường dẫn: Sales → Configuration → Pricelists

⚠️ Chỉ quản lý hoặc CTO mới được phép tạo/sửa Pricelist. Sales không có quyền thay đổi giá.


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

Đại lý muốn huỷ đơn đã confirm

  1. Mở SO → bấm Cancel
  2. Hệ thống tự huỷ Delivery Order liên quan
  3. Hàng đã reserve sẽ được trả lại tồn kho
  4. Nếu đã xuất hoá đơn → cần tạo Credit Note (hoá đơn điều chỉnh)

Đại lý muốn thêm/bớt sản phẩm sau khi confirm

  • Không được sửa trực tiếp trên SO đã confirm
  • Cách xử lý: Báo quản lý → Quản lý Unlock SO → Sửa → Lock lại
  • Hoặc: Huỷ SO cũ, tạo SO mới

Đại lý đặt hàng nhưng kho hết hàng

  • Tạo SO bình thường, confirm
  • Delivery Order sẽ ở trạng thái Waiting (chờ hàng)
  • Khi hàng nhập về kho → Odoo tự chuyển sang Ready
  • Sales cần thông báo đại lý về thời gian dự kiến có hàng

7. Checklist cho Sales khi tạo đơn

  • [ ] Chọn đúng đại lý
  • [ ] Kiểm tra địa chỉ giao hàng đúng chi nhánh/kho đại lý cần
  • [ ] Kiểm tra Pricelist đã đúng cấp đại lý chưa
  • [ ] Gõ đúng SKU sản phẩm (không chọn nhầm sản phẩm tên giống)
  • [ ] Kiểm tra Forecasted quantity — nếu thiếu hàng, báo quản lý
  • [ ] Kiểm tra tổng tiền hợp lý trước khi Confirm
  • [ ] Sau khi Confirm — kiểm tra Delivery Order đã được tạo chưa

Cập nhật lần cuối: 2026-03-06 Quy trình liên quan: Xuất kho & Giao hàng · Công nợ & Thu tiền