Sapo POS Offline Guide

Hướng dẫn bán hàng Offline trên POS

Tài liệu giúp đội ngũ sale, support và khách hàng hiểu nhanh: khi nào POS chuyển offline, offline làm được gì, không hỗ trợ gì, cách đồng bộ dữ liệu và cách xử lý lỗi phổ biến.

1. Giới thiệu về bán offline

Bán offline là chế độ hoạt động của kênh POS khi thiết bị không có kết nối internet ổn định hoặc hệ thống gặp sự cố. Dữ liệu giao dịch được lưu tạm trên thiết bị và tự động đồng bộ khi có mạng trở lại.

📴 Tự chuyển khi mất mạng

Khi hệ thống phát hiện sự cố hoặc thiết bị mất kết nối, POS có thể tự chuyển sang chế độ bán offline.

🕹️ Có thể bật thủ công

Khi mạng chập chờn, người dùng có thể chủ động chuyển sang offline để tránh lỗi giữa chừng.

💾 Lưu tạm trên thiết bị

Đơn offline được lưu trên thiết bị bán hàng và đưa vào danh sách chờ đồng bộ khi mạng hoạt động trở lại.

Dấu hiệu nhận biết: POS hiển thị popup thông báo chuyển chế độ bán offline và icon wifi màu đỏ gạch chéo.

2. Điều kiện tiên quyết để dùng POS Offline

Tính năng Offline chỉ hoạt động ổn định khi POS đã có dữ liệu cần thiết trong bộ nhớ tạm và trình duyệt không chặn cơ chế lưu cache. Bấm vào từng nhóm bên dưới để xem chi tiết khi cần.

2.1 Chuyển offline do mất mạng
Điều kiện
Chi tiết kỹ thuật
Hành động nếu không đáp ứng

Phải đăng nhập và tải xong dữ liệu khi đang có mạng

Offline sử dụng cơ chế lưu dữ liệu trên thiết bị bán hàng nên tính năng chỉ hoạt động được khi dữ liệu đã được đồng bộ về máy đầy đủ. Các trường hợp không dùng được:
  • User vừa mới truy cập lần đầu, chưa đồng bộ dữ liệu hoặc cửa hàng chưa có sản phẩm/ khách hàng.
  • User vừa mới xóa cache - lịch sử trình duyệt web ~ đồng nghĩa xóa hết dữ liệu. Lưu ý: trường hợp user cần xóa lịch sử trình duyệt, thì lưu ý vào POS để đồng bộ dữ liệu.
  • User vừa truy cập, hệ thống đang đồng bộ dữ liệu thì gặp sự cố hoặc mất mạng - dữ liệu chưa đồng bộ đủ.
Cần mở POS và tải dữ liệu trước khi mất mạng.

Trình duyệt phải hỗ trợ và không bị chặn Cache

Tính năng offline liên quan đến cơ chế tương tác với trình duyệt, lưu dữ liệu về máy nên các trường hợp dùng ẩn danh, cài đặt auto xóa lịch sử thì tính năng sẽ không hoạt động được.
Kiểm tra lại trình duyệt, cache và chế độ duyệt web trước khi bán offline.

Trạng thái mạng phải là “Disconnected” (Mất kết nối hoàn toàn)

Hệ điều hành phải báo trạng thái No Internet. Nếu mạng chập chờn (kiểu có sóng Wifi nhưng không có dữ liệu), trình duyệt sẽ liên tục cố gắng gửi yêu cầu lên máy chủ và bị treo.

Để dùng offline ổn định, bạn cần chủ động ngắt kết nối (rút dây hoặc tắt Wifi) để hệ thống chuyển trạng thái ngay lập tức. Hạn chế F5 khi màn hình đang loading.
2.2 Chuyển offline do sự cố hệ thống
Điều kiện
Chi tiết kỹ thuật

Màn POS được xây dựng cơ chế chủ động phát hiện sự cố từ hệ thống để chủ động chuyển sang offline

Hệ thống POS sẽ chủ động kiểm tra tính ổn định của hệ thống, khi phát hiện có sự cố thì sẽ cảnh báo ngay trên giao diện người dùng và chuyển sang Offline.

3. Offline hỗ trợ được gì và chưa hỗ trợ được gì?

Offline hỗ trợ
Nghiệp vụ Ghi chú khi thao tác offline
Tạo đơn hàng mới Thêm sản phẩm, số lượng, ghi chú. Đơn được lưu tạm trên thiết bị và nằm trong danh sách chờ đồng bộ.
Thu tiền mặt và thanh toán thủ công Nhập số tiền khách đưa hoặc ghi nhận các phương thức thanh toán thủ công, tính tiền thừa và hoàn tất đơn ngay cả khi không có internet.
In hóa đơn bán hàng In bill qua máy in Bluetooth hoặc máy in kết nối cục bộ USB/LAN nội bộ. Không cần internet để in.
Thêm sản phẩm tùy chỉnh Chỉ thêm được sản phẩm tùy chỉnh vào đơn đang bán, không tạo mới sản phẩm vào danh mục chính.
Giảm giá thủ công Nhân viên có quyền có thể giảm giá theo phần trăm hoặc số tiền cố định trực tiếp trên đơn.
Tìm sản phẩm / khách hàng Tìm theo tên, barcode hoặc dữ liệu đã được lưu cache trước đó trên thiết bị.
Thêm khách hàng mới Có thể thêm mới thông tin khách hàng khi tạo đơn offline để lưu cùng giao dịch và đồng bộ sau khi có mạng.
Bán theo bảng giá Hệ thống vẫn áp dụng giá bán theo bảng giá đã có trong dữ liệu cache của POS.
Đăng nhập offline Hỗ trợ đăng nhập Offline với các tài khoản đã đăng nhập trước đó trên thiết bị bán hàng.
Offline không hỗ trợ
Nghiệp vụ Lý do / cách xử lý thay thế
Thanh toán tích hợp VietQR, VNPay, MoMo, ZaloPay,... cần xác thực real-time với cổng thanh toán nên chưa xử lý được khi mất mạng.
Quản lý ca bán hàng

User vẫn bán hàng bình thường. Hệ thống sẽ xử lý ca khi đồng bộ đơn hàng lên hệ thống.

  • Ca đang mở: đồng bộ luôn các đơn hàng vào ca này.
  • Không có ca nào mở: hệ thống mở ca trước, sau đó đồng bộ đơn vào ca vừa mở.
Phát hành hóa đơn điện tử Cần ký số và gửi dữ liệu tới cơ quan thuế qua API. Có thể in bill tạm, sau đó phát hành hóa đơn điện tử khi đơn đã đồng bộ online.
Tạo sản phẩm mới vào danh mục Tạo sản phẩm mới cần ghi nhận và đồng bộ dữ liệu với hệ thống trung tâm. Có thể dùng sản phẩm tùy chỉnh trong đơn hoặc tạo sản phẩm mới khi có mạng.
Báo cáo cuối ngày / dashboard Báo cáo cần dữ liệu tổng hợp từ server, nên chỉ đầy đủ sau khi hệ thống online và các đơn offline đã đồng bộ thành công.
Tra cứu và cấu hình nâng cao Tra cứu đơn hàng, tra cứu tồn kho, đổi trả hàng, chỉnh sửa giá, cấu hình cần kết nối hệ thống để lấy dữ liệu mới nhất, kiểm tra đơn gốc, tồn kho, quyền thao tác và đồng bộ thay đổi cấu hình.
Đăng nhập tài khoản mới / đổi mật khẩu Các thao tác xác thực tài khoản cần kết nối tới server. Nên đăng nhập trước khi vào khu vực mất mạng và không đổi mật khẩu trong thời gian offline.
Loyalty: tích điểm, đổi điểm Điểm tích của khách hàng sẽ được cộng sau khi đồng bộ đơn offline thành công.
Khuyến mãi tự động / mã khuyến mãi Cần server xác thực điều kiện, số lần dùng và tính hợp lệ của chương trình hoặc mã khuyến mãi. Có thể áp giảm giá thủ công nếu được phép.
Sổ quỹ Cần dữ liệu hệ thống để ghi nhận và đối soát thu chi chính xác.
Hiển thị công nợ khách hàng Dữ liệu công nợ cần truy vấn hệ thống để đảm bảo số liệu hiện tại. Khi online, đơn chưa thanh toán hoặc thanh toán thiếu vẫn được ghi nhận vào công nợ sau đồng bộ.
Câu tư vấn ngắn gọn cho sale/support

“Khi mất mạng, cửa hàng vẫn tạo đơn, thanh toán thủ công và in bill bình thường. Một số phần cần kết nối mạng để xử lý như thanh toán VietQR, hóa đơn điện tử… sẽ được thực hiện sau khi có mạng trở lại.”

4. Cơ chế đồng bộ dữ liệu offline → online

Khi có mạng trở lại, dữ liệu đơn hàng offline sẽ được đồng bộ theo 1 trong 3 cách sau.

1
Tự động đồng bộ

(Thông dụng nhất) Hệ thống tự động đồng bộ đơn hàng khi chuyển từ bán hàng offline sang online.

2
Đồng bộ theo tiến trình

Trong trường hợp đơn hàng chưa được đồng bộ ngay lập tức khi có mạng, đơn sẽ được đồng bộ theo tiến trình đồng bộ của phần mềm, chạy mỗi 30 phút 1 lần.

3
Đồng bộ thủ công

Khi chuyển sang bán hàng online, vào mục Danh sách đơn hàng chưa đồng bộ → chọn Đồng bộ tất cả.

Kiểm tra đồng bộ thành công: Vào mục Danh sách đơn hàng chưa đồng bộ → không còn đơn hàng nào chưa đồng bộ. Vào module danh sách đơn hàng trong Omni kiểm tra lại các đơn hàng có mã SOF (là các mã đơn offline) xem đã đầy đủ chưa.
Nếu đồng bộ thất bại: Đơn hàng chưa đồng bộ sẽ ở trạng thái “Đồng bộ thất bại” — màu đỏ; hệ thống thông báo nguyên nhân → xem nguyên nhân lỗi gây đồng bộ thất bại là gì để xử lý rồi bấm đồng bộ lại.

5. Lỗi phổ biến & cách xử lý

ERR-01Phân quyền

Mã lỗi:

[{"message":"access_denied UserId 836236 does not have permission manage_fulfillments at locationId 872465","key":"unknown","code":"unknown","field Path":"unknown"}]

Nguyên nhân: Tài khoản không được phân quyền manage_fulfillments / đóng gói.

Cách xử lý: Chủ cửa hàng vào Cấu hình → Quản lý nhân viên → Chọn nhân viên → Phân quyền đơn hàng → Chọn Đóng gói và giao hàng.
ERR-02Tồn kho

Mã lỗi:

[{"message":"Available of inventoryItemId 207466636 at locationId 527076 is out of stock.","fieldPath":"base","code":"inventory_level_out_of_stock_rule","key":"base.inventory_level_out_of_stock_rule"}]

Nguyên nhân: Sản phẩm không còn hàng tại kho tương ứng. Sản phẩm không cho phép bán âm nhưng đã bị bán âm khi offline.

Cách xử lý: Sau khi online, vào sản phẩm → tích cho phép bán âm → đồng bộ lại. Nếu khách không muốn bán âm thì bỏ tích sau khi đồng bộ thành công.

6. FAQ - Câu hỏi thường gặp

Q1. Mất mạng rồi thì làm thế nào để vào được kênh POS bán hàng?

Khi onboard khách hàng POS, cần thực hiện lúc vẫn có mạng: tạo shortcut màn POS vào máy tính và duy trì đăng nhập tài khoản. Nếu khách đã đăng xuất, cơ chế offline không áp dụng được.

Ấn vào dấu 3 chấm góc trên cùng bên phải của trình duyệt → chọn Cast, save, and share → chọn Create Shortcut.

Hoặc có thể tải ứng dụng POS về thiết bị tại góc trên cùng bên phải thanh tiêu đề.

Q2. Vì sao có mạng rồi nhưng vẫn ở chế độ offline?

Hệ thống đôi khi không tự chuyển online được. Người dùng có thể chuyển thủ công sang bán online.

Q3. Tại sao không thể dùng MoMo/thẻ khi offline?

Các phương thức thanh toán qua cổng payment như MoMo, ZaloPay, thẻ ngân hàng cần kết nối internet real-time để xác thực giao dịch với ngân hàng/ví điện tử. Vì vậy không thể thực hiện ngoại tuyến.

Q4. Có thể áp khuyến mãi hoặc mã giảm giá khi offline không?

KHÔNG áp dụng được mã khuyến mãi/voucher cần xác thực từ server. Tuy nhiên, nhân viên có thẩm quyền CÓ THỂ áp giảm giá thủ công (% hoặc số tiền cố định) trực tiếp trên đơn hàng mà không cần mạng.

Q5. Khách mua lúc offline có được tính điểm tích lũy không?

Khi đơn hàng được đồng bộ lên hệ thống thì sẽ tính điểm tích lũy theo cơ chế của hệ thống.

Q6. Khách mua offline muốn xuất hóa đơn điện tử thì xử lý thế nào?

Offline không hỗ trợ phát hành hóa đơn điện tử ngay tại thời điểm mất mạng.

Nếu user đã thiết lập xuất hóa đơn tự động, khi đơn hàng offline được đồng bộ lên hệ thống, luồng tự động xuất hóa đơn sẽ tự chạy và user không cần thao tác gì thêm.

Nếu chưa thiết lập xuất hóa đơn tự động, sau khi đơn đồng bộ lên hệ thống, vào module đơn hàng → chi tiết đơn offline → yêu cầu hóa đơn để xuất hóa đơn điện tử.

Q7. Đơn offline chưa thanh toán hoặc thanh toán một phần có ghi nhận công nợ không?

Có. Khi hệ thống online trở lại và đơn được đồng bộ, đơn chưa thanh toán hoặc thanh toán thiếu vẫn được ghi nhận vào công nợ khách hàng.

Q8. Vì sao mất mạng rồi mà hệ thống vẫn không tự động chuyển offline?

Thông thường hệ thống sẽ tự động chuyển sang offline khi không có mạng.

Có 1 số nguyên nhân dẫn đến không chuyển được sang offline:

  1. Dữ liệu chưa kịp lưu vào Local Storage: nếu bạn vừa mở máy lên, chưa kịp load danh sách sản phẩm thì bản sẽ không có gì để hiển thị khi mất mạng.
  2. Trạng thái “Mất mạng giả” (lỗi DNS hoặc Wifi yếu): Máy tính của bạn vẫn hiển thị biểu tượng Wifi (vẫn có kết nối tới Modem) nhưng Modem lại không có Internet. Sapo chỉ chuyển sang Offline khi trình duyệt nhận được tín hiệu “Disconnect” hoàn toàn từ hệ điều hành. Nếu tín hiệu chập chờn hoặc “có sóng nhưng không có mạng”, hệ thống sẽ rơi vào trạng thái chờ (Loading) vô tận để cố gắng gửi dữ liệu lên Server.
  3. Nhấn F5 (tải lại trang) khi đã mất mạng: Khi có mạng, trình duyệt tải dữ liệu từ Server về. Khi mất mạng, trình duyệt sẽ dùng dữ liệu “nằm chờ” trong bộ nhớ đệm (Cache). Nếu bạn nhấn F5 hoặc load lại trang lúc không có mạng, trình duyệt sẽ cố gắng kết nối với Server để lấy dữ liệu mới. Vì không có mạng, nó sẽ trả về trang báo lỗi “Không có kết nối Internet” (hình con khủng long). Lúc này, chế độ Offline chính thức bị vô hiệu hóa.

Cách xử lý:

  1. Luôn đảm bảo bạn đã đăng nhập và tải xong danh mục sản phẩm khi có mạng ổn định trước khi bắt đầu ca làm việc.
    Lưu ý: Bản Web lưu dữ liệu bán hàng tạm thời vào Local Storage của trình duyệt. Nếu bạn cài đặt trình duyệt tự động xóa dữ liệu khi đóng hoặc dùng Tab ẩn danh, chế độ Offline sẽ không bao giờ hoạt động.
  2. Bạn hãy chủ động ngắt kết nối Wifi hoặc rút dây mạng ra khỏi máy tính. Khi máy tính xác nhận hoàn toàn “No Internet”, trình duyệt sẽ kích hoạt Service Worker (trình chạy ngầm của Sapo) để chuyển sang giao diện bán hàng offline.
  3. Nếu lỡ F5 mà bị ra màn hình trắng: tạm thời phát 5G từ điện thoại cho máy tính truy cập 1 vài phút, chỉ cần qua được màn trắng, sau đó có thể thao tác chuyển sang offline. Hoặc chuyển qua tạo đơn bằng mobile hoặc ghi chép lại chờ khi có mạng ổn định, bạn vào phần mềm và tạo đơn bù để trừ kho và lưu doanh thu.
Q9. Bán offline có áp dụng được bảng giá không?

Có. Offline vẫn áp dụng bảng giá như khi bán online.

Q10. Khi có mạng trở lại hoặc hệ thống hết sự cố thì đơn hàng đồng bộ lên sẽ được ghi nhận dữ liệu đơn hàng như thế nào?

Đơn hàng offline đồng bộ lên hệ thống được ghi nhận như sau:

  • Ngày giờ Đặt hàng: là ngày giờ người dùng tạo đơn offline trên thiết bị.
  • Ngày giờ Xác nhận - Giao hàng - Hoàn thành: là ngày giờ đơn hàng được đồng bộ.
  • Ghi nhận doanh thu và thanh toán: theo ngày giờ đơn được đồng bộ.

Lưu ý: để doanh thu ghi nhận đúng và xuất hóa đơn đúng thì nên đồng bộ trong ngày.