peppol_non_focusable_selection
A selection widget whose entire purpose is to not take focus. One attribute changed in an inherited template, so the Peppol registration form can put the cursor where a user actually types.
| Technical name | peppol_non_focusable_selection |
|---|---|
| Field types | selection |
| Views | form |
| Module | account_peppol, the Peppol electronic invoicing app |
| Used in core | 1 occurrence, the Peppol registration wizard in account_peppol |
| Versions | Odoo 20.0, Odoo 19.0, Odoo 18.0 |
| No-code setup | No. It is a view XML widget with a single, very specific purpose |
| Alternatives | selection, filterable_selection, radio |
What the non-focusable selection does
What this means for your team
Supported options in Odoo 19
| Option | Type | What it does |
|---|---|---|
placeholder_field | field | Inherited from the selection widget. Shows another field's value as a hint when this one is empty. Unchanged by this widget. |
The tab-order change is not configurable. The negative tab index is written into an inherited template, so there is no option to keep the search input focusable. If you want the standard behavior, use the plain selection widget.
Working examples
Two classes, two templates, one attribute
Version compatibility
| Version | Status | Notes |
|---|---|---|
| Odoo 20.0 | In development | Not released. Byte-identical to Odoo 19 on the development branch. |
| Odoo 19.0 | Verified | Verified against the shipped source. Overrides the select menu component and inherits only its search template. |
| Odoo 18.0 | Verified | First version. Same effect, achieved by overriding the field's own template instead. |
| Odoo 17.0 | Not available | Widget does not exist. |
| Odoo 16.0 | Not available | Widget does not exist. |
Upgrade note. View XML is unchanged between Odoo 18 and Odoo 19. The internal structure is not: Odoo 18 overrode the field's own template with a copy, while Odoo 19 overrides the select menu component and inherits only its search block. Any custom module that patched the Odoo 18 template needs rewriting against the new structure.
What is changing in Odoo 20
Common problems and fixes
| Symptom | Cause and fix |
|---|---|
| The cursor still lands in the dropdown | Another element in the dialog is claiming focus, or the neighboring field has no default-focus attribute. Add default_focus="1" to the field that should receive the cursor and check for other focusable widgets before it. |
| I cannot tab into the dropdown at all | Intended. A negative tab index removes the search input from the tab order. Open the dropdown with the mouse, or use the plain selection widget if keyboard access to the filter matters. |
| Missing widget error | The Peppol module is not installed in that database. Install account_peppol, or use the plain selection widget. |
| A patch stopped working after upgrading to Odoo 19 | Odoo 18 overrode the field template; Odoo 19 overrides the select menu component instead. Rewrite the patch against the new structure. |
| The dropdown offers no values | The selection field itself is empty or filtered, which is unrelated to this widget. Check the field definition; the widget changes only the tab order. |
Non-focusable selection vs the alternatives
| Widget | Best for | Key difference |
|---|---|---|
peppol_non_focusable_selection | A selection field sitting in front of the input that should receive focus | Takes the dropdown's search input out of the tab order and changes nothing else |
| selection | Every other selection field | Its dropdown search input stays focusable and in the tab order |
| filterable_selection | Selections that need their values narrowed | Filters the available values rather than changing focus behavior |
| radio | Short choice lists | No dropdown and no search input at all |
Frequently asked questions
What does peppol_non_focusable_selection actually change?+
Why does the Peppol wizard need it?+
Can I still search inside the dropdown?+
Does it support options?+
Is it Peppol-specific?+
Peppol or e-invoicing on your Odoo roadmap?
Electronic invoicing mandates arrive with deadlines, and the setup touches your chart of accounts, partner data and document formats at once. We handle Peppol and e-invoicing configuration on Odoo 16 through 19, including the country-specific parts.
Book a free consultation