This widget changes input number field and make it easier to increment the number thanks to 2 buttons (+ and -). Use JS native logic for input number, so you can use the options min, max, step, placeholder.
auto_awesome What this module does
AI-generated from the code · Odoo 20.0Adds a numeric field widget with minus and plus buttons so users can increase or decrease a number by a fixed step, with optional minimum and maximum limits. It can be used on any decimal or whole-number field in Odoo forms and lists.
This module gives Odoo a new way to display number fields: instead of typing a value, users see a minus button, the number, and a plus button. Each click changes the value by a defined step (for example 0.5 or 5), and the result is never allowed below a minimum or above a maximum when those limits are set.
- Works on both decimal and whole-number fields.
- Users can also press the up and down arrow keys, or scroll the mouse wheel over the field, to change the value.
- A placeholder text can be shown when the field is empty.
- When the field is read-only, it simply shows the formatted number without buttons.
The widget is available to developers as numeric_step and can be placed on any field in a form or list view. The module itself does not add menus or new screens; it only changes how number fields look and behave where it is applied.
As a demonstration, the module includes a demo view that applies the widget to the paper format settings (report.paperformat): top and bottom margins step by 0.5 between 0 and 100, left and right margins step by 1 between 0 and 50, and header spacing steps by 5 between 0 and 100. This demo is only loaded in demo data and shows how the widget can be configured.
Depends on
Required by other modules
Text generated by AI (DeepSeek) from reading the Odoo 20.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: 9 confirmed, 0 with no information of 9 versions.
Sources · Odoo 16.0
Confirmed on 2026-11-03 in branch 16.0 of OCA/web.
terminal Installation and usage
OCA documentation · Odoo 20.0Usage
Source · Odoo 20.0In your xml view, add widget="numeric_step" to a float or integer field. This will add the 2 buttons "+" and "-" just next to the input field in edit mode. Iteration step by default is 1.
Optional
Add an option to choose the step iteration and limits (min and max values).
Example for an 0.25 step, min to -1 and max to 10 :
<field name="sale_delay" widget="numeric_step" options="{'step': 0.25, 'min': -1, 'max': 10}" /> daysAvailable Options
- step \> Amount to increase/decrease (default: 1.0)
- min \> Min. value allowed (default: no limit)
- max \> Max. value allowed (default: no limit)
- auto_select \> Select the content when the element get focus (default: False)
- placeholder \> Define the placeholder text (default: None)
- class \> Define additional classes for the input (default: None)
Examples
Iteration with 0.25 step, min to -1 and max to 10.
Start to increment with button, continue incrementing with scrolling mouse.
Iteration with 10 step, max limit 15, placeholder with onchange
Demo
You can test the feature by going to Settings > Technical > Reporting > Paper Format. The fields "Top Margin (mm)" and "Bottom Margin (mm)" are configured to use the widget with 0.5 step, min to 0 and max to 100, and the fields "Left Margin (mm)" and "Right Margin (mm)" with 1 step, min to 0 and max to 50. The integer field "Header spacing" is configured with 5 step, min to 0 and max to 100.
No verified information in OCA: Installation, Configuration.
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.