| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Sales (sale_management)
• eCommerce (website_sale) • Discuss (mail) • Invoicing (account) • Website (website) |
| Lines of code | 1387 |
| Technical Name |
neurona_digital_downloads |
| License | OPL-1 |
| Website | https://neurona.cloud |
| Versions | 18.0 19.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Sales (sale_management)
• eCommerce (website_sale) • Discuss (mail) • Invoicing (account) • Website (website) |
| Lines of code | 1387 |
| Technical Name |
neurona_digital_downloads |
| License | OPL-1 |
| Website | https://neurona.cloud |
| Versions | 18.0 19.0 |
Neurona Digital Downloads
Sell GitHub-backed digital products from Odoo, keep shipping repositories as the source of truth, and give customers a clean download experience through a dedicated portal area.
- Scan shared shipping branches and detect installable addons
- Bind one sellable product variant to one repository ref and one module
- Generate ZIP deliveries without handing over the full repository
- Expose customer downloads in a dedicated Digital Products portal area
- Keep GitHub credentials and delivery access under control
- Review scope, compatibility, and rollout notes
This module is built for teams that already publish and maintain private Odoo addons in GitHub and want a controlled way to sell them from their own Odoo website without turning the repository itself into the customer-facing delivery channel.
18.0 or 19.0 and need one commercial variant per addon/version.
Scan shared shipping branches and keep the catalog explicit
Instead of maintaining one repository per addon, the module can inspect a shared shipping branch,
detect every addon through its __manifest__.py,
and cache the available modules for controlled commercial binding.
- Register private GitHub repositories with a read-only fine-grained PAT.
- Load available repositories, branches, and tags directly from GitHub.
- Reuse one shipping repository as the technical source of truth.
- Scan shared branches like
18.0or release tags. - Detect modules and keep a cache of what is currently available.
- Mark stale catalog entries without breaking active sales rules.
Bind one variant to one deliverable addon
The commercial layer stays explicit: one Odoo product variant, one repository reference, one detected addon, one downloadable package.
| Commercial element | Technical mapping | Result |
|---|---|---|
| Product variant | Specific version or edition sold on the website | Keeps pricing and eCommerce presentation inside normal Odoo products. |
| Repository reference | Branch or tag selected from the shipping repo | Locks the purchase to the correct Odoo-major delivery source. |
| Detected module | Technical addon chosen from the scanned catalog | Ensures the customer receives only the purchased package. |
Package and deliver the right ZIP
The module downloads the repository snapshot, validates the ZIP, repackages only the selected addon, and updates the linked product document used by Odoo sale delivery.
- Manual sync for immediate delivery refresh.
- Optional scheduled sync for catalog and ZIP upkeep.
- Payload hash reuse to avoid unnecessary product-document churn.
- Leverages native
product.documentdelivery. - Keeps download availability after confirmed sale.
- Preserves a clean boundary between repository internals and customer downloads.
Give customers a proper Digital Products area
Customers do not need to navigate generic technical documents. They get a dedicated portal entry and a purchase-aware download table.
macOS note for browser downloads
ZIP deliveries are validated before publication. If a macOS browser download is marked with quarantine, Finder can block the file even though the archive itself is valid.
xattr -d com.apple.quarantine ~/Downloads/'your-file.zip'
ditto -x -k ~/Downloads/'your-file.zip' ~/Downloads/extracted_digital_product
Security and operational safeguards
- Dedicated Digital Downloads Manager group for backend management.
- GitHub PAT edition restricted to system administrators.
- Repository selector and remote ref selector kept aligned with the chosen repository.
- ZIP integrity validation before packaging or delivery.
- Portal download access restricted to confirmed purchases only.
Compatibility and current scope
- Built for Odoo 18.0 Community and Enterprise.
- Designed for GitHub-backed digital downloads from private repositories.
- Focused on backend repository management, website sale, and portal download flows.
- Does not replace broader license management, update subscriptions, or customer-specific entitlement suites.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module