OdooWiki OCA HUB

Storage File

storage_file folder_open OCA/storage open_in_new
Storage License: LGPL-3

External file management depending on Storage Backend module.

It include these features: * link to any Odoo model/record * store metadata like: checksum, mimetype

Use cases (with help of additional modules): - store pdf (like invoices) on a file server with high SLA - access attachments with read/write on prod environment and only read only on dev / testing

auto_awesome What this module does

AI-generated from the code · Odoo 18.0

Store files on external storage backends and manage them from Odoo. Users can upload, view, link files to records, and swap files between storage backends.

This module adds a central place to manage files stored on external storage services (like a file server or CDN) instead of inside the Odoo database. A new 'File' menu appears under the Storage menu, where you can see all stored files with their name, backend, size, and type.

On each file you can set the storage backend, upload the file data, and see useful information such as the file size, checksum, relative path, and a public URL. Files can be marked as public or private depending on the backend setting. A scheduled job runs daily to clean up files that have been marked for deletion.

You can also swap files from one storage backend to another using a wizard. Select the files, choose a destination backend (which must belong to the same category), and the system moves the files, updates their paths, and removes them from the old backend.

Storage backends gain extra settings: how filenames are built (name with ID or SHA hash), whether files are served by Odoo or an external service, a base URL for external serving, and whether the backend is public. A button lets you recompute the base URL for files if server settings change.

Access rules allow internal users to read all files, while public users can only read files on public backends. The module also extends PDF report rendering to use the correct base URL when printing reports.

Depends on

Menus it adds

menu_storage_file
Models and fields (5)
  • storage.file · new modelurl, data, name, slug, active, checksum (Checksum/SHA1), filename (Filename without extension), mimetype (Mime Type), url_path, extension, file_size, file_type, is_public, to_delete, backend_id, company_id, internal_url, relative_path, human_file_size, backend_categ_id (Backend Category)
  • storage.backend · extends an existing modelbase_url, is_public, served_by, filename_strategy, base_url_for_files, url_include_directory_path, backend_view_use_internal_url
  • ir.actions.report · extends an existing model
  • storage.file.replace · new modeldata, file_id, file_name
  • storage.file.swap.backend · new modelfile_ids (Files), dest_backend_id (Destination Storage), source_backend_id (Source Storage), source_backend_categ_id (Source Backend Category)

Text generated by AI (DeepSeek) from reading the Odoo 18.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 6 confirmed, 3 with no information of 9 versions.

terminal Installation and usage

No verified information

Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.