Skip to content
BlogKurumsal Yazılım

Offline-first field sales apps: managing sync conflicts

Unique Technology30 June 20268 min read
Offline-first field sales apps: managing sync conflicts

Field sales teams work in basements, warehouses and areas with weak coverage. An app that “works when there is internet” is an app that does not get used. But the real cost of offline support is not storing data on the device — it is resolving the same record changing in two places.

What belongs on the device?

DataOfflineNote
Rep’s customer listYesTheir route only
Products and pricesYesTimestamped, download time shown
StockPartlyMarked as estimated
Balance / credit limitNoLive query when online
Orders / visit recordsYesQueued, sent later

The screen must show how old the cached data is. “Prices updated at 08:15” is the cheapest possible guard against ordering at the wrong price.

Queue logic

Offline actions are written to an ordered queue rather than sent directly, and the queue drains when connectivity returns. Three rules matter: give every action a device-generated unique id so the same order cannot land twice, retry with increasing backoff, and show the user how many records are still pending. An invisible queue becomes an end-of-day complaint.

Conflict resolution

A rep edits a customer offline while head office edits the same record. Plain “last write wins” loses data. What works is field-level: merge non-conflicting fields, define source precedence for conflicting ones (head office owns credit limit, the field owns visit notes), and route the rest to operations. Put these rules in a table before writing code.

Location and visit records

Verifying that a visit happened is a common requirement, but continuous tracking drains batteries, feels intrusive and creates personal-data obligations. Capture location only at visit start and end, limit retention, and tell the employee clearly.

Monitor the sync

If a device has not synced for two days, the system should notice before the user does. Last sync time, pending record count and app version belong on an admin dashboard. In field apps the expensive failures are the silent disconnections nobody noticed.

#saha satış#mobil#çevrimdışı#senkron