This module allows downloading multiple attachments as a zip file.
This also provide a helper class IrAttachmentActionDownloadMixin to be used by developer to add action method on models.
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Lets users select several attachments in Odoo and download them together as a single ZIP file. It also gives developers a reusable helper so any record can offer a 'download all attachments' action.
This module adds a way to grab many documents at once instead of downloading them one by one.
On the Attachments screen (the ir.attachment list), a new server action called "Download" appears in the Actions menu. When you select one or more attachments and run it, Odoo checks that the selection contains only binary files; if not, it shows an error saying that only binary attachments are allowed. Otherwise it opens a download of a ZIP file named "attachments.zip" containing all the selected files. Each file keeps its own name inside the ZIP, and Odoo verifies you have read access to every attachment before packing it.
For developers, the module provides a reusable helper (a mixin) that can be added to any model. When used, it offers an action that looks at the attachments linked to the selected records: if none are found, a warning notification appears; if exactly one is found, that single file downloads directly; if several are found, they are bundled into a ZIP. The list of attachments to include can be customised by other modules.
No new menus or settings are added; the feature is reached through the standard attachment list and through buttons or actions added by modules that use the helper.
Depends on
Required by other modules
Models and fields (2)
- ir.attachment · extends an existing model
- ir.attachment.action_download · new model
Text generated by AI (DeepSeek) from reading the Odoo 19.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-03Confirmation status: 6 confirmed, 3 with no information of 9 versions.
Sources · Odoo 14.0
Confirmed on 2026-11-03 in branch 14.0 of OCA/knowledge.
terminal Installation and usage
OCA documentation · Odoo 19.0Usage
Source · Odoo 19.0- Go to Settings \> Technical \> Database Structure \> Attachments and select some files.
- Go to Actions \> Download and a zip file containing the selected files will be downloaded.
For developer
You can reuse the IrAttachmentActionDownloadMixin on your favorite models:
from odoo import models
class StockPicking(models.Model): _name = "stock.picking" _inherit = ["stock.picking", "ir.attachment.action_download"]
Then you can add an action button on list view line or on the action button (when multiple lines are selected) to download all files:
stock.picking.tree download attachments stock.picking
Download attachments
list code
action = records.action_download_attachments()
> [!NOTE] > Even you will be able to generate a zip file with multiple document > with the same name it's advice to overwrite _compute_zip_file_name to > improve the name. When a slash (/) is present in the path it will > create a directory. This example will create a directory per > stock.picking using its name: > > class IrAttachment(models.Model): > _inherit = "ir.attachment" > > def _compute_zip_file_name(self): > self.ensure_one() > if self.res_model and self.res_model == "stock.picking": > return ( > self.env[self.res_model] > .browse(self.res_id) > .display_name.replace("/", "-") > + "/" > + self.name > ) > return super()._compute_zip_file_name()
No verified information in OCA: Installation, Configuration.
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.
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.