This guide shows how to sell a digital download, such as a video course or a software installer, through an Odoo eCommerce store, including files too big to upload. The short answer: attach the file to the product as a product document and set it to appear once the order is confirmed. If the file is above Odoo's upload limit, keep it on a storage service and attach the link instead of the file, or raise the limit if you host Odoo yourself.
It is written for store owners and managers, and was verified on Odoo 19 and Odoo 20. Where labels differ, both are given.
Before you start
- Version and edition: Odoo 19 or Odoo 20, Community or Enterprise.
- Apps: Sales and eCommerce.
- Access rights: the field that controls when customers see a document only appears for users with a Sales role. Raising the upload limit needs an administrator with access to Settings.
- Terms used: a product document is a file or web link attached to a product, opened from the Documents button on the product form. The customer portal is the account area of your website where customers see their orders. A confirmed order is a quotation that has become a sales order.
Where the size limit comes from
By default, Odoo refuses any single upload larger than 128 MB (134,217,728 bytes). The browser blocks the file first with a message about the maximum allowed file size, and the server enforces the same limit.
The limit is set by a system parameter called web.max_file_upload_size, a number of bytes. A new database does not contain this parameter, so the default applies until someone creates it, and it then covers every upload in the database.
Two things sit outside that setting. Uploaded files count toward your database's storage, which Odoo's documentation gives as 100 GB on Odoo Online and 512 GB on Odoo.sh shared hosting. And a web server or hosting platform in front of Odoo can apply its own request size limit that this parameter does not change. Odoo publishes no such figure for Odoo Online, so test a large upload before relying on it.
Option 1: deliver a link instead of a file
A product document can be a web address instead of an uploaded file. Nothing is uploaded, so the size limit stops mattering, and Odoo still hands the link to each buyer when the order is confirmed.
- Upload the file to your storage service and create a sharing link that outside people can open.
- Open the Sales app, go to Products > Products, and open the product you sell.
- On the General Information tab, set Product Type to Service. A service creates no delivery order, and a cart of services does not ask for a shipping method.
- Click the Documents button at the top of the product form. The product's documents open, with a New button and an Upload button.
- Click New and set Type to URL. The file field disappears and a Url field takes its place.
- Paste the sharing link into Url. Then type the name the customer will see in the title field at the top of the form.
- Choose when the customer can see it. In Odoo 19, in the Sales section, set Sale : Visible at to On confirmed order. In Odoo 20, open the Sales tab and set Accessible to On Order Confirmation.
- Save. The document appears on the product's Documents screen with a link icon.
Option 2: raise the upload limit
This suits a self-hosted database where you control the web server.
- Open the Settings app, scroll to Developer Tools, and click Activate the developer mode. Developer mode shows technical menus that are hidden by default.
- Go to Settings > Technical > Parameters > System Parameters.
- Search for web.max_file_upload_size. If nothing is listed, click New.
- Enter web.max_file_upload_size as the Key and the new limit in bytes as the Value. For 500 MB, enter 524288000.
- Save, then reload the browser page. The browser reads the limit when a page loads, so an open tab keeps the old limit until refreshed.
- On the product's Documents screen, click Upload, then open the new document and set its visibility as in step 7 above.
When the customer gets the download
A document set to the confirmed-order option appears only once the order reaches the Sales Order stage. On the website, that happens in one of two ways:
- The online payment goes through. When the provider reports the payment as done or authorized for the required amount, Odoo confirms the order at once, and the confirmation email lists each document as a link.
- The payment is pending. With a method such as bank transfer, the order stays a quotation with no download. When the money arrives, open the order in Sales and click Confirm.
The buyer then finds it in the customer portal: Your Orders, then the order, then the Documents section. A link document opens in a new browser tab, and an uploaded file downloads.
If your payment provider has Capture Amount Manually turned on, the buyer receives the file at authorization, before you capture the money.
Check that it worked
- In the Sales app, create a quotation for a test customer with the download product, and click Preview. The customer's view opens with no Documents section.
- Go back, click Confirm, then click Preview again. A Documents section now shows the name you gave the document.
- Click the name. A link should open your storage page in a new tab, and a file should download in full.
Limits to know before you rely on it
- No download counter. Standard Odoo does not record how often a document is opened, so it cannot cap downloads. A limit needs customization.
- Links can be passed on. The order link in the confirmation email carries its own access key, so anyone given a forwarded copy can open the order and its documents. For a link document, Odoo sends the buyer on to your storage address, so that service's sharing settings decide who else can use it.
- Keep paid files off the product page. In Odoo 19, ticking Publish on website in the document's E-commerce section lets any visitor download the file from the product page. In Odoo 20, the same choice is the On Product Page option of the Accessible field.
- Documents are looked up live. Odoo reads the product's current documents whenever an order page opens, so replacing or deleting one changes what earlier buyers see too.
Steps verified on Odoo 19 and Odoo 20. Menus and labels can differ on other versions.
Common questions
What is the file upload size limit in Odoo?
By default Odoo accepts uploads up to 128 MB per file. The limit comes from the system parameter web.max_file_upload_size, in bytes, which you can create in developer mode to raise it, although a hosting platform may still apply its own lower limit.
When can a customer download a digital product bought in Odoo eCommerce?
Once the order is confirmed. A successful or authorized online payment confirms it automatically, while a pending payment such as a bank transfer leaves it as a quotation until someone clicks Confirm. The download then appears in the customer portal under Your Orders and in the order confirmation email.
Can Odoo limit how many times a file is downloaded?
Not in standard Odoo. It does not count how often a product document is opened, for uploaded files or for links, so a download cap would need customization.
Can I sell a file stored on OneDrive or Google Drive through Odoo?
Yes. Add it to the product as a document with Type set to URL and make it visible on confirmed orders. Odoo sends the buyer on to that link, so the storage service's sharing settings decide who else can open it.
Talk to the team.
If you are setting this up, or Odoo is not behaving the way this guide describes, book a 30-minute call. We will look at your configuration and tell you what it needs. Calgary studio, in-house team, no offshore handoffs.
Book the call →