many2one_account_account
Picking an account is the most repeated action in Odoo accounting. This widget makes one change to the dropdown: it stops offering Search more unless you typed a number.
| Technical name | many2one_account_account |
|---|---|
| Field types | many2one |
| Views | list, form |
| Module | account, present wherever Invoicing or Accounting is installed |
| Used in core | 1 occurrence, the account column on invoice lines in account |
| Versions | Odoo 20.0, Odoo 19.0 |
| No-code setup | No. Studio offers the plain relation picker; this variant is set in view XML |
| Alternatives | many2one, many2one_barcode, res_partner_many2one, account_type_selection |
What the account picker does
What this means for your team
Supported options in Odoo 19
| Option | Type | What it does |
|---|---|---|
no_open | boolean | Inherited. Removes the internal link that opens the account record. Core sets it on the invoice line column.(default: false) |
no_create | boolean | Inherited. Removes both creation paths from the dropdown.(default: false) |
no_quick_create | boolean | Inherited. Removes creation from the typed text while keeping the popup form path. Core sets it here.(default: false) |
no_create_edit | boolean | Inherited. Removes the create-and-edit popup while keeping creation from typed text.(default: false) |
search_threshold | number | Inherited. Minimum number of typed characters before the search runs; without it the search fires on focus. |
placeholder_field | field | Inherited and declared on the base widget. Names a field whose value is shown as a hint. |
create_name_field | field | <strong>Inherited and undeclared on the base widget too.</strong> Field the typed text is written into when quick-creating. |
can_scan_barcode | boolean | <strong>Inherited and undeclared on the base widget too.</strong> Enables the barcode scan affordance on the autocomplete.(default: false) |
The digit rule is not configurable. Whether Search more appears depends only on whether the typed text contains a digit, and there is no option to change or disable it. If you need the standard behavior, use the plain relation picker on that column.
Working examples
Three subclasses to change two methods
Version compatibility
| Version | Status | Notes |
|---|---|---|
| Odoo 20.0 | In development | Not released. The development branch renames the widget and adds a parent-field option plus a link-suppression rule. |
| Odoo 19.0 | Verified | First version. Verified against the shipped source. |
| Odoo 18.0 | Not available | Widget does not exist. The account column used the plain relation picker. |
| Odoo 17.0 | Not available | Widget does not exist. |
| Odoo 16.0 | Not available | Widget does not exist. |
Upgrade note. The widget is new in Odoo 19, so there is nothing to migrate from earlier versions; Odoo 18 and before used the plain relation picker on that column. Going forward is the harder direction, because the name changes on the development branch. See the Odoo 20 section.
What is changing in Odoo 20
Common problems and fixes
| Symptom | Cause and fix |
|---|---|
| Search more never appears in the dropdown | Intended. The suggestion is suppressed unless the typed text contains a digit. Type part of the account code, or use the plain relation picker on that column. |
| Search more appears on a plain word search | The typed text contains a digit, for example an account name with a numeric suffix. Expected. The rule is a simple digit test on the request. |
| The search dialog opens unfiltered | The typed text was empty when Search more was used. Type before opening the dialog; the request is applied as a name filter. |
| Users cannot see the account column at all | Core restricts the field to the accounting read group. Add the users to that group if they should see accounts on invoice lines. |
| The dropdown will not let me create an account | The core usage passes no_quick_create, an inherited many2one option. Remove the option in an inherited view if creation from the line is genuinely wanted. |
| The behavior disappeared after upgrading | The widget is renamed on the Odoo 20 development branch, so the old name no longer resolves and the field falls back to the plain relation picker. Update custom views to the new widget name during the upgrade. |
Account picker vs the alternatives
| Widget | Best for | Key difference |
|---|---|---|
many2one_account_account | Account columns where users search the chart of accounts all day | Suppresses Search more unless the request contains a digit, and seeds the search dialog with the typed text |
| many2one | Every other relation | Always offers Search more, and does not seed the dialog with the typed text |
| many2one_barcode | Relations picked with a scanner | Adds a scan affordance rather than changing the search suggestions |
| res_partner_many2one | Partner fields | A partner-specific picker with its own display rules |
| account_type_selection | Choosing an account type rather than an account | A selection widget grouping types by prefix, not a relation |
Frequently asked questions
What does many2one_account_account actually change?+
Why can I not see Search more?+
Does it support the usual many2one options?+
Is it available before Odoo 19?+
What happens to it in Odoo 20?+
Is data entry the slowest part of your accounting?
Chart of accounts design, default accounts on products and the small view changes around them decide how long a bill takes to encode. We tune Odoo Accounting for the volume you actually process, on versions 16 through 19.
Book a free consultation