
Help · Troubleshooting
Troubleshooting
Sign-in, missing drives, sync delays, exports, and common fixes.
Unable to sign in to MileLedger
MileLedger uses Google Sign-In exclusively for authentication. If the sign-in flow fails to complete, the cause is almost always a network issue, a Google account selection error, or an iOS permission problem. This guide walks through every common fix.
Password or authentication problems
MileLedger does not have a password system. There is no MileLedger password to create, reset, or enter. Authentication is handled entirely by Google — if you are having trouble getting in, the issue relates to your Google account, not a MileLedger password.
Session expiration — signed out unexpectedly
MileLedger uses Firebase authentication tokens that expire periodically. If the app fails to refresh your token — due to inactivity, a Google account security event, or a network issue — you will be signed out and need to sign back in with Google.
Account access problems
Account access problems in MileLedger usually fall into one of three categories: signing in with the wrong Google account, revoked app permissions, or a corrupted local state. This guide covers each cause and the steps to resolve it.
A drive was not recorded
MileLedger's automatic drive detection requires Always location access, Background App Refresh, and the app to be running in the background. Several system conditions — force-quitting, Low Power Mode, or restricted location access — will prevent automatic recording. This guide covers every cause and fix.
Drive distance is incorrect
MileLedger calculates drive distance from GPS coordinate samples filtered for accuracy. Poor signal conditions, interrupted sessions, or very short segments of a drive recorded separately can produce incorrect distance readings. This guide explains why distances can be off and how to correct them.
Location permission issues
Automatic mileage tracking in MileLedger requires location access set to 'Always Allow' in iOS Settings. If tracking is not working, the most common cause is that location access has been set to 'While Using', 'Never', or has been reset by iOS. This guide shows how to check and correct location permissions.
Trip history is missing or incomplete
If trips you expected to see are missing from the Drives tab, the most common causes are active filters hiding them, a sign-in issue, or drives being stored locally on a device you are no longer using. This guide helps you identify and resolve each scenario.
Expense not saving
If an expense fails to save in MileLedger, the most likely causes are not being signed in with a Google account, reaching the 10-expense limit on the Free plan, or a required field being empty. This guide covers each cause and the steps to resolve it.
Expense or mileage totals look incorrect
Incorrect totals in MileLedger reports are almost always caused by active filters, miscategorized drives or expenses, or a mileage rate that differs from what you expected. This guide walks through every common cause.
Receipt images not appearing
Receipt images attached to expenses are stored locally on your phone and are not synced to the web app. If a receipt image is missing from an expense, the cause is usually a permission issue, the image being taken on a different device, or the expense being viewed on the web.
Duplicate drives or expenses
Duplicate drives or expenses can appear in MileLedger when automatic tracking fires alongside a manual entry for the same trip, or when an entry is saved twice. MileLedger flags likely duplicates — this guide explains how to identify and delete them.
Export problems — CSV or PDF not downloading
If a CSV or PDF export is failing or producing an empty file, the cause is usually a browser download block (web app), an iOS share sheet dismissal (phone app), or a filter that produces no matching records. PDF export requires a Premium subscription.
Report data is missing or incomplete
If your MileLedger report shows fewer records than expected, the cause is almost always an active filter, a date range that is too narrow, drives or expenses categorized as Personal when they should be Business, or data that has not yet synced from the phone app.
Report calculations look wrong
If the dollar values or totals in MileLedger reports look different from what you calculated manually, the most common cause is a mismatch between the mileage rate configured in Preferences and the rate you were expecting. This guide explains how MileLedger calculates report figures and how to correct them.
Changes are not appearing on another device or the web
MileLedger syncs trips and expenses to Firebase while the phone app is in the foreground and connected to the internet. If changes you made on the phone are not appearing on the web app, the app may not have had the opportunity to sync yet, or there is a sign-in or network issue.
Sync is delayed — updates taking a long time
Sync delays in MileLedger are usually caused by the app not being in the foreground when changes were saved, a slow or intermittent internet connection, or a large number of records being synced for the first time. This guide explains how to speed up sync and what to expect.
How MileLedger works offline
MileLedger is built on a local-first architecture. Your phone stores drives and expenses on the device using SwiftData, so you can record and review data without an internet connection. Sync to Firebase — and the web app — requires connectivity and the app to be in the foreground.