BeelyWeb
06/09/2026

Tự động xử lý đơn hàng từ website về kho và vận chuyển

Phong Nguyen
Tự động xử lý đơn hàng từ website về kho và vận chuyển

Một đơn hàng mới vừa "tinh" lên trên website, và ngay lúc đó bạn nhân viên vận hành phải mở liền ba màn hình: website để xem đơn, phần mềm kho để trừ hàng, phần mềm vận chuyển để tạo vận đơn — mỗi đơn mất vài phút, mỗi ngày trăm đơn thì mất cả buổi, chưa kể càng về cuối ngày càng dễ gõ nhầm vì đã thấm mệt. Bài hướng dẫn này sẽ giúp bạn dựng một luồng tự động để máy làm thay toàn bộ chuỗi thao tác đó, từ lúc đơn vừa phát sinh cho tới khi vận đơn đã sẵn sàng giao đi, mà không cần ai ngồi nhập lại tay nữa nhé. Nếu team bạn đang xử lý từ vài chục đơn mỗi ngày trở lên, đây chính là lúc nên đọc và bắt tay vào làm.

Cần chuẩn bị gì trước khi bắt đầu

Trước khi ngồi dựng luồng, bạn cần chắc chắn website và các bên liên quan đã sẵn sàng cho automation, vì thiếu một mảnh ghép là cả luồng có thể đứng khựng giữa chừng, thậm chí chạy sai mà không ai kịp phát hiện cho tới khi khách gọi lên hỏi đơn.

  • Website bán hàng (WooCommerce, Haravan, Sapo hoặc nền tảng tương đương) đã bật được webhook đơn hàng mới — hầu hết các nền tảng phổ biến tại Việt Nam đều hỗ trợ sẵn tính năng này trong phần cài đặt, chỉ cần điền đúng địa chỉ nhận webhook là xong.
  • Tài khoản đối tác (API key) của đơn vị vận chuyển bạn đang dùng, ví dụ Giao Hàng Nhanh hoặc Giao Hàng Tiết Kiệm — cả hai đều công bố tài liệu Open API và cơ chế webhook trạng thái đơn hàng công khai trên trang chính thức, bạn nên đăng ký tài khoản đối tác và lấy API key trước khi triển khai để đội kỹ thuật có môi trường thử nghiệm đàng hoàng.
  • Phần mềm quản lý kho có API cho phép tạo phiếu xuất kho và trừ tồn qua lập trình, thay vì chỉ thao tác được trên giao diện — nếu phần mềm hiện tại chưa có, đây là lúc nên cân nhắc đổi sang phần mềm có mở API trước khi đầu tư công sức dựng automation.
  • Một công cụ automation trung gian (như n8n hoặc Make) hoặc đội kỹ thuật riêng để viết luồng kết nối các API lại với nhau, cùng với một môi trường thử nghiệm (sandbox hoặc tài khoản demo) để test trước khi áp dụng lên đơn hàng thật.

Bốn thứ trên nghe có vẻ nhiều, nhưng thực ra hầu hết doanh nghiệp đang bán online đều đã có sẵn ít nhất ba trong bốn, chỉ thiếu mỗi công cụ automation trung gian để nối chúng lại với nhau mà thôi. Đặc biệt, việc chuẩn bị kỹ ở bước này giúp bạn tiết kiệm được rất nhiều thời gian sửa lỗi về sau, vì phần lớn sự cố khi vận hành luồng automation thực ra bắt nguồn từ việc thiếu quyền truy cập hoặc cấu hình webhook sai ngay từ đầu chứ không phải do luồng logic viết sai.

Các bước dựng luồng xử lý đơn hàng tự động

  1. 1

    Lắng nghe webhook đơn hàng mới từ website

    Đăng ký một địa chỉ webhook trong phần cài đặt của website để mỗi khi có đơn hàng mới, website sẽ tự động gửi toàn bộ thông tin đơn (sản phẩm, số lượng, địa chỉ giao, phương thức thanh toán) sang hệ thống automation ngay lập tức, thay vì phải chờ ai đó mở website lên kiểm tra. Bước này gần như luôn miễn phí và không tốn thêm chi phí gì ngoài công cấu hình ban đầu.

  2. 2

    Kiểm tra và xác thực trạng thái thanh toán

    Ngay khi nhận được dữ liệu đơn hàng, hệ thống cần kiểm tra trạng thái thanh toán trước khi đi tiếp: đơn thanh toán trước (chuyển khoản, ví điện tử) thì đối chiếu với cổng thanh toán xem đã ghi nhận tiền vào chưa, còn đơn thu hộ (COD) thì có thể cho đi tiếp luôn vì tiền sẽ thu lúc giao hàng.

    Mẹo nhỏ

    Đừng để luồng tạo vận đơn ngay khi đơn vừa vào mà chưa qua bước xác thực thanh toán, vì nếu khách thanh toán trước bị lỗi giao dịch mà đơn đã lỡ tạo vận đơn thì bạn sẽ phải huỷ vận đơn thủ công, vừa mất phí vừa mất thời gian.

  3. 3

    Tạo phiếu xuất kho tự động

    Sau khi thanh toán đã được xác nhận hợp lệ, hệ thống gọi sang API của phần mềm quản lý kho để tạo phiếu xuất kho tương ứng với đúng sản phẩm và số lượng trong đơn, đồng thời trừ tạm tồn kho khả dụng để tránh việc kênh khác tiếp tục bán trên số hàng đã có người đặt. Đây cũng là dữ liệu gốc mà luồng đồng bộ tồn kho đa kênh ở bài viết khác sẽ dùng lại, nên càng làm chuẩn ở bước này thì các luồng phía sau càng đỡ phải vá lỗi.

  4. 4

    Gọi API tạo vận đơn với đơn vị vận chuyển

    Đây là bước then chốt của cả luồng: hệ thống gửi thông tin người nhận, địa chỉ, khối lượng và giá trị đơn hàng sang API tạo đơn của Giao Hàng Nhanh hoặc Giao Hàng Tiết Kiệm để nhận về mã vận đơn. Cả hai đơn vị này đều công bố tài liệu tích hợp trên cổng API chính thức của mình, kèm theo bảng phí dịch vụ cập nhật theo khu vực và trọng lượng — bạn nên đối chiếu bảng phí này trực tiếp trên trang chính thức của từng đơn vị trước khi tính toán chi phí vận chuyển vào giá bán, vì mức phí có thể thay đổi theo từng thời điểm và theo chính sách áp dụng riêng cho từng đối tác.

  5. 5

    Ghi ngược mã vận đơn và cập nhật trạng thái về website

    Ngay khi có mã vận đơn, hệ thống ghi ngược thông tin này về lại đơn hàng gốc trên website, đồng thời cập nhật trạng thái đơn thành "đã đóng gói, chờ lấy hàng" để cả đội vận hành lẫn khách hàng đều nhìn thấy đúng tình trạng thực tế mà không cần hỏi lại nhau. Nếu website hỗ trợ gửi email hoặc tin nhắn tự động, đây cũng là thời điểm tốt để báo cho khách biết đơn đã được chuẩn bị xong.

Nên tích hợp một hay nhiều đơn vị vận chuyển cùng lúc

Nhiều shop khi mới dựng automation thường chỉ tích hợp một đơn vị vận chuyển cho gọn, nhưng về lâu dài việc có sẵn từ hai đơn vị trở lên trong luồng sẽ giúp bạn linh hoạt hơn hẳn — vừa có phương án dự phòng khi một bên gặp sự cố kỹ thuật, vừa có thể chọn đơn vị tối ưu hơn theo từng khu vực giao hàng.

Tiêu chí Giao Hàng Nhanh Giao Hàng Tiết Kiệm
Tài liệu API Cổng tài liệu riêng, có API tạo đơn và tra cứu trạng thái Cổng OpenAPI riêng, có tài liệu webhook cập nhật trạng thái
Cơ chế báo trạng thái Hỗ trợ tra cứu qua API và nhận báo về khi trạng thái thay đổi Có mục webhook riêng trong tài liệu, cấu hình theo tài khoản đối tác
Phí và thời gian giao Xem bảng giá cước theo khu vực tại trang chính thức, cập nhật theo thời điểm Xem bảng giá cước theo khu vực tại trang chính thức, cập nhật theo thời điểm

Vì bảng phí và thời gian giao của cả hai đơn vị đều thay đổi theo từng giai đoạn và theo chính sách áp dụng riêng cho từng đối tác kinh doanh, bạn nên coi bảng trên như một khung tham khảo về mặt kỹ thuật tích hợp, còn số liệu phí cụ thể thì luôn kiểm tra lại trực tiếp trên trang chính thức hoặc hỏi thẳng nhân viên kinh doanh phụ trách tài khoản của shop mình trước khi đưa vào luồng tính giá bán, để tránh tính sai chi phí vận chuyển cho khách.

Xử lý các trường hợp ngoại lệ thường gặp

Một luồng automation tốt không chỉ chạy trơn tru khi mọi thứ suôn sẻ, mà còn phải biết cách xử lý khéo khi có chuyện bất thường xảy ra — đây cũng là phần hay bị bỏ sót nhất khi mới dựng luồng lần đầu, vì lúc demo thử ai cũng chỉ test với đơn hàng "đẹp", đủ thông tin, còn hàng.

Tình huống Cách xử lý nên có
API vận chuyển tạm thời không phản hồi Tự động thử lại sau vài phút theo cơ chế retry, và báo về cho nhân viên nếu vẫn lỗi sau vài lần thử
Sản phẩm trong đơn đã hết hàng Dừng luồng trước bước tạo vận đơn, gắn nhãn đơn cần xử lý tay và thông báo ngay cho nhân viên chăm sóc khách hàng
Địa chỉ giao hàng không hợp lệ hoặc thiếu thông tin Chặn lại trước khi gọi API tạo vận đơn, gửi thông báo yêu cầu bổ sung thay vì để API trả lỗi giữa chừng
Khách huỷ đơn sau khi đã tạo vận đơn Gọi API huỷ vận đơn (nếu đơn vị vận chuyển hỗ trợ) và hoàn lại tồn kho tạm đã trừ trước đó
Đơn trùng do khách bấm đặt hàng nhiều lần Kiểm tra trùng theo mã đơn gốc từ website trước khi tạo phiếu xuất kho, tránh trừ kho hai lần cho cùng một đơn

Lỗi thường gặp

Nhiều luồng automation khi mới dựng chỉ tính đường thành công mà quên hẳn đường lỗi, khiến khi API vận chuyển trả về lỗi thì cả luồng đứng im mà không ai biết, tới lúc phát hiện thì đơn đã trễ giao cả ngày. Luôn dành riêng một nhánh xử lý lỗi và gửi cảnh báo tức thời cho người phụ trách nhé, đừng để luồng "chết lặng" mà không ai hay.

Đo lường hiệu quả sau khi luồng chạy thật

Sau khi luồng chạy được vài tuần, bạn nên dành thời gian nhìn lại vài con số để biết automation có thực sự đang giúp ích hay không, thay vì chỉ cảm nhận chung chung là "có vẻ nhanh hơn". Ba chỉ số đáng theo dõi nhất là thời gian trung bình từ lúc đơn được tạo tới lúc có mã vận đơn, tỷ lệ đơn phải xử lý tay do rơi vào các trường hợp ngoại lệ, và số lần luồng bị lỗi phải can thiệp thủ công trong tuần.

Nếu tỷ lệ đơn phải xử lý tay vẫn còn cao sau vài tuần chạy thật, đó là dấu hiệu cho thấy luồng chưa bao phủ hết các tình huống thực tế của shop, và đây chính là lúc nên ngồi lại xem log để bổ sung thêm nhánh xử lý cho những trường hợp phát sinh mới, thay vì để nhân viên âm thầm xử lý tay mãi mà không ai cập nhật lại luồng.

Checklist nghiệm thu trước khi chạy thật

  • Đã thử nghiệm với đơn hàng thật ở môi trường sandbox hoặc đơn giá trị nhỏ trước khi áp dụng đại trà.
  • Đã kiểm tra đủ 5 tình huống ngoại lệ ở bảng trên, không chỉ test đường thành công.
  • Có kênh thông báo (email, nhóm chat) để đội vận hành biết ngay khi luồng gặp lỗi.
  • Đã lưu log của từng đơn xử lý qua luồng, để tra soát lại được khi khách hoặc kế toán hỏi tới.
  • Đã thống nhất với đội ai là người theo dõi log hằng ngày sau khi lên luồng chính thức.

Khi luồng xử lý đơn hàng đã chạy ổn định, bước tiếp theo tự nhiên nên nghĩ tới là đồng bộ tồn kho giữa website, sàn và cửa hàng để tránh nhận đơn cho hàng đã hết, cùng với việc tìm hiểu sâu hơn về webhook và HTTP request trong automation nếu đội kỹ thuật của bạn muốn tự chủ động mở rộng luồng sau này. Nếu muốn nhìn lại toàn cảnh cả cụm vận hành trước khi đi sâu vào từng khâu, bài Tự động hoá vận hành và bán hàng online: toàn cảnh quy trình sẽ giúp bạn có cái nhìn tổng quan.

Câu hỏi thường gặp

Luồng này có chạy được nếu shop dùng cùng lúc hai đơn vị vận chuyển không?

Hoàn toàn được, bạn chỉ cần thêm một bước điều kiện trong luồng để chọn đúng API của đơn vị vận chuyển tương ứng, dựa trên khu vực giao hàng hoặc quy tắc phân bổ mà shop đang áp dụng.

Chi phí tích hợp API vận chuyển có tốn kém không?

Bản thân việc gọi API tạo vận đơn của các đơn vị vận chuyển phổ biến thường không tính thêm phí ngoài phí vận chuyển thông thường, chi phí chính nằm ở công sức dựng và bảo trì luồng automation — đây là lý do nên cân nhắc kỹ giữa tự làm và thuê ngoài.

Nếu website chưa hỗ trợ webhook thì có dựng automation được không?

Vẫn có thể, nhưng sẽ phải dùng cách kiểm tra đơn mới theo chu kỳ (ví dụ mỗi vài phút hỏi lại API xem có đơn mới không) thay vì nhận báo ngay lập tức, khiến tốc độ xử lý chậm hơn một chút so với dùng webhook thật sự.

Bao lâu thì dựng xong luồng này nếu thuê đơn vị ngoài làm?

Thời gian phụ thuộc nhiều vào việc phần mềm kho và website hiện tại có tài liệu API rõ ràng hay không, cùng với số lượng trường hợp ngoại lệ cần xử lý riêng — nên trao đổi kỹ với đơn vị triển khai về phạm vi công việc trước khi chốt thời gian, thay vì chỉ nghe một con số chung chung.

Nếu đội ngũ của bạn chưa quen làm việc với webhook và API, hoặc đơn giản là không có đủ thời gian ngồi dựng và test từng nhánh lỗi, BeelyWeb có thể nhận khảo sát và triển khai trọn gói luồng này cho đúng phần mềm và đơn vị vận chuyển shop đang dùng. Đăng ký tư vấn miễn phí để được xem qua quy trình hiện tại và báo giá cụ thể nhé.