All docs

Counter · Updated 2026-09-01

Sync Conflicts (Counter)

Plain-English summary#

The counter app keeps working when the internet drops — orders, payments and customer edits are saved on the device and sent through when the connection comes back. A sync conflict happens when the same thing was changed in two places at once: e.g. the same order was edited on two tills, or a till edited an order offline while the saved copy also changed. Rather than quietly pick a winner and risk losing a sale or a payment, the counter flags the conflict and asks a person to decide. The Conflicts screen lists each one — a Sales Order Conflict, Payment Conflict or Customer Conflict — and lets you resolve it by keeping either the local (this device's) version or the server version.

When you'd use this#

  • After a till was offline and reconnected, and something it changed had also changed elsewhere.
  • When two devices edited the same order, payment or customer close together.
  • When a badge or prompt tells you there are unresolved conflicts to clear before the data can be trusted.

Walkthrough — resolving a conflict#

  1. Open the Conflicts screen on the counter. Unresolved conflicts are listed with their type and when they happened.
  2. Open one and compare the local and server versions.
  3. Choose the resolution — keep local (this device's version wins) or keep server (the server's version wins).
  4. The conflict is resolved and drops off the list. (A resolved conflict may stay visible for a moment before it disappears.)
  5. You can also dismiss a conflict if it no longer needs action.

Key concepts#

  • Why conflicts exist at all. The counter keeps working offline and catches up later. Conflicts are the honest cost of that — the alternative, quietly overwriting, could drop a real sale or double a payment. A short conflict list after a bad-connection shift is Foodops protecting your data, not a bug.
  • Local vs server is a human decision. The counter never resolves order/payment/customer conflicts on its own — money and customer records are too important to guess. You pick the version that's correct.
  • Payment conflicts need the most care. A Payment Conflict affects what was actually collected; resolve it against your cash and records, not by reflex.

Common questions#

Q: Where is Conflicts on the counter? A: It's the Conflicts screen in the counter app. If there are unresolved sync conflicts you'll usually be pointed to it; you can also go there directly.

Q: What causes a sync conflict? A: The same order, payment or customer being changed in two places — most often a till that worked offline and then reconnected while the other copy had also changed, or two devices editing the same order at once.

Q: How do I resolve one — do I keep local or server? A: Compare the two versions on the conflict, then choose keep local (this device's version) or keep server. Pick whichever is actually correct; for payment conflicts, check against what was really collected before deciding.

Q: Is a conflict a bug or lost data? A: Neither — it's the counter refusing to quietly overwrite. Nothing is lost while a conflict is open; it's waiting for you to say which version is right.

Keep reading