Import Coffee Data and Restore Backups
The Import & Backup feature allows you to export all your Beanstats data to a JSON file and import it on another device. This enables device migration, data sharing, and manual backups.
Overview
The backup system provides:
- Full data export: Beans, brews, methods, equipment, freeze entries, water profiles, and roasters
- Selective import: Choose what data types to import
- Duplicate detection: Skip items that already exist (by UUID)
- Relationship preservation: Maintains links between brews, beans, methods, and equipment
Creating a Backup
Access
Navigate to Settings > Data > Export > Full Backup
Large backups keep the interface responsive while the file is prepared. If the export fails, an error message tells you so.
Export Options
| Option | Default | Description |
|---|---|---|
| Include Flow Data | Yes | Include weight samples from scale-connected brews |
| Include Images | No | Include photos (significantly increases file size) |
| Include Archived | Yes | Include archived beans, methods, and equipment |
Preset Configurations
- Standard: Flow data yes, images no, archived yes
- Full: Everything included (largest file size)
- Minimal: No flow data, no images, no archived items (smallest file size)
Restoring a Backup
Access
Navigate to Settings > Data > Import > Beanstats Backup
Preview
After you choose a file, Beanstats shows a preview with the record counts, the export date, and the device the backup came from. Review the contents and the options below, then tap Import. Choose Another File lets you change the selection. Unreadable files and unsupported backup versions show an error before anything is imported.
Import Options
| Option | Default | Description |
|---|---|---|
| Skip Duplicates | Yes | Skip items that already exist by UUID |
| Import Beans | Yes | Import coffee beans |
| Import Home Brews | Yes | Import home brews |
| Import Cafe Brews | Yes | Import cafe brews |
| Import Brew Methods | Yes | Import brew methods |
| Import Equipment | Yes | Import equipment |
| Import Freeze Entries | Yes | Import freeze entries |
| Import Water Profiles | Yes | Import water profiles |
| Skip Archived | No | Skip archived items |
Roasters are restored when Import Beans is enabled and matched by name. Older backups without roaster records are linked using the beans’ roaster names.
Import Order
Data is imported in dependency order to ensure relationships can be resolved:
- Equipment and water profiles
- Brew methods and their linked equipment and water profiles
- Roasters, then beans with varieties
- Freeze entries linked to beans
- Home brews linked to beans, methods, equipment, and water profiles
- Cafe brews
After import, bean weights are recalculated from linked brews and freeze entries.
Importing from Beanconqueror
- Export your data from Beanconqueror and unzip the export
- Open Settings > Data > Import > Beanconqueror
- Choose the data types and import behaviour
- Tap Start Import and select the unzipped export folder
- Review the results
The importer handles beans, brews, grinders, and preparation equipment mapped to brew methods. Freeze history preserves the source’s thaw dates for freshness calculations. The Beanconqueror screen also provides tools to fix a previous import.
Duplicate Detection
Items are matched by their unique identifier (UUID):
- If an item with the same UUID exists, it’s skipped (when Skip Duplicates is enabled)
- The existing item is used for relationship linking
- This allows safe re-import of the same backup
Use Cases
Device Migration
- Create a backup on your old device
- Transfer the JSON file to your new device (AirDrop, Files, email)
- If iCloud already restores your library, a manual import may be unnecessary. When importing, keep Skip Duplicates enabled
Manual Backup
- Create periodic backups
- Store JSON files in a secure location (iCloud Drive, Dropbox, etc.)
- Restore if data is ever lost
Sharing Data
- Create a backup with your desired options
- Share the JSON file with another user
- They import it into their Beanstats
Data Format
Backups contain metadata and arrays for beans, homeBrews, cafeBrews, brewMethods, equipment, freezeEntries, waterProfiles, and roasters. Metadata records the export time, app and backup versions, and item counts.
Water profile and roaster arrays are optional for compatibility with older backups. Relationships use identifiers so imported brews can reconnect to their beans, methods, and equipment.
Notes
Image Handling
Images are stored as base64-encoded strings when Include Images is enabled. This can significantly increase file size:
- A typical 1MB image becomes ~1.33MB in base64
- Consider disabling images for large backups
Weight Samples
Flow data (weight samples from scale-connected brews) can add significant data:
- A 30-second brew at 10Hz generates ~300 samples
- Consider the Minimal preset if file size is a concern
Other Included Data
Full backups also preserve recipe steps and brew recipe snapshots. Pressure samples are included with flow data when recorded.
What’s NOT Backed Up
App preferences, paired Bluetooth devices, and webhook endpoint settings are not included in this data backup.
Certain computed values are recalculated after import:
- Used weight (recalculated from brews)
- Frozen weight (recalculated from freeze entries)