Odoo module upgrades, done for you
Your JavaScript assets won't load — manifest assets= changed
From Odoo 15 onward, frontend assets belong in the assets key in __manifest__.py — not scattered in legacy qweb entries or ad-hoc script tags. Modules that skip this show blank widgets or console errors after upgrade.
Old pattern vs. new
Before (Odoo 13/14): an assets.xml inheriting web.assets_backend, plus a qweb manifest key:
# __manifest__.py
"data": ["views/assets.xml"],
"qweb": ["static/src/xml/widget.xml"],
After (Odoo 15+): everything declared directly in the manifest, grouped by bundle:
# __manifest__.py
"assets": {
"web.assets_backend": [
"my_module/static/src/js/widget.js",
"my_module/static/src/scss/widget.scss",
"my_module/static/src/xml/widget.xml",
],
},
The assets.xml file and the qweb key go away entirely. Frontend/website assets move to web.assets_frontend, and QWeb templates ride along in the same bundle list instead of a separate key.
Send us the module. We move assets to the right manifest structure, rebuild bundles, and test in the target web client. Try it live, then $50 to download.
Try the working result before you pay a cent. No signup to get started.
Common questions
Where do JavaScript assets go in modern Odoo?
In __manifest__.py under the assets key, grouped by bundle (web.assets_backend, etc.). Legacy patterns from Odoo 13–14 need rewriting.