OdooWiki OCA HUB

eCommerce product attachments

website_sale_product_attachment folder_open OCA/e-commerce open_in_new
Website License: LGPL-3

This module lets you publish downloadable attachments in a product page.

This is useful if you want to publish firmwares, manuals, specs, warranties, or whatever document related to the product.

auto_awesome What this module does

AI-generated from the code · Odoo 17.0

Publish downloadable files (manuals, firmware, specs) on your eCommerce product pages. Visitors see a 'Product downloads' section and can download the files you attach to each product.

This module adds a way to share files with shoppers on your website product pages.

On a product form, a new 'Website Attachments' section lets you pick which files should be downloadable from that product's online page. Only public files can be chosen, and removing a file from the list does not delete or unpublish it from your database.

On each file (attachment) record, you can see which products it is attached to and set a 'Name in e-commerce' — the label shoppers will see. If you leave it empty, the original file name is shown.

On the website, when a product has attachments, a collapsible 'Product downloads' block appears under the product details. It lists the files with a download icon and opens them in a new tab. The list is sorted by the e-commerce name, then the file name.

Business rules: only public attachments are offered, and system files such as JavaScript/CSS assets and web editor files are excluded from the selection. If you use multiple websites, the selection is limited to the current website.

Depends on

website_sale
Models and fields (2)
  • ir.attachment · extends an existing modelwebsite_name (Name in e-commerce), attached_in_product_tmpl_ids (Attached in products)
  • product.template · extends an existing modelwebsite_attachment_ids (Website attachments)

Text generated by AI (DeepSeek) from reading the Odoo 17.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.

Sources · Odoo 12.0

Confirmed on 2026-11-03 in branch 12.0 of OCA/e-commerce.

terminal Installation and usage

OCA documentation · Odoo 17.0

Instead of configuring attachments per product, to configure products per attachment:

  • You need permissions to access system settings.
  • Go to Settings \> General Settings \> Activate the developer mode.
  • Go to Settings \> Technical \> Database Structure \> Attachments.
  • Pick or create one.
  • Enable Attached To \> Is public document.
  • Use the field Attached in products to choose the products.

To be able to filter attachments per website:

  • Go to Website \> Configuration \> Settings \> Website.
  • Create more than one.
  • Go to Settings \> Technical \> Database Structure \> Attachments
  • Pick or create one.
  • Select a website.
  • Save

To toggle attachment icons in the website:

  • Go to any product in your eCommerce.
  • In web editor toggle Customize \> Product downloads \> Download icons.

To add publicly downloadable attachments to a product template:

  • Go to a Website \> Products \> Products in backend.
  • Pick or create one.
  • Go to the eCommerce tab \> Website Attachments.
  • Add any downloadable attachments you want there. They can exist before or be new. They must be public.
  • Save.

Once you set up the product attachments, public users will be able to download them:

  • Go to the product eCommerce page.
  • Below the product price and description, you will find a dropdown labeled as Product downloads. Click it.
  • Users will download those attachments from there.
  • Attachments will appear in name order.

No verified information in OCA: Installation.

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.