Skip to main content

Hướng dẫn tạo Packing List cho khách hàng bằng chức năng map thông tin khách hàng vào đơn hàng

Flow

Map:tả: ThôTài liệu mô tả toàn bộ luồng tinnghiệp kháchvụ hàngcủa module Packing List cho khách hàng

 — từ trang danh sách, liên kết thông tin khách hàng với đơn hàng, tạo và chỉnh sửa Packing List, đến book ship và hoàn tất vòng đời lô hàng.


TổngMục quan luồnglục

[

I. Trang danh sách Packing List cho khách hàng

Trang danh sách là điểm khởi đầu của toàn bộ module. Giao diện chia làm 2 khu vực chính: khu vực tìm kiếm & lọc dữ liệu, và danh sách các thẻ Packing List.

1. Tìm kiếm và lọc dữ liệu

Ô tìm kiếm tự do — hỗ trợ tìm kiếm theo các trường:

  • Mã Packing List / Invoice
  • Tên công ty Shipper
  • Tên người nhận / công ty Consignee
  • Mã carton
  • Mã / Tên đơn hàng
  • Người tạo Packing List
  • Khách hàng (action:tên và địa chỉ)

Bộ lọc trạng thái — dạng dropdown, các giá trị:

Giá trịÝ nghĩa
Chưa đặt shipPacking List chưa được book với FedEx
Đã đặt shipĐã book và có Tracking Code
Đang shipHàng đang trên đường vận chuyển
Đã nhận hàngNgười nhận đã ký nhận hàng

Bộ lọc Shipper — lọc theo chi nhánh gửi hàng.


2. Danh sách các thẻ Packing List

Mỗi dòng Packing List hiển thị các thông tin:

CộtGhi chú
Số InvoicePhía dưới có mã PKL với cỡ chữ nhỏ hơn
Khách hàngTên và địa chỉ
Tổng số thùng
Nơi gửiTên chi nhánh gửi
Ngày gửi
Ngày giao hàng dự kiến
Mã tracking FedExChỉ hiển thị nếu đã book ship, để trống nếu chưa
Tình trạngChưa tạo ship / Đã tạo ship / Đang vận chuyển / Đã nhận hàng

Người dùng được phép chọn số lượng bản ghi hiển thị trên mỗi trang (paginate).


3. Hành vi điều hướng từ danh sách

Khi nhấn vào số Invoice hoặc mã Packing List:

Điều kiệnHành vi
Người dùng là người tạo + chưa tạo ship + chưa xuất khoMở giao diện chỉnh sửa
Đã tạo ship hoặc đã xuất khoMở giao diện chỉ xem
Người dùng đăng nhập không phải người tạoMở giao diện chỉ xem

II. Tiền đề — Liên kết thông tin khách hàng với đơn hàng

Trước khi tạo Packing List, thông tin người nhận (Consignee) và đơn hàng cần được liên kết thông qua chức năng "Thông tin khách hàng") [Modal: Thông tin khách hàng] ↓ (chọtrên khách hàng / người nhận) [Modal: Danhdanh sách kháchđơnng]ng. ↓ (xác nhận) [Dữ liệu ngườinày nhậnsẽ được map vàotự đơnộng hàng] ↓ (làm nền tảng) [Tạo Packing List cho kháchkhông hàng]thể ↓ (book ship thàchỉnh công) [Packing List hoàn tất – khósửa toànthủ bộ]công.

1.

Bước 1 — Liên kết đơn hàng với khách hàng

Điều kiện truy cập:p

  • Người dùng phải có quyền Chỉnh sửa trên trang danh sách đơn hàng.

    ng
  • Áp dụng cho các loại đơn hàng: Múi / SA / Đơn hàng khách hàng

    1.1 Mở modal Thông tin khách hàng

    • TừTruy menucập: Menu thao tác của từng đơn hàng trên danh sách → chọn "Thông tin khách hàng"
    • Modal
    mở
    ra

    2. hiểLuồng chọn thị:
    • Mã đơnkhách hàng
    • và người nhận

    Modal Danh sách khách hàng (nếucho phép:

    • Tìm kiếm khách hàng theo tên / đãịa mapchỉ trước/ email / số đó)iện thoại / shipper
    • DanhTạo khách hàng mới với nhiều người nhận (nếu đã map trước đó)

1.2
  • Chọn khách hàng /hoặc người nhận (quacụ Modalthể
  • Danh sách

    Logic kháchlựa hàng)

    chọn:

    Cách chọn Kết quả hiển thị trong modal liên kết
    Chọn toàn bộ khách hàng Nhiều dòng — mỗi dòng =tương ứng 1 người nhận trong nhóm
    Chọn người nhận cụ thể 1 dòng duy nhất tương ứngcủa người nhận đó

    Có thể chọn nhiều người nhận từ nhiều nhóm khách hàng khác nhau.nhau (quan hệ nhiều–nhiều).

    Ràng buộc khi tạo / chỉnh sửa khách hàng:

    TrườngBắt buộcRàng buộc
    Tên khách hàngDuy nhất trong toàn bộ dữ liệu khách hàng, tối đa 255 ký tự
    Tên người nhậnTối đa 255 ký tự; nếu chỉ có 1 người nhận, hệ thống đề xuất theo tên khách hàng
    Địa chỉ giao hàngDuy nhất trong cùng 1 khách hàng, tối đa 255 ký tự
    Số điện thoạiĐúng định dạng (cho phép dấu +), tối đa 20 ký tự
    EmailĐúng định dạng local-part@domain, tối đa 255 ký tự

    1.33. Nhập thông tin giao hàng

    cho

    Sau từngkhi ngườixác nhận

    Mỗchọn từ modal Danh sách khách hàng, mỗi thẻ người nhận cần điền:

    lệ,khô
    Trường Loại Bắt buộcRàng buộc
    Tên người nhận Chỉ đọc (tự động điền)
    Địa chỉ giao hàng Chỉ đọc (tự động điền)
    Shipper Select (hiện có hoặc tạo mới)i (dạng tag) Không được để trống
    Số lượng giao hàngNhập tay Số nguyên dương > 0, tối đa 12 chữ số
    Ngày giao hàng dự kiến NgàyDate hợppicker Không được là ngày quá khứ

    1.44. Lưu liên kết

    • Nhấn Lưu → hệ thống kiểm tra validation và lưu dữ liệu liên kết
    • Dữ liệu liên kết có thể xem lại /hoặc cập nhật bất kỳ lúc nào khi mở lại modal

    Bước 2 —
  • Dữ liệu đượcnày map sang Packing List
  • Sau khi liênền kết đơn hàng–khách hàng thành công, các thông tin sau tự độtảng được map và không thể chỉnh sửa thủ công trong Packing List:

    Dữ liệu mapNguồn gốc
    Thông tin Consignee (người nhận)Từ dữ liệu người nhận đã liên kết
    Thông tin Shipper (người gửi)Từ trường Shipper đã chọn ở bước liên kết
    Đơn hàng & số lượngTừ đơn hàng đã chọn + số lượng giao hàng

    ⚠️ Nếu cố tình xóa dữ liệu map ở phân hệ gốc, hệ thống sẽ cảnh báo và xóa luôn Packing List liên quan.


    Bước 3 — Tạtạo Packing List cho khách hàng

    III. Tạo và chỉnh sửa Packing List

    1. Truy cập:p chức năng

    • Tạo mới: Tại màn hình Danhdanh sách Packing List → nhấn + Tạo Packing List (góc trên bên phải)
    • Chỉnh sửa: Nhấn nút chỉnh sửa trên từng Packing List (chỉ người tạo mới thực hiện được)

    Tài khoản phải được cấp quyền Chỉnh sửa để thực hiện thao tác này.


    3.12. Khai báoTab Thông tin chung

    Trường Bắt buộc Ghi chú
    Số Invoice
    Ngày gửi hàng Không được chọn ngày quá khứ
    Shipper (Người gửi) Tự điền từ dữ liệu mapmap; quốc gia, tên công ty, SĐT (+84...), địa chỉ, thành phố được điền tự động
    Consignee (Người nhận) (khi báo giá) Tự điền từ dữ liệu map
    Notify (Đơn vị thông báo) Có thể bậBật "Dùng Consignee" để sao chép toàn bộ thông tin từ Consignee
    Phương thức vận chuyển

    3.2 Tab Hàng hóa

    Bắt buộc khi báo giá hoặc có chỉnh sửa.

    Cấu trúc: Packing List → Thùng → Đơn hàng

    • Nhấn + Thêm thùng để thêtạo thùng mới
    • Trong mỗi thùng, nhấn + Thêm đơn hàng vàođể thùchọn đơn hàng
    • Các
    trư

    Trường bắt buộc:c cho mỗi thùng:

  • Trườ
  • khóa:TổngSL, Tổng N.W, Tổng G.W, CBM
    TrườngBắt buộcGhi chú
    SKU,SKU
    Số lượng,ng Phải > 0
    N.W,W (Trọng lượng tịnh)Tự động tính, có thể chỉnh sửa
    G.W,W (Trọng lượng cả bì)Tự động tính, có thể chỉnh sửa
    Kích thước (D/R/D × R × C) Phải > 0
    Tổng tựSL / Tổng N.W / Tổng G.W / CBM🔒 KhóaTự động tính, không chỉnh sửa bịđược

    Công thức:c tính tự động:

    N.W  = Tổng SL đơn hàng trong thùng × 0.08
    G.W  = N.W + 2
    CBM  = (W × L × H) / 1,000,000 × (TO - FROM + 1)
    

    Ràng buộc đơn hàng trong thùng:

    Điều kiện Số đơn hàng tốicho đaphép trong thùng
    FROM = TO Nhiều đơn hàng (không được trùng nhau)
    FROM ≠ TO Chỉ 1 đơn hàng duy nhất

    Quyền chỉnh sửa tab Hàng hóa theo trạng thái:

    Trạng tháiQuyền
    Chưa nhập khoChỉnh sửa toàn bộ
    Đã nhập kho / phân loạiChỉ được thêm đơn hàng mới; không sửa đơn hàng cũ
    Đã xuất khoKhông được phép chỉnh sửa

    3.34. Tab Hải quan

    Bắt buộc khi:khi Quốc gia người gửi ≠ Quốc gia người nhận. Nếu cùng quốc gia, có thể bỏ qua.

    Chọn bên thanh toán thuế:

    OptionYêu cầu thêm
    SenderKhông
    RecipientKhông
    Third PartyBắt buộc nhập Account Number (chỉ số) và Mã số thuế (không bắt buộc)

    Thông tin khai báo hàng hóa:

    Trường Bắt buộc
    Mô tả hàng hóa
    Nước sản xuất
    Trọng lượng (KG/LB...)
    Số lượng
    Bên thanh toán thuế (Sender / Recipient / Third Party)
    Account Number (nếu Third Party)
    Giá trị hải quan (VND, USD...)
    HS Code

    ⚠️ Tổng số lượng khai báo hải quan phải bằng đúng tổng số lượng ở tab Hàng hóa.


    Bước 4 —IV. Báo giá & Book Ship

    1. NhấSau khi điền đầy đủ và hợp lệ cả 3 tab → nhấn Báo giá
    2. hệ
    3. Hệ thống kết nối và trả về các gói cước (VD: FedEx International Economy, Priority,FedEx v.v.Priority...)
    4. Chọn gói cước phù hợp → nhấn Xác nhận lựa chọn
    5. Hệ thống tự động booking → sinh Tracking Code → cập nhật trạng thái "Đã tạo ship"
    6. Toàn bộ Packing List bị khóa cứng — không cho phép chỉnh sửa bất kỳ thông tin nào nữa

    V. Quy tắc khóa dữ liệu theo trạng thái

    Trạng tháLoại Packing Listkhóa QuyềĐiều kiện chỉnhkích sửahoạtPhạm vi
    Khóa thông tin mapNgay khi dữ liệu được map tự độngConsignee, Shipper, đơn hàng, số lượng
    Khóa trường tính toánLuôn luônTổng SL, Tổng N.W, Tổng G.W, CBM
    Khóa chỉnh sửa đơn hàngĐơn hàng đã nhập kho hoặc phân loạiThông tin đơn hàng trong thùng
    Khóa toàn bộ Packing ListĐã book ship có Tracking Code hoặc đã xuất khoTất cả dữ liệu

    ⚠️ Nếu xóa dữ liệu đã map ở phân hệ gốc, hệ thống sẽ cảnh báo và xóa luôn Packing List liên quan.


    VI. Vòng đời trạng thái

    [Chưa tạo ship]
          ↓  Book ship thành công + có Tracking Code
    [Đã tạo ship]
          ↓  FedEx tiếp nhận và vận chuyển
    [Đang vận chuyển]
          ↓  Người nhận ký nhận
    [Đã nhận hàng]
    

    VII. Sơ đồ quy trình

    (Phần này sẽ được bổ sung sơ đồ sau)

    Sơ đồ 1 — Tổng quan luồng từ liên kết khách hàng đến Packing List hoàn tất

    [Danh sách Đơn hàng]
            ↓  action "Thông tin khách hàng"
    [Modal: Thông tin khách hàng]
            ↓  mở modal con
    [Modal: Danh sách khách hàng]
            ↓  chọn khách hàng / người nhận → Xác nhận
    [Nhập số lượng + ngày giao + shipper → Lưu]
            ↓  dữ liệu map tự động
    [Trang danh sách Packing List]
            ↓  + Tạo Packing List
    [Form tạo PKL: Tab Thông tin chung]
            ↓
    [Form tạo PKL: Tab Hàng hóa]
            ↓
    [Form tạo PKL: Tab Hải quan]
            ↓  Báo giá
    [Chọn gói cước → Xác nhận]
            ↓
    [Packing List hoàn tất — Khóa toàn bộ]
    

    Sơ đồ 2 — Quy tắc chỉnh sửa theo trạng thái kho

    Chưa nhập kho     Chỉnh sửa toàn bộ
    
    
    Đã nhập kho       /  phân loại
    Chỉ thêm đơn hàng mới,i
    khôngĐã sửaphân loại      →  Chỉ thêm đơn hàng mới
    
    
    Đã xuất kho       Không được phép chỉnh sửa
    
    
    Đã book ship      (có  Tracking Code)
    Khóa cứng toàn bộ
    
    
    
    

    Vòng đời trạng thái Packing List

    Chưa tạo ship
          ↓  (sau khi book ship thành công)
    Đã tạo ship
          ↓  (FedEx nhận hàng và vận chuyển)
    Đang vận chuyển
          ↓  (người nhận ký nhận)
    Đã nhận hàng
    

    Sơ đồ quan3 — Quan hệ dữ liệu

    Khách hàng
      ├── Người nhận A (Customer)địa chỉ 1)
      └── Người nhận 1B (địa chỉ A)
      └── Người nhận 2 (địa chỉ B)2)   ← địa chỉ phải duy nhất trong cùng 1 kháchnhóm
             hàng
            ↓  liên kết qua modalnhiều–nhiều
    Đơn hàng  ←→  Người nhận
      (quan hệ nhiều–nhiều)
      └── Số lượng giao
      ── Ngày giao dự kiến
      └── Shipper
             ↓  map tự động (không thể sửa tay)
    Packing List cho khách hàng
      ├── Tab Thông tin chung
      ├── Tab Hàng hóa (thùThùng + đĐơn hàng)ng → SKU)
      └── Tab Hải quan
             (khai báo quốc tế)
      └──  Báo giá → Book Ship
    Tracking Code (FedEx)
    

    Các điểm rủi ro & lưu ý nghiệp vụ

    • Không thể chỉnh sửa thông tin map: Consignee, Shipper, đơn hàng và số lượng được lấy từ bước liên kết — tuyệt đối không sửa tay.
    • Xóa dữ liệu gốc = xóa Packing List: Nếu xóa thông tin đã map ở phân hệ gốc, hệ thống cảnh báo và có thể xóa luôn Packing List.
    • Ngày gửi & ngày giao: Cả hai đều không được phép chọn ngày quá khứ.
    • Tổng số lượng hải quan: Phải khớp chính xác với tổng số lượng ở tab Hàng hóa — sai sẽ không qua được bước báo giá.
    • Book ship là điểm không thể quay lại: Sau khi xác nhận book và có Tracking Code, dữ liệu bị khóa vĩnh viễn.