We're seeing parts quantities that don't match between the mobile app and web dashboard. Tech shows 3 units on his phone, web shows 5. Which one's right? And is this normal or a bug?
Happened twice this week. First time cost us a callback.
Hi Mike — happy to help clarify this! A small delay (typically 30–60 seconds) is normal as data syncs, but persistent mismatches like you're describing aren't expected.
Here's how to diagnose:
1. Check the sync status indicator in the mobile app — look for the spinning icon in the top-right corner
2. Force a manual sync by pulling down on the parts list (iOS) or tapping Sync Now in the menu (Android)
3. Verify which device last updated the quantity — the web dashboard shows a Last Updated timestamp in the part detail view
If the mismatch persists after a forced sync, that's likely a sync conflict. These can happen when the same part is edited offline on mobile while someone updates it on web.
Can you tell me:
- Are your techs working offline in the field?
- Which version of the mobile app? (Settings → About)
- Was the part edited from both platforms around the same time?
This will help me determine if it's a known issue or something we need to escalate.
In my experience the web is usually right. Mobile caches aggressively to work offline, so if your tech had spotty signal when the part got updated, his phone might be showing old data.
Had this happen last month. Told my guys to always hit sync before they start pulling parts for a job. Solved most of it.
That's not acceptable. My techs shouldn't have to remember to manually sync to get accurate inventory. This is a system problem, not a user training problem.
I can reproduce this consistently. Steps:
1. Technician A updates part quantity on mobile while in airplane mode (simulating field conditions)
2. Administrator updates same part via web interface
3. Technician A reconnects and syncs
4. Web shows administrator's value, mobile shows technician's value
5. Both platforms display "Synced" status
I have confirmed this on iOS app version 3.2.1 and web dashboard as of 2026-03-20. The conflict resolution appears to favor last-write-wins by timestamp, but neither platform alerts the user that a conflict occurred.
This is a data integrity issue, not a training issue.
Yeah this one tripped me up too when I first looked at it — the sync protocol doesn't do server-side conflict detection for inventory, only for work orders. So you get these "split brain" states where both clients think they're right.
Workaround that might help: enable Real-time Inventory in Account Settings → Inventory. It burns more battery but forces a sync check every 60 seconds when the app is foregrounded. Not perfect but reduces the window.
The real fix needs server-side conflict resolution, which I know is on the backlog but no ETA I can share. I'd open a support ticket with Rachel's repro steps — having a clear bug report from a customer helps prioritize.
Thanks for the detailed repro, Rachel — that's exactly what I needed. And Eli, appreciate the context on the protocol.
Mike, I'm escalating this to our engineering team as a confirmed sync conflict bug. Rachel's steps will help them isolate the root cause. In the meantime:
- Eli's workaround (Real-time Inventory) will reduce occurrence
- I've documented a temporary process: API Pagination for Large Data Exports can pull authoritative inventory state if you need programmatic verification
I'll update this thread when I have a ticket number and expected fix timeline. Sorry this cost you a callback — that's the exact scenario we want to prevent.
Hi Mike! I wanted to follow up and make sure you're feeling supported here. We know inventory accuracy is critical to your operations, and we want to make sure you're set up for success while engineering works on a permanent fix.
I'm happy to schedule a quick call to review your current inventory workflows and see if there are any process adjustments we can make in the short term. Sometimes a small tweak to how and when updates happen can significantly reduce these conflicts.
Just reply here or reach out directly — we're here to help!