Skip to content

Documentation / Backups

Restoring from Backup

How to restore an Odoo service from a backup.

If something goes wrong — accidental data deletion, a failed upgrade, or any other issue — you can restore your Odoo service from a previous backup.

How restoration works #

A backup normally contains everything needed to restore your Odoo instance:

  • The database with all your business data
  • The filestore with all uploaded files and attachments

Restoring replaces the current state of the service with the backed-up version.

A database-only backup has no filestore. The Contents column in the Backups tab shows which kind each backup is. Restoring a backup without a filestore replaces the database and keeps the service's current filestore. Attachments that were deleted after the backup was taken cannot be brought back by it. After such a restore, Odoo rebuilds its styles and scripts (asset bundles) on the next page load, so the first load takes a little longer.

Restoration options #

Create a copy from backup #

The safest approach is to create a new, independent service from a backup. The original service remains untouched.

1. Open the Backups tab #

Navigate to the service and open the Backups tab.

2. Click Create Copy #

Find the completed backup you want to use and click Create Copy on that row.

3. Choose neutralization #

In the modal, decide whether to Neutralize sensitive data. When enabled, passwords, emails, and other sensitive data will be sanitized in the copy.

4. Confirm #

Click Create Copy to start. A new service will be provisioned and the backup restored into it.

The new copy appears in the Copies tab of the original service once provisioning and restoration are complete.

A copy created from a database-only backup has no attachments, images or documents. Copies made from the running service with Create Copy on the service itself always include the filestore.

Direct restoration #

For urgent situations, you can restore directly to the existing service.

1. Open the Backups tab #

Navigate to the service and open the Backups tab.

2. Click Restore #

Find the completed backup and click Restore on that row.

3. Confirm the restoration #

Read the warning carefully and click Yes, Restore to proceed.

The restore process will:

  1. Create a safety backup of the current state and store it at your backup destination
  2. Fetch the backup onto the server
  3. Check that the server has enough free disk space to restore it
  4. Stop the service
  5. Replace the database with the backup, and the filestore as well if the backup has one
  6. Start the service again

The safety backup covers what the restore replaces. If the backup you restore has no filestore, the safety backup is database-only too. Otherwise it includes the filestore. It is stored before anything about the service changes, so it is there even if the restore fails. Because of that, a restore needs a backup destination configured for the service; without one it is refused before it starts.

If one of the first three steps fails, for example because the server lacks the disk space, the restore stops and the service keeps running unchanged. The server needs free space for the backup file plus its unpacked contents; the current filestore that a full backup replaces counts towards that.

Direct restoration overwrites the current database. Any data created after the backup was taken will be lost. Consider creating a copy first if you're unsure.

Upload & Restore #

You can upload an external Odoo backup file (.zip) and restore it directly into the service. This is useful for migrating from another Odoo instance or restoring from a locally stored backup.

1. Open the Backups tab #

Navigate to the service and open the Backups tab.

2. Click Upload & Restore #

Click the Upload & Restore button in the header.

3. Select the backup file #

Upload an Odoo backup file (.zip) and optionally add a description.

4. Confirm #

Click Upload & Restore. The file will be uploaded to your backup destination, then the restore process begins — including a safety backup of the current state. A file that cannot be read as a zip is refused before the service is stopped.

This will stop the service temporarily and overwrite the current database, and the filestore if the file contains one. Any data created after the uploaded backup will be lost. A file without a filestore leaves the service's current files in place.

Downloading a backup #

If you need to restore manually or move data to a different system:

  1. Go to the service's Backups tab
  2. Find the backup you want
  3. Click Download to get a temporary download link
  4. The download contains the database dump and, unless the backup is database-only, the filestore archive

Download links expire after a set period for security. Generate a new link if the previous one has expired.

Best practices #

  • Test your backups — Periodically restore a backup to a copy to verify it works
  • Keep multiple backups — Don't rely on a single backup; use scheduled backups with retention
  • Back up before changes — Always create a manual backup before major operations