This module offers a generic functionality for replacing QWeb view elements. Typically, element replacements are conducted through a template using an XPATH replacement by creating a new module. With this module, users don't need to do this; they simply need to create template.content.mapping records for the templates they wish to modify.
Examples:
- Replace 'Salesperson' label with 'Sales Representative' in the quotation print.
- Replace 'Add to Cart' button with 'Add to Basket' in the eCommerce product page.
auto_awesome What this module does
AI-generated from the code · Odoo 18.0Lets you replace text in any QWeb template (reports and website pages) without writing code, by creating simple mapping records that swap one string for another.
This module adds a new screen called Template Content Mappings, found under the Settings menu. There you create records that tell Odoo: in this template, replace this text with that text.
- Pick a report (for example a quotation or invoice report) and the main template is filled in automatically, or choose a template directly for a website/frontend page.
- Enter the text to replace (for example 'Salesperson') and the new text (for example 'Sales Representative').
- Optionally choose a language, so the replacement only applies to that language; leave it empty to apply to all languages.
When Odoo renders a page or report, it looks for mappings matching that template and language, and swaps the text before showing or printing it. The record name is generated automatically as 'old text -> new text' so the list is easy to read. The list can be filtered between report and frontend mappings, and grouped by report, template or language.
Only users in the Settings/Administration group can create, change or delete mappings; regular users, portal users and public users can only read them. The module touches the QWeb rendering engine and the views/reports models (ir.ui.view, ir.actions.report).
Depends on
Menus it adds
Models and fields (1)
- template.content.mapping · new modellang (Language), name, report_id, content_to, template_id, content_from
Text generated by AI (DeepSeek) from reading the Odoo 18.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-03Confirmation status: 3 confirmed, 6 with no information of 9 versions.
Sources · Odoo 18.0
Confirmed on 2026-11-03 in branch 18.0 of OCA/server-ux.
terminal Installation and usage
OCA documentation · Odoo 18.0Configuration
Source · Odoo 18.0Go to Settings \> Technical \> User Interface \> Template Content Mappings to create/maintain records.
Following fields should be filled in:
- Report (optional): Report record that includes the string you'd like to replace. Setting a report record will automatically update the template field.
- Template (required): The main QWeb template (ir.ui.view record) that includes the string you'd like to replace.
- Language (optional): Target language for string replacement. If left blank, the replacement will be applied to all languages.
- Content From (required): An existing string to be replaced.
- Content To (optional): A new string to replace the existing string.
Usage
Source · Odoo 18.0To use this module, first configure the template content mappings.
Then, go to the UI where your configured template is utilized.
No verified information in OCA: Installation.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
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.