An Odoo backup that misses half the system is worse than no backup, because it gives you confidence you have not earned. Here is what a complete Odoo backup contains, and the simple routine that produces one.
Ask most Odoo owners if they have a backup and they will point at a database file with pride. Then ask where their attachments live — the scanned purchase bills, product photos and documents uploaded into records — and watch the silence. Those files do not live inside the database. They live in a separate folder called the filestore. A database-only backup restores a system where every record survives and every attachment is a broken link. This guide explains the two halves of an Odoo backup, shows the built-in way that captures both, and sets a routine sized for a real small office — because the backup you actually take beats the perfect one you intend to.
Your Odoo data exists in two places. The database (PostgreSQL) holds the structured world: customers, products, prices, invoices, stock levels, users and settings. The filestore holds the file world: every attachment, uploaded document and stored image, kept in a folder tree managed by Odoo. The database knows the names of the files; the filestore is the files. Restore only the database and Odoo will faithfully show you records that point at files which no longer exist. Restore only the filestore and you own a warehouse of documents with no index. A real backup is both, taken at the same moment, from the same system state. Everything else on this page follows from that sentence.
Odoo ships with the right tool for the job. Log out or open the database manager directly at http://localhost:8069/web/database/manager, find your database, and choose Backup. You will need the master password — the server-level password from installation. The download is a single .zip file, and its contents are exactly the lesson of this page: the database dump, the filestore, and a small manifest, packaged together. Restore works from the same screen — choose Restore, give the zip and the master password, and Odoo rebuilds both halves in one motion. For a small office on the Windows package, this built-in route is the correct default: complete, simple, and hard to do half-way by accident.
Two manual habits cause most backup heartbreak. The first is copying the database alone — with pgAdmin or a scheduled dump — and never the filestore folder; you now know what that restore looks like. The second is copying the folders of a running system: files change mid-copy, and the 'backup' is a photograph of a moving crowd — most of it fine, some of it torn, no way to know which. If you copy manually, either use the built-in backup (which handles consistency for you) or stop the Odoo and PostgreSQL services first, copy, and restart. And one more honesty note: a backup sitting on the same PC as Odoo protects against software accidents only. It does nothing against theft, fire or a dead disk, which are the accidents that close businesses.
Design for the office you have, not the one in the manual:
odoo-backup-2026-10-25.zip, so future-you can sort them at a glanceAn untested backup is a hope, not a backup. Once a quarter, prove yours: restore the latest zip onto a spare PC or a second database under a different name, log in, open a recent invoice, and download one attachment. That single click verifies both halves survived. Time the exercise too — knowing a restore takes forty minutes turns a future disaster from panic into a plan. Offices discover their backup was broken on the worst possible day precisely because the test felt optional on all the good days. It is the cheapest insurance in this entire series of guides, and it is the one that separates 'we lost the server' from 'we lost the business'.
Routines cover time; this habit covers moments. Take a fresh backup before installing a pile of new apps, before importing a big spreadsheet of products or customers, before a version upgrade, and before letting anyone 'clean up' old records. Imports and upgrades are the two operations that can damage data at scale in seconds, and both are perfectly safe when a same-day backup sits beside you. The pattern to teach your team: no big change without a backup first — said once, enforced kindly, and remembered fondly the first time it saves a weekend.
Watch the Odoo setup video to see the fresh install this backup routine protects — then take your first full backup before you enter another day of data.
▶️ Watch Full VideoYes. The backup downloaded from the database manager is a zip containing the database dump, the filestore with all attachments and images, and a manifest. That is exactly why it is the recommended method for small offices — it cannot accidentally capture only half the system.
Anywhere except only on the Odoo server itself. Rotate an external drive out of the office or sync the backup zips to a cloud folder, keep the last several backups plus a monthly one, and store the master password in a password manager. Same-PC backups only protect against small software mistakes.
Daily is ideal and takes only minutes with the built-in tool; every few days is an acceptable honest minimum for a small office. Always take an extra backup before big imports, app installs or upgrades, and test-restore a backup at least once a quarter to prove it works.