Working Offline
How offline sync works in the mobile app, what data is available without connectivity, and how to troubleshoot sync issues.
Working Offline
The Clean Estimate Pro mobile app is designed to work in areas with limited or no internet connectivity. You can view client data, create estimates, and capture job details while offline. The app stores changes locally and syncs them to the server when your connection is restored.
How Offline Sync Works
The app uses a local database on your device to cache data and queue changes. The sync process follows three stages:
- Pre-cache -- When you are online, the app downloads and stores a local copy of your most-used data: clients, pricing configuration, services, add-ons, and recent estimates.
- Offline queue -- When you make changes without connectivity, the app saves each action (new estimate, client edit, note, photo) to a local queue with a timestamp.
- Sync on reconnect -- When your device regains an internet connection, the app automatically processes the queue and pushes all pending changes to the server. Incoming changes from other team members are pulled down at the same time.
Sync Status Indicator
A sync status indicator appears in the app header so you always know whether your data is current. It shows one of three states:
| Indicator | Meaning |
|---|---|
| Green checkmark | All data is synced. You are online and up to date. |
| Orange sync icon with count | Sync in progress or pending. The count shows how many changes are waiting to upload. |
| Gray offline icon | You are offline. Changes are being saved locally. |
Tap the indicator to see a breakdown of pending changes -- how many client edits, new estimates, photos, and other items are queued.
Automatic vs. Manual Sync
The app attempts to sync automatically whenever it detects a network connection. You can also trigger a manual sync at any time:
- Go to Settings > Offline.
- Tap Sync Now.
This is useful when you want to confirm all changes are uploaded before switching devices, ending your work session, or heading into an area without connectivity.
What Data Is Available Offline
Not all data is cached locally. The app prioritizes the information you are most likely to need in the field.
Always Available Offline
The following data is cached automatically and accessible without connectivity:
| Data | Details |
|---|---|
| Client list | Names, contact details, and addresses for all clients in your organization |
| Client profiles | Full profiles including estimate history, notes, and communication log |
| Pricing configuration | Your organization's base rates, multipliers, minimum charges, and package discount rules |
| Services and add-ons | The full list of services and add-on items you have configured |
| Recent estimates | Estimates created or modified in the last 30 days, including all line items and totals |
| Your pipeline deals | Deals assigned to you with stage, value, and activity history |
| Custom item templates | Saved templates for frequently used custom line items |
| Tax rates | Your configured tax rate settings |
Not Available Offline
The following features require an active internet connection:
- Sending estimates -- email and SMS delivery requires connectivity. You can create and save estimates as drafts offline, then send them when you are back online.
- Google Places autocomplete -- address search and the Auto-fill Property feature require an API call. Enter addresses and property details manually when offline.
- Photo uploads -- photos taken offline are queued locally but do not upload to the server until connectivity is restored.
- Real-time notifications -- push notifications require a connection to the notification server.
- PDF preview and generation -- PDF rendering happens server-side and requires an internet connection.
- AI features -- lead scoring, pricing analysis, photo estimation, and AI-generated proposal text all require server connectivity.
- Payment processing -- Stripe payment links, invoice creation, and payment status checks require an active connection.
- Integration syncs -- calendar, QuickBooks, and Workiz data syncs require connectivity.
If you attempt to use one of these features while offline, the app displays a message indicating that the action requires an internet connection.
Creating Estimates Offline
You can build a complete estimate without an internet connection. The process is nearly identical to the online workflow with a few differences.
Step-by-Step
- Tap the + button on the Proposals tab to start a new estimate.
- Select the estimate type (Residential, Commercial, Fleet, or Holiday Lights).
- Client and Property -- type the client name and details manually. If the client exists in your cached data, the app suggests matches from the local database. Google Places autocomplete is not available offline, so enter the full address, city, state, and ZIP by hand.
- Services and Pricing -- select services and configure parameters as usual. Pricing calculations use your cached pricing configuration, so totals are accurate and match what the web dashboard would calculate.
- Review -- review the estimate summary. The Send Estimate button is disabled while offline. Tap Save as Draft instead.
What Happens to Offline Drafts
Offline drafts are stored in the local database and marked with a pending sync badge in your Proposals list. When you regain connectivity:
- The app detects the connection and begins the sync cycle.
- Draft estimates upload to the server.
- The drafts appear in your estimates list on all devices -- mobile and web.
- You can then open any draft and tap Send Estimate to deliver it to the customer.
The pending sync badge disappears once the upload completes successfully.
Editing Existing Data Offline
You can edit client details and estimate drafts while offline. Edits are saved locally and synced when you reconnect.
Client Edits
Open a client profile and update their contact information, address, or notes. Changes save to the local database immediately. A pending sync badge appears on the client record until the edit uploads to the server.
Estimate Edits
Open any draft estimate and modify services, pricing, client details, or add-ons. The app recalculates totals using your cached pricing data. Save the changes and they queue for sync.
Adding Notes and Photos
You can add notes to client records and job entries while offline. Photos taken with your device camera attach to the relevant record locally. Both notes and photos upload during the next sync cycle.
Conflict Resolution
If two team members edit the same record while one or both are offline, a conflict may occur during sync. The app handles conflicts using the following rules:
Simple Fields
For straightforward fields like client phone number, email, or address, the most recent change wins based on timestamp. If you updated a phone number at 2:00 PM and a colleague updated the same phone number at 2:15 PM, your colleague's change takes precedence.
Notes
Notes from both edits are preserved and merged chronologically. Neither person's notes are lost.
Estimates
If two team members edit the same estimate while one or both are offline, the app flags the conflict during sync. A conflict resolution dialog appears prompting you to review both versions side by side and choose which to keep.
Conflict Frequency
In practice, conflicts are uncommon. Most offline usage involves working on different client records or creating new estimates rather than editing the same data simultaneously.
Configuring Offline Settings
Go to Settings > Offline to manage how the app handles local data.
Offline Mode Toggle
Offline mode is enabled by default. The toggle controls whether the app maintains a local data cache. Leave this on unless you have a specific reason to disable it.
Data Cache Size
The settings screen shows how much device storage the app is using for cached data. Typical usage ranges from 50 MB to 200 MB depending on the size of your client list and the number of recent estimates.
Sync Now
Tap this button to manually trigger a full sync cycle. The app uploads any pending local changes and downloads the latest data from the server.
Clear Cache
Tap this to remove all locally cached data and force a full re-download on the next sync. Use this only if you suspect corrupted local data or need to reclaim device storage.
Warning: Do not clear the cache while you have unsynced changes. Verify that the sync status indicator shows a green checkmark before clearing. If you clear the cache with pending changes, those changes are lost permanently.
Preparing for Offline Work
Before heading into an area with limited connectivity, take these steps to ensure you have the data you need:
- Open the app while online. This triggers a background sync that downloads the latest client and pricing data.
- Tap Sync Now in Settings > Offline to force a complete sync cycle.
- Verify the sync indicator in the app header shows a green checkmark, confirming all data is up to date.
- Browse the clients and estimates you plan to work with during your offline period. Accessing a record ensures it is fully cached in the local database.
- Check your pricing configuration by viewing the Pricing section in Settings. Confirm your rates are current before creating estimates offline.
Syncing When Back Online
When your device reconnects to the internet, the sync process starts automatically within a few seconds. Here is what to expect.
Sync Order
The app processes queued changes in a specific order to maintain data integrity:
- New client records upload first so that estimates can reference them.
- Client edits sync next.
- New estimate drafts upload.
- Estimate edits sync.
- Notes and other metadata sync.
- Photo uploads begin last. These may take longer depending on file sizes and connection speed.
Sync Progress
A progress indicator appears showing the number of pending items and the current upload status. For example: "Syncing 3 of 7 items."
Completion
When sync finishes, the indicator returns to the green checkmark state. All your offline work is now visible on the web dashboard and accessible to other team members.
Troubleshooting Sync Issues
Changes are not syncing
- Verify your internet connection by opening a browser and loading a web page.
- Go to Settings > Offline and tap Sync Now to trigger a manual sync.
- If the sync fails, read the error message displayed below the Sync Now button. Common causes include expired authentication tokens and temporary server issues.
- If the error mentions authentication, log out and log back in to refresh your session. Pending offline changes are preserved through the logout and login cycle.
Duplicate records after sync
This can happen if you create a new client offline that another team member also created while you were disconnected. The app detects potential duplicates based on matching email address or phone number. When detected, a merge prompt appears asking you to combine the records or keep them separate.
Sync takes too long
Large photo uploads are the most common cause of slow syncs. If you have many queued photos:
- Connect to a Wi-Fi network for faster upload speeds.
- Keep the app open and in the foreground during the sync. Mobile operating systems may throttle background data transfers.
- Wait for the sync to complete before closing the app. Interrupting a sync mid-transfer can cause it to restart from the beginning on the next attempt.
Cached data seems outdated
Pull to refresh on any list screen first. If data still appears stale:
- Go to Settings > Offline.
- Tap Sync Now and wait for it to complete.
- If data remains outdated, tap Clear Cache (after confirming you have no pending changes) to force a full re-download of all data.
Estimate pricing differs from web
This typically means your cached pricing configuration is out of date. A manager may have updated pricing defaults on the web since your last sync. Tap Sync Now to pull the latest pricing data, then open the estimate and verify the totals update accordingly.
Error: "Session expired"
Your authentication token has expired after an extended offline period. Log out via Settings > Profile > Log Out, then log back in with your credentials. The app preserves all pending offline changes and uploads them after you re-authenticate.
Tips
- Sync before you leave the office. A quick tap on Sync Now ensures your local data is current before heading into the field.
- Save estimates as drafts when offline. Finalize and send them as soon as you reconnect -- it takes only a few seconds.
- Monitor the sync indicator. The icon in the header tells you at a glance whether your data is current or has pending uploads.
- Use Wi-Fi for the initial sync. The first sync after installing the app downloads your full client list and pricing data. A Wi-Fi connection avoids consuming mobile data.
- Do not clear the cache unnecessarily. Clearing forces a full re-download of all data. Only use it when troubleshooting persistent issues.
- Take photos on-site even without signal. They attach to the relevant record locally and upload automatically during the next sync.
- Check the sync status before switching devices. If you create estimates on mobile and want to continue on the web, make sure the green checkmark is showing first.
Related articles
Was this article helpful?
Still need help? Contact support