Đồng bộ với website WooCommerce

Cửa hàng có website WordPress bán bằng WooCommerce thì nối vào phần mềm ở Thiết lập → WooCommerce. Đơn khách đặt trên web về thành đơn hàng trong phần mềm, trừ kho như đơn tại quầy; tồn kho trong phần mềm được đẩy ngược lên web để khách không đặt món đã hết.

Tuỳ chọn Khoảng 20 phút lần đầu Ai làm: chủ cửa hàng Cập nhật 04.11.2026

Đồng bộ làm những gì

Mỗi lần đồng bộ chạy hai chiều theo thứ tự. Trước hết phần mềm lấy đơn mới trên web về. Sau đó, nếu bạn bật "Đồng bộ tồn kho", phần mềm gửi số tồn của Kho mặc định lên các sản phẩm web có SKU khớp. Phần mềm không tạo sản phẩm trên web và không đổi tên, giá, ảnh; trên web nó chỉ đặt số tồn.

Sản phẩm trên web và trong phần mềm khớp nhau bằng mã: SKU trên web phải trùng "Mã SP" trong phần mềm. So khớp không phân biệt chữ hoa, chữ thường, nên sp00001 trên web vẫn khớp SP00001. Sản phẩm biến thể dùng SKU của từng biến thể, mỗi biến thể là một sản phẩm riêng trong phần mềm (xem Biến thể, quy đổi và combo). Mã vạch không dùng để đồng bộ.

Cần có trước

  1. Website chạy https://. WooCommerce chỉ nhận khoá REST API qua HTTPS.
  2. Mã SP trong phần mềm và SKU trên web đã trùng nhau ở những món bán online.
  3. Một khoá REST API quyền Đọc/Ghi, tạo theo mục dưới.
  4. Muốn tự đồng bộ mỗi 15 phút thì hosting đã cài cron, xem Cài đặt phần mềm.

Tạo khoá REST API trên WordPress

  1. Đăng nhập trang quản trị WordPress, vào WooCommerce → Cài đặt → Nâng cao → REST API.
  2. Bấm Thêm khoá, gõ mô tả (ví dụ "Phần mềm bán hàng"), chọn quyền Đọc/Ghi.
  3. Bấm tạo khoá. WooCommerce hiện Consumer Key (bắt đầu bằng ck_) và Consumer Secret (bắt đầu bằng cs_). Chép cả hai ra ngay để dán vào phần mềm.

Mở trang thiết lập

Mục Thiết lập ở cuối menu trái
Mục cuối của menu trái.
  1. Bấm Thiết lập ở cuối menu trái.
Hàng tab Thiết lập với tab WooCommerce
Bấm vào ảnh để phóng to.
  1. Bấm tab WooCommerce. Tab chỉ hiện với tài khoản có quyền "Thiết lập WooCommerce Wordpress, đồng bộ".

Điền thông tin kết nối

Khung Thiết lập kết nối wordpress với ô URL website wordpress, API Consumer Key, API Consumer Secret, Kho mặc định, Nhân viên mặc định, Hình thức thanh toán cho đơn trả online, ô Đồng bộ tồn kho, ô Tự đồng bộ mỗi 15 phút và hai nút Lưu, Đồng bộ
Địa chỉ và khoá trong ảnh là giá trị mẫu. Bấm vào ảnh để phóng to.
  1. Gõ URL website wordpress, ví dụ https://shop.example.com.
  2. Dán API Consumer Key.
  3. Dán API Consumer Secret.
  4. Chọn Kho mặc định: kho nhận đơn web và cũng là kho có số tồn được đẩy lên web.
  5. Chọn Nhân viên mặc định: người đứng tên tạo các đơn kéo về.
  6. Chọn Hình thức thanh toán cho đơn trả online, ví dụ tài khoản ngân hàng nhận tiền chuyển khoản từ web. Đơn khách trả trên web ghi phiếu thu theo hình thức này, đơn giao hàng thu tiền (COD) vẫn ghi Tiền mặt. Để trống thì mọi phiếu thu là Tiền mặt.
  7. Tích Đồng bộ tồn kho để đẩy tồn lên web sau mỗi lần lấy đơn.
  8. Tích Tự đồng bộ mỗi 15 phút (cần cron trên hosting) nếu muốn phần mềm tự chạy mà không cần bấm.
  9. Bấm Lưu để chỉ lưu cấu hình.
  10. Bấm Đồng bộ để lưu rồi chạy ngay một lượt.

Hai khoá được mã hoá khi lưu. Lần sau mở trang, ô Key chỉ hiện "Đã lưu ck_…abcd, để trống nếu không đổi"; để trống là giữ khoá cũ. Đổi URL sang website khác thì phải nhập lại cả Key lẫn Secret.

Bật đồng bộ tồn kho là web nhận số tồn của phần mềm

Mỗi sản phẩm web có SKU khớp được bật quản lý tồn kho và nhận đúng số tồn của Kho mặc định (làm tròn xuống, số âm thành 0). Món tồn 0 trong phần mềm sẽ hiện "Hết hàng" trên web, kể cả khi trên web trước đó bạn để "Còn hàng". Kiểm tra tồn ở Kho mặc định trước khi bật, xem Tồn kho và thẻ kho.

Chỉ sản phẩm có tích "Quản lý tồn kho" trong phần mềm mới được gửi tồn. Món nào trên web đã đúng số thì bỏ qua. Sản phẩm liên kết ngoài và sản phẩm nhóm trên web không có tồn nên cũng bỏ qua. Sản phẩm web không có SKU, hoặc SKU không có trong phần mềm, giữ nguyên.

Đơn web về phần mềm ra sao

Lần đồng bộ đầu tiên chỉ lấy đơn đặt trong 7 ngày qua; đơn cũ hơn không về. Từ lần sau, phần mềm lấy các đơn có thay đổi kể từ lượt trước, nên đơn thanh toán online chuyển sang Đang xử lý muộn hơn một đơn mới vẫn được lấy.

  1. Phần mềm lấy đơn ở trạng thái Đang xử lý, Tạm giữ, Hoàn thành. Đơn web Hoàn thành thành đơn Hoàn thành; hai trạng thái kia thành đơn Xác nhận. Cả hai đều trừ kho ngay.
  2. Đơn nằm ở Kho mặc định, người tạo là Nhân viên mặc định, ghi chú "Đơn WooCommerce #1234" kèm lời nhắn của khách.
  3. Mỗi dòng tìm sản phẩm theo SKU. Đơn giá bằng tiền dòng sau giảm giá chia số lượng. Phí ship giữ nguyên.
  4. Đơn đã trả tiền trên web hoặc đã Hoàn thành thì có phiếu thu đủ tiền. Đơn COD ghi hình thức Tiền mặt, đơn trả online ghi theo ô Hình thức thanh toán cho đơn trả online. Đơn chưa trả (giao hàng thu tiền) thì ghi nợ khách.
  5. Khách được tìm theo số điện thoại (bỏ ký tự lạ, +84 đổi thành 0), không có thì theo email, vẫn không có thì tạo khách mới ghi chú "Tạo tự động từ WooCommerce".
  6. Mỗi đơn web chỉ về một lần, bấm Đồng bộ nhiều lần cũng không sinh đơn trùng.

Đơn WooCommerce chưa lấy được

Đơn có một dòng không tạo được thì cả đơn chưa về, và nằm trong khung này ngay dưới form.

Khung Đơn WooCommerce chưa lấy được (3) với cột Đơn, Ngày đặt, Lý do và nút Không lấy ở mỗi đơn
Ba lý do hay gặp: dòng chưa có SKU, SKU không có trong phần mềm, thiếu tồn. Bấm vào ảnh để phóng to.
  1. Đọc cột Lý do để biết cần sửa gì: thêm SKU cho sản phẩm trên web, tạo sản phẩm có Mã SP trùng SKU trong phần mềm, hoặc nhập thêm hàng vào Kho mặc định.
  2. Không cần đơn nào (đơn thử, đơn khách đã gọi huỷ) thì bấm Không lấy. Đơn ra khỏi danh sách và không bao giờ được lấy lại.

Sửa xong nguyên nhân thì bấm Đồng bộ: mọi đơn trong khung được hỏi lại theo mã đơn và tạo nếu đủ điều kiện. Đơn bị huỷ, hoàn tiền, thất bại hoặc bị xoá trên web tự ra khỏi khung. Khung hiện tối đa 50 đơn, xếp theo ngày đặt.

Đơn bị huỷ hoặc hoàn tiền trên web

Đơn đã kéo về mà trên web chuyển sang Đã huỷ, Đã hoàn tiền hoặc Thất bại thì lượt đồng bộ sau tự huỷ đơn trong phần mềm: trả tồn, huỷ phiếu thu, ghi lịch sử, người thực hiện là Nhân viên mặc định. Tồn mới được đẩy lên web ngay lượt đó.

Đơn đã Hoàn thành trong phần mềm thì không huỷ được. Nhật ký ghi một lần, ví dụ "Đơn #103 (PX0000123) đã hoàn thành trong phần mềm, WooCommerce báo Đã hoàn tiền, cần làm phiếu trả hàng." Nhân viên mở đơn đó và làm phiếu theo bài Khách trả hàng. Đơn đã bị khoá sửa mà Nhân viên mặc định không có quyền "Sửa đơn hàng khi bị khóa" cũng chỉ được ghi nhật ký. Cửa hàng cập nhật từ bản cũ lên 0.14.0 thì lượt đầu chỉ xét đơn huỷ trong 7 ngày qua.

Nút Đồng bộ chạy tối đa 40 giây

Một lần bấm Đồng bộ chạy tối đa 40 giây để máy chủ không cắt ngang. Shop nhiều đơn, nhiều sản phẩm có thể chưa xong trong một lần; khi đó kết quả là "Có lỗi một phần" kèm câu "Chưa xong sau 40 giây, bấm Đồng bộ lần nữa để làm tiếp." Bấm lần nữa, phần mềm làm tiếp chỗ còn lại, phần đã làm không bị làm lại. Lượt tự động bằng cron được chạy tới 540 giây.

Hai lượt không chạy chồng lên nhau. Bấm khi lượt tự động đang chạy thì nhận "Đang có một lượt đồng bộ khác chạy, vui lòng thử lại sau.".

Tự đồng bộ mỗi 15 phút

Ô tự đồng bộ chỉ có tác dụng khi hosting chạy cron của phần mềm mỗi phút (lệnh schedule:run). Cách cài cron trên cPanel và VPS nằm ở Cài đặt phần mềm. Không có cron thì đơn web chỉ về khi có người bấm Đồng bộ. Lượt tự động hiện "Tự động" ở cột Người chạy của nhật ký.

Đọc nhật ký đồng bộ

Bảng Nhật ký đồng bộ ba dòng với nhãn Có lỗi một phần, câu tóm tắt số đơn và tồn kho, người chạy Chủ cửa hàng hoặc Tự động, danh sách lỗi của từng đơn
Nhật ký mẫu, nằm bên phải trang thiết lập. Bấm vào ảnh để phóng to.
  1. Nhãn kết quả là Thành công, Có lỗi một phần hoặc Thất bại. Còn đơn chưa lấy được hoặc chạy chưa xong thì là "Có lỗi một phần".
  2. Cột Người chạy ghi tên người bấm, hoặc Tự động với lượt chạy bằng cron.
  3. Danh sách lỗi bên dưới chỉ gồm lỗi mới của lượt đó, mỗi đơn một dòng. Đơn lỗi từ lượt trước chỉ được đếm trong câu tóm tắt.

Câu tóm tắt có dạng "Đơn hàng: tạo mới 1, đã có 0, lỗi 0. Tồn kho: khớp 2 sản phẩm trên web, cập nhật 2, không đổi 0." Có đơn tự huỷ thì thêm "huỷ theo web 1"; còn đơn chưa lấy được thì thêm "còn 1 đơn chưa lấy được". Trang hiện 20 lượt chạy sau cùng.

Những gì chưa đồng bộ

  • Hoàn tiền một phần trên web: đơn trong phần mềm giữ nguyên. Khách trả lại một phần hàng thì làm phiếu trả hàng bằng tay.
  • Thanh toán sau trên web: đơn về lúc chưa trả tiền được ghi nợ; khách trả tiền trên web sau đó thì phần mềm không tự thu. Thu bằng nút Thu nợ ở trang khách hoặc thu thêm ở chi tiết đơn.
  • Phí (fee) và thuế của đơn web: đơn kéo về có VAT 0% và không có các khoản phí phụ, nên tổng đơn trong phần mềm có thể khác tổng trên web.
  • Thông tin sản phẩm: tên, giá, ảnh, mô tả không đi chiều nào cả.

Hướng dẫn rút gọn các điểm trên nằm ngay trên trang thiết lập, mục Hướng dẫn đồng bộ (bấm để mở ra).

Mục Hướng dẫn đồng bộ mở ra bảy bước
Bấm vào ảnh để phóng to.
  1. Bấm Hướng dẫn đồng bộ để mở hoặc thu gọn mục này.

Kiểm tra lại

  1. Đặt thử một đơn trên web với một sản phẩm có SKU trùng Mã SP, chọn giao hàng thu tiền.
  2. Bấm Đồng bộ: thông báo "Đồng bộ thành công: Đơn hàng: tạo mới 1...", mục Đơn hàng có đơn ghi chú "Đơn WooCommerce #...", trạng thái Xác nhận, còn nợ đủ tiền.
  3. Bật Đồng bộ tồn kho rồi bấm Đồng bộ lần nữa: số tồn của sản phẩm đó trên web bằng tồn ở Kho mặc định.
  4. Huỷ đơn thử trên web, bấm Đồng bộ: đơn trong phần mềm sang Huỷ, tồn trả lại.

Hay vướng

Thông báo, hiện tượngCách xử lý
"URL website phải bắt đầu bằng https:// (WooCommerce chỉ nhận API key qua HTTPS)."Gõ đúng địa chỉ có https://. Website chưa có SSL thì cài SSL trước.
"Chưa đủ cấu hình: cần URL, Consumer Key, Consumer Secret, Kho mặc định và Nhân viên mặc định."Điền đủ năm ô rồi bấm Lưu.
"Đồng bộ thất bại: Lấy đơn hàng WooCommerce thất bại (HTTP 401): ..."Key hoặc Secret sai, hoặc khoá đã bị xoá trên WordPress. Tạo khoá mới quyền Đọc/Ghi, dán lại cả hai ô.
"Đồng bộ thất bại: ... (HTTP 404): ..."WooCommerce không tìm thấy đường dẫn API. Kiểm tra lại URL: đúng địa chỉ trang chủ website đang chạy WooCommerce.
"Không kết nối được tới website: ..."Máy chủ của phần mềm không gọi được tới website. Mở thử website trên trình duyệt, kiểm tra tên miền trong ô URL.
"Đơn #1052: sản phẩm "..." trên WooCommerce chưa có SKU."Thêm SKU trùng Mã SP cho sản phẩm đó trên web, rồi bấm Đồng bộ.
"Đơn #1057: không có sản phẩm mã "SP00099" (...) trong phần mềm."Tạo sản phẩm có Mã SP là SP00099, hoặc sửa SKU trên web cho trùng mã đang có.
"Không đủ tồn kho: Amply Sansui (còn 0, cần 1)"Kho mặc định hết hàng. Nhập hoặc chuyển hàng về kho đó, rồi bấm Đồng bộ.
Đơn cũ trên web không vềLần đồng bộ đầu chỉ lấy đơn 7 ngày qua. Đơn cũ hơn nhập tay bằng Tạo phiếu ở Đơn hàng.
Bật tự đồng bộ mà đơn không tự vềHosting chưa có cron. Nhật ký không có dòng "Tự động" nào là dấu hiệu.

Đơn web về rồi thì in, giao và thu tiền như mọi đơn khác, xem Đơn hàng.

Hỗ trợ Zalo