Backups
Snapshot a company's data and files, see at a glance whether each backup can still be restored, and restore in place with one-click revert.
A backup snapshots one company's records and, optionally, uploaded files. Create backups under Settings → Backups. Restore a backup to the same company or use it to seed a new company during sign-up.
A backup is not disaster recovery
This feature creates manual per-company snapshots, not full database dumps. It does not provide scheduling or point-in-time recovery. Maintain a separate disaster-recovery system.
What a backup contains
A backup captures company data across sales, purchasing, items, production, accounting, quality, and people. Select the i button next to Create a backup to view current record counts by area and in total.
Secrets never travel
Backups exclude credentials, integration tokens, and webhooks. Reconnect integrations after a restore.
When you export, Include offers two options:
Create a backup
Under Settings → Backups, enter an optional label, select Data only or Data + files, and select Create backup. The background export appears immediately as Creating backup…; select it to view progress. When complete, the row displays its date, size, status, and Download and Delete actions.
If the backup fails
A failed export displays a Backup failed banner with the cause. Rows that reference data outside the company are a common cause because they cannot be restored safely. Select Skip corrupted rows and retry to exclude them. The resulting backup displays N rows excluded and lists those rows in its information popover.
Is it still restorable?
Each backup's status is computed against the current schema when the page loads. Status is not stored and backups do not have a fixed expiration date.
Carbon protects old backups at the source
Carbon validates schema changes against existing backup formats before release. The live status check remains the final compatibility test.
Restore in place
Restoring replaces the company's current data. In Restore from a backup, select Choose a backup to use an existing backup, or Upload new backup… to provide a .carbon.tar.gz file. Select Data + files or Data only, then select Restore….
The Restore this company from a backup screen describes compatibility changes before execution:
- Compatible backups require confirmation only.
- Filled with a default lists fields that receive current default values.
- Discarded lists records that cannot be restored and requires entering
restoreto continue. - Can't be restored provides the reason and no confirmation action.
- Uploaded backups are checked when restoration begins.
Each group names product areas, like Production or Sales, with a "Details" expander for the exact fields.
Before replacement, Carbon snapshots the current company. If restoration fails, the current data remains unchanged. After a successful restore, use the Restored — review card to choose:
- "Keep" accepts the restored data.
- "Revert" rolls the company back to the snapshot taken just before the restore.
One restore at a time
A company can have only one restore awaiting review. Choose Keep or Revert before starting another restore.
If the restore is blocked by corrupted data
A restore first creates a safety snapshot, so corrupted rows can block it. Select Remove corrupted data and restore to review the affected rows, then Delete and restore to delete them permanently and retry. If any row is shared with another company in the group, Carbon deletes nothing and does not start the restore.
Start a company from a backup
The same file powers onboarding. When Carbon staff create a new company, the data step asks how to seed it, and "Restore from a backup" sets the new company up from an uploaded Carbon backup of another one. The other option, "Use a demo template", doesn't use a backup at all; it seeds a realistic industry story from scratch. See Demo data.
Who can see this page
Backups require permission to manage Settings. On production deployments the page is currently limited to Carbon staff while the feature is hardened for general availability; on a local development stack it is open to everyone.