💶 CaliMoney

Documentation

Offline & Sync

How offline mode and cloud synchronization work

CaliMoney is designed to work without an internet connection. All data is written first to the local database (IndexedDB via Dexie) and then synced to Firestore when you're online.

Status indicator

When you have no connection, an Offline badge appears in the header. It disappears as soon as the connection is restored.

The badge waits a couple of seconds before appearing, so a brief drop — for example while you switch to another app and back on your phone — doesn't flash it. When you return to CaliMoney, the connection is checked again straight away.

What you can do offline

ActionOffline
View movements✅ From local cache
Add movements✅ Saved locally
Edit movements✅ Saved locally
Delete movements✅ Saved locally
Clone movements✅ Saved locally
Copy a movement as text✅ Works offline
Edit recurring templates✅ Saved locally
Turn a suggested subscription into a template✅ Found on-device, saved locally
Manage categories✅ Saved locally
View dashboard✅ Data from cache
Import a CSV/Excel statement✅ Read entirely on-device — see Import
Import a PDF or photo statement❌ Requires connection (AI extraction)
Recover deleted movements from a snapshot✅ Snapshots live on this device — see Export
Sync with cloud❌ Requires connection

Sync queue

Operations performed offline (add, edit, delete — movements, recurring movements and categories) are placed in a sync queue. Pending movements show a clock icon.

When you come back online, CaliMoney automatically syncs all pending operations in the order they were performed.

Pending movements can be edited, cloned and deleted like any other. Editing one updates the queued operation instead of adding another, and deleting one that has never reached the cloud simply removes it from your device.

Install as an app (PWA)

CaliMoney is a Progressive Web App: you can add it to your phone's home screen for a native-app-like experience with immediate offline access.

When you open the app on a mobile browser, an install banner appears at the bottom of the screen.

  • Android (Chrome) — tap Install in the banner. The browser will prompt you to confirm.
  • iOS (Safari) — the banner shows step-by-step instructions:
    1. Tap Share ⬆️
    2. Tap More options
    3. Tap Add to Home Screen

If you dismiss the banner, it will reappear the next time you open the app in your browser.