Skip to main content
Theme Base — Shared eCommerce Theme Foundation — A shared foundation module that centralizes the assets, snippet options, and — 1/1Illustrative preview

A shared foundation module that centralizes the assets,

snippet options, and helper models every one of your Odoo eCommerce themes depends on — built to order by

ECOSIRE so your themes stay consistent, upgradeable, and free of duplicated code.

What is Theme Base — Shared eCommerce Theme Foundation?

A shared foundation module that centralizes the assets, snippet options, and helper models every one of your Odoo eCommerce themes depends on — built to order by ECOSIRE so your themes stay consistent, upgradeable, and free of duplicated code. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Key Features

Single installable dependency module (`theme_base`) that sibling themes list in their `__manifest__.py` `depends`, giving every theme one versioned source of truth
Centralized front-end asset bundles registered via the manifest `assets` dict (`web.assets_frontend`, `web.assets_wysiwyg`) so SCSS/JS lives in one place
Shared QWeb snippet templates plus their `snippet_options` XML, extended per-theme through `xpath` inheritance instead of copy-paste
Reusable OWL/JS storefront widgets (mega-menu, product carousels, quick-view) loaded from the base bundle for all dependent themes
Shared helper models (`models.Model`) with `compute` fields and `@api.depends` — e.g. a `theme.config` settings model or shared product-badge logic
Design-token layer: SCSS variables and CSS custom properties defined once so a color/spacing change propagates to every theme on upgrade
Proper access control via `ir.model.access.csv` and record rules, including multi-company scoping where a shared model is company-aware
Clean `website.snippet.filter` and dynamic-snippet data sources defined centrally rather than duplicated per theme
Version-aware build validated against Odoo 17.0, 18.0, and 19.0, handling website-builder and asset-bundle differences between releases
Community-compatible by default (no Enterprise-only dependencies unless your existing stack already requires them)
Shared XML-RPC/JSON-RPC client definitions and field maps for external PIM/marketing integrations, consumed identically by every theme
Theme refactor included: your current themes are re-pointed to inherit base snippets/assets, removing duplicated code and drift
Upgrade-safe module structure with migration scripts so future Odoo version bumps touch the base once, not every theme
Automated actions / server actions for any shared storefront housekeeping (cache warm-up, badge recomputation) defined at the base level

Built to order, done for you

No DIY setup — a working app, built, installed and supported by ECOSIRE.

  1. 1

    You order

    Start with a one-time build price. We scope it with you at kickoff.

  2. 2

    We build & install

    ECOSIRE builds, configures and installs it on your Odoo.

  3. 3

    Go live + support

    You go live in about one working week, with two weeks of go-live support. Defects in the code we deliver are fixed free of charge.

Technical Specifications

Odoo Compatibility
Odoo 17, Odoo 18, Odoo 19
Editions
Enterprise & Community
License
Licence confirmation required
Python Requirement
Python 3.10+
Database
PostgreSQL 12+

About this Product

Once you run more than one Odoo website theme — a main storefront skin, a seasonal variant, a B2B portal look — you hit a maintenance wall. Each theme carries its own copy of the same SCSS variables, the same QWeb snippet templates, the same JS widgets and the same website.snippet.filter records. A color-token change or a bug fix in a mega-menu widget has to be re-applied theme by theme, and the moment one theme drifts, your storefronts stop looking like one brand. Odoo core gives you website and the theme-installer mechanics, but it has no first-class notion of a shared library that several sibling themes can all depend on and inherit from — so teams end up copy-pasting, and technical debt compounds with every new theme.

Theme Base is the common library module we build to sit underneath your themes. It is packaged as an installable Odoo module whose __manifest__.py declares it as a dependency target (depends on website, website_sale, and your commerce stack), so each of your themes lists theme_base in its own manifest and inherits a single, versioned source of truth. Inside it we centralize the shared asset bundles (registered through web.assets_frontend and web.assets_wysiwyg in the manifest's assets dict), the reusable QWeb snippet templates and their snippet_options XML, the OWL/JS storefront widgets, and any helper models (models.Model extensions with compute methods and @api.depends) that your themes call — for example a theme.config settings model or product-badge computation shared across skins. Security is handled properly via ir.model.access.csv plus record rules where a model is multi-company aware, and any front-end data endpoints are exposed cleanly rather than through ad-hoc controllers duplicated per theme.

Technically, the win is inheritance instead of duplication. Your themes stop shipping their own copies of a snippet and instead xpath-extend the base templates; a design-token change happens once in the base SCSS and every dependent theme picks it up on upgrade. We wire the module so it is Community-compatible (no Enterprise-only dependencies unless your stack already requires them), and we validate it against the Odoo versions you actually run — 17.0, 18.0, and/or 19.0 — accounting for the website-builder and asset-bundle differences between those releases. Where you integrate with the XML-RPC/JSON-RPC API or with external PIM/marketing tools, the shared client and field definitions live in the base module too, so every theme speaks to them the same way.

Because this is build-to-order, nothing is a generic download. We start with a scoping call to inventory your existing themes, the snippets and models they share, and the Odoo edition and version they target, then we build the base module, refactor your themes to depend on it, and hand over installable source with a migration path. Typical delivery is one working week from confirmed scope. Pricing starts from $999 (indicative, single-company base scope covering one Odoo version and a defined set of shared assets/snippets); additional Odoo versions, multi-company record-rule work, deeper theme refactoring, and extra integrations increase the quoted scope. You receive a fixed quote after the scoping call — never a surprise.

What you get

  • Installable source code for your version of the Theme Base module plus the refactored dependent themes
  • Installation and configuration on your Odoo instance (or delivery to your Odoo.sh / staging environment)
  • Technical documentation: module structure, asset bundles, shared models, snippet inheritance points, and how to add a new theme on top
  • User/developer guide plus a live training session for your team
  • Post-go-live support window for defect fixes and questions
  • UAT on a staging environment with a documented rollback plan before production cut-over
  • Git repository handover with full commit history and tagged release
  • Version-compatibility notes for your target Odoo release(s) (17.0 / 18.0 / 19.0)

Who this is for

Odoo agency / implementation partner

Runs several client storefronts or multiple themes and needs a shared foundation so a snippet fix or token change is made once and inherited everywhere, instead of re-applied theme by theme.

In-house Odoo team with multiple storefronts

Operates a main site plus B2B or regional variants on Odoo eCommerce and wants brand consistency and a single upgrade path across all of their themes.

Technical lead / Odoo developer

Owns the website codebase and wants clean module architecture — a dependency library with shared assets, models, and QWeb inheritance points — rather than accumulating copy-pasted theme code and technical debt.

Growing merchant planning more theme variants

About to add seasonal or campaign skins and wants the second, third, and fourth theme to be cheap to build because they inherit from a solid, tested base.

How Theme Base — Shared eCommerce Theme Foundation Compares

CriterionECOSIRECustom BuildCompetitorOdoo Native
Shared code across multiple themesOne dependency module inherited by every themePossible, but you design and maintain the architecture yourselfFoundation exists but is generic and not fitted to your themesNo shared-library concept; each theme is standalone
Fit to your existing themesBuilt to order and refactors your actual themes onto itFully bespoke if you have the in-house timeFixed feature set; you adapt to itN/A — nothing to fit
Odoo 17/18/19 validationBuilt and tested against your target version(s)Depends on your team's version coverageWhatever the listing happens to supportCore behaves per release; no shared abstraction
Duplicated snippet/asset maintenanceEliminated via QWeb/`xpath` inheritance from the baseOnly if you enforce the pattern rigorouslyReduced only for its own bundled themesHigh — every theme carries its own copies
Upgrade pathUpgrade the base once; themes followYou own and script every migrationTied to the vendor's release cadenceEach theme upgraded independently
Support & handoverSupport window, docs, training, git repo handoverInternal knowledge onlyVendor tickets, no code-level fitCommunity forums / your own team
Time to build the next themeFast — new theme inherits the tested baseDepends on how reusable your first build wasConstrained to the vendor's theme familyFull effort each time
Total cost of ownershipFrom $999 indicative; fixed quote after scopingHigh developer time and ongoing upkeepLow sticker price, higher hidden maintenanceNo license cost, highest maintenance drift

Frequently Asked Questions about Theme Base

Is this an existing app I can download and install right now?

No. Theme Base is build-to-order. We scope your existing themes, shared snippets, and target Odoo version, then build the library module and refactor your themes to depend on it. You receive installable source, not an instant marketplace download.

How long does delivery take?

Typical delivery is one working week from confirmed scope. The exact timeline is set after the scoping call and depends on how many themes we refactor onto the base, how many Odoo versions you target, and the depth of shared models and integrations involved.

How does pricing and scoping work?

Pricing starts from $999 as an indicative single-company base-scope figure covering one Odoo version and a defined set of shared assets and snippets. After a short scoping call we assess your themes and integrations and send a fixed quote — the from-price is a starting point, not the final number.

Which Odoo versions and editions do you support?

We build and validate for Odoo 17.0, 18.0, and 19.0. The module is Community-compatible by default; we only introduce Enterprise-only dependencies if your existing stack already relies on them. Version and edition are confirmed during scoping.

What about support and future Odoo upgrades?

Every build includes a post-go-live support window for defect fixes. Because the shared assets, models, and snippets live in one base module, future version upgrades touch the base once rather than every theme — we can quote an upgrade to a new Odoo release as separate scoped work when you need it.

Will this break my current themes?

No. We refactor your themes to inherit from the base rather than rewriting them, validate everything through UAT on a staging environment, and hand over a documented rollback plan before any production cut-over. Your git history and a tagged release are part of the handover.

Can I add new themes on top of the base later?

Yes — that is the point of the module. New themes list `theme_base` in their manifest `depends` and inherit its assets, snippets, and models, so each additional theme is faster and cheaper to build and stays consistent with the rest of your storefronts.

Request a quote

Theme Base

A shared foundation module that centralizes the assets, snippet options, and helper models every one of your Odoo eCommerce themes depends on — built to order by ECOSIRE so your themes stay consistent, upgradeable, and free of duplicated code.

  • Single installable dependency module (`theme_base`) that sibling themes list in their `__manifest__.py` `depends`, giving every theme one versioned source of truth
  • Centralized front-end asset bundles registered via the manifest `assets` dict (`web.assets_frontend`, `web.assets_wysiwyg`) so SCSS/JS lives in one place
  • Shared QWeb snippet templates plus their `snippet_options` XML, extended per-theme through `xpath` inheritance instead of copy-paste
  • Reusable OWL/JS storefront widgets (mega-menu, product carousels, quick-view) loaded from the base bundle for all dependent themes

Request a Quotation

Tell us about your Theme Base requirements and we'll send pricing, licensing options and a tailored proposal — usually within one business day.

No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.