Đồng bộ đơn hàng
Đưa đơn từ website lên KiotViet thành phiếu Đặt hàng, bấm tay từng đơn hoặc để plugin tự đăng theo quy tắc. Nhân viên xử lý phiếu và xuất hoá đơn tiếp trên KiotViet, khỏi gõ lại đơn.
Đơn lên KiotViet thành gì
Đơn hàng đi từ website lên KiotViet. Plugin tạo một phiếu Đặt hàng trên KiotViet, không tạo hoá đơn và không có ô chọn tạo hoá đơn. Xác nhận phiếu, giao hàng, xuất hoá đơn là việc bạn làm tiếp trên KiotViet; trừ kho hay giữ hàng theo cách KiotViet xử lý phiếu đó. Tồn kho mới quay về web qua webhook.
Mọi sản phẩm trong đơn phải đã liên kết với KiotViet. Chỉ cần một sản phẩm chưa liên kết là cả đơn không đăng được.
Đặt sai quy tắc là đơn nào khách đặt cũng lên thẳng KiotViet. Đăng tay một đơn thử, đối chiếu trên KiotViet, khớp rồi mới bật Tự động đăng đơn.
Mở tab Đồng bộ đơn hàng
- Mở tab Đồng bộ đơn hàng. Toàn bộ cấu hình trong bài nằm ở đây; bấm Lưu thay đổi ở cuối tab sau khi sửa.
Bước 7: cài đặt đồng bộ đơn hàng
| Ô | Ý nghĩa, nên chọn gì |
|---|---|
| Kích hoạt đồng bộ đơn hàng | Bật ô này. Tắt thì tự động đăng đơn không chạy và tab Bắt đầu coi bước 7 là Không áp dụng. |
| Chi nhánh mặc định | Bắt buộc chọn. Mọi đơn từ web vào chi nhánh này; để trống thì đơn không đăng được. Muốn chia chi nhánh theo điều kiện thì dùng hook. |
| Dịch vụ giao hàng mặc định | Giao thường (mặc định), Giao nhanh hoặc Giao trong ngày. |
| Kênh bán hàng | Chọn kênh đã tạo trên KiotViet để lọc đơn từ web trong báo cáo. Vừa tạo kênh mới thì bấm Tải lại từ API. Để "-- Không chọn kênh --" thì plugin không gửi kênh. |
| Xử lý khách hàng | "Tạo khách lẻ (mặc định)" không gửi thông tin khách. "Tạo khách mới" tìm khách đã liên kết, rồi theo số điện thoại, rồi theo email; không thấy mới tạo khách mới. Tạo khách lỗi thì đơn vẫn lên dạng khách lẻ và đơn trên web có ghi chú. Xem thêm Đồng bộ khách hàng. |
| Tiền tố mã khách hàng | Mặc định KH-. Khách có tài khoản nhận mã dạng KH- cộng ID tài khoản; khách mua không đăng nhập nhận mã KH-G cộng ID đơn. |
| Gửi VAT khi đăng đơn | Mặc định tắt. Bật thì mỗi dòng sản phẩm gửi kèm mức VAT đã đồng bộ về từ KiotViet. Chỉ bật khi gian hàng KiotViet đã thiết lập tính thuế; bật sai cấu hình có thể khiến đơn bị KiotViet từ chối. |
Bước 8: phí vận chuyển và phụ thu
KiotViet không có ô "tiền ship" trong phiếu, nên plugin gửi phí ship và các phí khác dưới dạng thu khác. Trên KiotViet phải tích "Hỗ trợ các khoản thu khác khi bán hàng" trong thiết lập cửa hàng, nếu không plugin không tải được danh sách khoản thu.
| Ô | Ý nghĩa, nên chọn gì |
|---|---|
| Đồng bộ phụ thu | Mặc định tắt. Bật thì phí ship và phí khác lên KiotViet thành dòng thu khác. |
| Khoản thu cho phí vận chuyển | Chọn khoản thu khác nhận phí ship; số tiền gửi lên là phí ship thật của từng đơn. Danh sách trống thì bấm Tải lại từ API, chưa có khoản nào thì bấm Tạo khoản thu khác mới. Không chọn khoản tính theo phần trăm, vì KiotViet sẽ tự tính lại theo tỉ lệ. Khoản đang ngừng hoạt động thì nhập ID của nó rồi bấm Kích hoạt lại. |
| Thuế phí vận chuyển | Chỉ bật khi cửa hàng tính thuế riêng cho phí ship. Giá đã gồm thuế thì để tắt. |
| Ánh xạ phí khác | Mỗi dòng gồm "Tên phí chứa chuỗi" và "Khoản thu khác KiotViet", thêm dòng bằng Thêm dòng ánh xạ. Ví dụ phí có chữ "COD" vào khoản Phí thu hộ. Dòng để trống chuỗi là quy tắc cho mọi phí còn lại; phí không khớp dòng nào bị bỏ qua và có ghi log. |
Mã giảm giá và các phí âm gộp thành một khoản giảm giá của cả đơn. Không bật Đồng bộ phụ thu thì phiếu trên KiotViet không có dòng phí ship, và tổng tiền hai bên lệch đúng bằng phí ship.
Đăng tay từng đơn
Trong trang sửa đơn hàng có hộp KiotViet Order Sync (nhãn tiếng Anh). Đơn chưa đăng hiện "Not Posted" và nút Post to KiotViet. Bấm nút này mở hộp thoại Đăng đơn lên KiotViet: trên cùng là thông tin đơn và chi tiết sản phẩm, ngay dưới bảng sản phẩm có dòng cho biết phí ship có được gửi dạng thu khác không.
- Mục Thông tin thanh toán. Đơn thu tiền khi nhận hàng có ô "Số tiền khách đã trả:", điền sẵn 0. Đơn trả trước có "Trạng thái thanh toán:" (Khách đã trả hoặc Khách chưa trả) và "Số tiền đã thu:"; số tiền chỉ điền sẵn đủ khi đơn ở trạng thái Hoàn thành. Bạn sửa được trước khi bấm.
- Mục Thông tin vận chuyển có Dịch vụ giao hàng, chiều dài, rộng, cao và khối lượng.
- Ô Ghi chú gửi KiotViet (từ bản 1.3.4) điền sẵn ghi chú của khách. Sửa ở đây chỉ đổi nội dung gửi lên KiotViet, ghi chú của đơn trên web giữ nguyên. Lần cập nhật sau, ô này điền sẵn nội dung đã gửi.
Kiểm xong thì bấm nút Post to KiotViet ở cuối hộp thoại (nút này cũng ghi tiếng Anh), hoặc Hủy để đóng mà không gửi gì. Hộp thoại không có ô chọn chi nhánh, nhân viên bán hay kênh bán; các thứ đó lấy theo cài đặt ở tab. Đơn đã đăng thì hộp hiện mã đơn KiotViet cùng hai nút Update in KiotViet (mở hộp thoại Cập nhật đơn hàng) và Delete from KiotViet.
Muốn đăng ngay từ danh sách đơn, bật ô Thay đổi giao diện trang đơn hàng ở tab Cài đặt chung (mặc định tắt). Danh sách đơn khi đó có nhãn "KV: Chưa đăng", "KV: mã đơn", "KV: Lỗi", "KV: Đã xóa" cùng hai nút Đăng KV, Hủy KV.
Tự động đăng đơn
Ô Tự động đăng đơn mặc định tắt. Bật thì đơn khớp quy tắc được đăng trong nền khoảng 1 giây sau khi tạo hoặc đổi trạng thái. Đơn đã có ID KiotViet thì plugin bỏ qua, không đăng lần hai.
- Bấm Thêm quy tắc để thêm một dòng vào Quy tắc tự động đăng. Mỗi dòng là một cặp Trạng thái đơn hàng và Hình thức thanh toán; đơn khớp bất kỳ dòng nào là được đăng. Mặc định có sẵn một dòng Đang xử lý cộng Bất kỳ.
- Ô Ghi chú khi tự động đăng (từ bản 1.3.4) nhận một nội dung cố định, ví dụ "Đơn từ website, gọi xác nhận trước khi giao". Phiếu trên KiotViet có ghi chú của khách ở dòng đầu, nội dung này ở dòng sau. Để trống nếu không cần; ghi chú của đơn trên web không đổi.
Cột Trạng thái đơn hàng có thêm lựa chọn "⚡ Đơn mới (bất kỳ trạng thái)" để đăng ngay lúc khách đặt; cột Hình thức thanh toán có "Bất kỳ" và các cổng thanh toán đang bật. Hai cách hay dùng:
- Đơn thu tiền khi nhận hàng cần gọi xác nhận: quy tắc Đang xử lý cộng Trả tiền mặt khi nhận hàng. Bạn xác nhận xong, chuyển đơn sang Đang xử lý thì đơn mới lên KiotViet.
- Đơn chuyển khoản đã nhận tiền: quy tắc Hoàn thành cộng Chuyển khoản ngân hàng.
Khi tự động đăng, đơn trả trước chỉ được tính là khách đã trả nếu đơn ở trạng thái Hoàn thành; đơn thu tiền khi nhận hàng luôn gửi số tiền đã trả là 0. Muốn coi cả đơn Đang xử lý là đã trả thì dùng filter devvn_kiotviet_sync_order_has_paid_statuses ở bài Hook cho lập trình viên.
Gặp lỗi mạng, plugin thử lại 3 lần (chờ 2 rồi 4 giây); lỗi do dữ liệu thì dừng ngay. Kết quả tự động đăng hiện ở dòng Auto Sync trong hộp KiotViet Order Sync của đơn đó.
Địa chỉ gửi lên KiotViet
- Địa chỉ 2 cấp (bộ Mới nhất): khu vực là tỉnh/thành, plugin thêm chữ "Tỉnh" khi tên không bắt đầu bằng "Thành phố"; phường/xã là phường/xã mới.
- Địa chỉ 3 cấp: khu vực có dạng "Tỉnh - Quận/Huyện". Bấm Tải / Làm mới danh sách Location ở mục Chuẩn hoá địa chỉ theo Location KiotViet để plugin khớp đúng tên khu vực mà KiotViet dùng. Nút này chỉ đọc và chỉ có ích với địa chỉ 3 cấp.
- Từ bản 1.3.3, tên phường/xã được viết lại theo cách KiotViet đang dùng (dấu kiểu cũ như Hòa, Thủy). KiotViet vẫn không nhận phường/xã, rồi tới khu vực, thì plugin chuyển phần đó vào ô địa chỉ và gửi lại ngay; đơn trên web có ghi chú "KiotViet không nhận ...".
- Khách ở Nhật Bản được đổi tỉnh và thành phố sang Khu vực giao hàng của KiotViet Nhật (47 tỉnh, 1.559 thành phố), dòng địa chỉ ghi theo thứ tự 〒mã bưu điện, tỉnh, thành phố, số nhà.
- Khách ở nước khác gửi tên bang theo danh sách của WooCommerce, không thêm chữ "Tỉnh".
Nhận trạng thái đơn từ KiotViet về web
Mục Đồng bộ trạng thái KiotViet → WooCommerce mặc định tắt. Bật ô Kích hoạt đồng bộ trạng thái, rồi đặt Bảng ánh xạ trạng thái: mỗi trạng thái phiếu trên KiotViet (Phiếu tạm, Đang giao hàng, Hoàn thành, Đã hủy, Đã xác nhận) đổi đơn trên web sang trạng thái nào, hoặc "Không thay đổi". Mặc định Hoàn thành đổi sang Hoàn thành, Đã hủy đổi sang Đã hủy.
Tính năng này cần webhook order.update đã đăng ký và chỉ áp cho đơn đã đăng lên KiotViet. Mã trạng thái phiếu dựa theo cách KiotViet trả về trong thực tế, vì tài liệu KiotViet không công bố đủ.
Kiểm tra trước khi dùng thật
- Đặt một đơn thử trên website, giá trị nhỏ, có sản phẩm đã liên kết.
- Mở đơn, bấm Post to KiotViet, xem lại hộp thoại rồi bấm nút Post to KiotViet ở cuối hộp thoại.
- Mở KiotViet đối chiếu: đúng chi nhánh, đủ số lượng, có dòng thu khác cho phí ship, tổng tiền khớp, ghi chú đúng.
- Định dùng tự động thì đặt thêm một đơn thử, đưa về đúng trạng thái và hình thức thanh toán trong quy tắc, xem đơn có tự lên không.
- Khớp hết thì huỷ hoặc xoá đơn thử ở cả hai bên rồi mới chạy thật.
Lỗi thường gặp
| Thông báo, hiện tượng | Nguyên nhân và cách xử lý |
|---|---|
| Some products are not synced with KiotViet. | Có sản phẩm trong đơn chưa liên kết KiotViet ID. Liên kết ở tab Đồng bộ sản phẩm rồi đăng lại. |
| Branch ID not configured. Please set default branch in settings. | Chưa chọn Chi nhánh mặc định. |
| Đơn không tự lên KiotViet | Kiểm tra ô Kích hoạt đồng bộ đơn hàng, ô Tự động đăng đơn, quy tắc có khớp trạng thái và hình thức thanh toán của đơn không. Xem dòng Auto Sync trong hộp KiotViet Order Sync; cần chi tiết thì bật Ghi log ở tab Cài đặt API. |
| Tổng tiền trên KiotViet thấp hơn trên web | Chưa bật Đồng bộ phụ thu hoặc chưa chọn Khoản thu cho phí vận chuyển. |
| Không tải được danh sách khoản thu khác | KiotViet chưa tích "Hỗ trợ các khoản thu khác khi bán hàng". |
| Đơn có ghi chú "KiotViet không nhận ..." | Phường/xã hoặc khu vực không có trong danh mục của KiotViet; plugin đã chuyển vào ô địa chỉ và gửi lại. Kiểm bộ địa chỉ ở bước 2 có đúng với cách bạn đang ghi địa chỉ không. |
Tiếp theo là Đồng bộ khách hàng nếu cần, rồi Webhook.