Month and Year Picker
by Thinh Nguyen Huu https://apps.odoo.com/apps/modules/19.0/may17_month_picker$ 5.00
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 78 |
| Technical Name |
may17_month_picker |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/modules/19.0/may17_month_picker |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Lines of code | 78 |
| Technical Name |
may17_month_picker |
| License | OPL-1 |
| Website | https://apps.odoo.com/apps/modules/19.0/may17_month_picker |
POWERED BY MAY17
Month & Year Picker
Hide the day. Show only what matters.
Before vs After
Default Odoo date field
Shows full date with day
Day-level calendar picker
With widget="month"
Shows only month & year
Month-level grid picker
4 Widgets Included
| Widget | Field Type | Display | Picker |
|---|---|---|---|
month |
date |
April 2026 | Month grid (Jan–Dec) |
month_datetime |
datetime |
April 2026 | Month grid (no time) |
year |
date |
2026 | Year grid |
year_datetime |
datetime |
2026 | Year grid (no time) |
User Guide
Step-by-step instructions
1 Install the Module
- Place
may17_month_pickerin your addons folder - Restart the Odoo server
- Go to Apps > search "Month & Year Picker" > click Install
web (always installed). No extra modules needed.
2 Use in Your Custom Module
Add the widget attribute to any date or datetime field in your XML view:
Month picker
| <field name="billing_month" widget="month"/> |
| For datetime: <field name="report_period" widget="month_datetime"/> |
Year picker
| <field name="fiscal_year" widget="year"/> |
| For datetime: <field name="budget_year" widget="year_datetime"/> |
3 Apply to Existing Odoo Fields (View Inheritance)
You can change any existing date field to month/year-only via view inheritance. No need to modify the original module.
<record id="sale_order_form_month" model="ir.ui.view">
<field name="name">sale.order.form.month</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='date_order']"
position="attributes">
<attribute name="widget">month_datetime</attribute>
</xpath>
</field>
</record>
4 Odoo Studio (Enterprise)
- Open the view in Odoo Studio
- Click on any date field
- In the Properties panel, change Widget to "Month" or "Year"
- Save and close Studio
Complete Example
Python Model
class Invoice(models.Model):
_name = 'my.invoice'
name = fields.Char('Number')
billing_month = fields.Date('Billing Month')
fiscal_year = fields.Date('Fiscal Year')
XML View
<sheet>
<group>
<field name="name"/>
<field name="billing_month" widget="month"/>
<field name="fiscal_year" widget="year"/>
</group>
</sheet>
</form>
<list>
<field name="name"/>
<field name="billing_month" widget="month"/>
<field name="fiscal_year" widget="year"/>
</list>
Common Use Cases
Billing & Invoicing
Invoice month, billing cycle, payment period, subscription month
Reporting
Monthly report, fiscal period, accounting month, budget year
HR & Payroll
Payroll month, attendance period, leave month, appraisal year
Contracts
Contract start/end month, warranty period, lease term, renewal month
Manufacturing
Production month, batch period, quality inspection, maintenance schedule
Education
Semester, academic year, course month, enrollment term
FAQ
Q: Does this affect all date fields?
A: No. Only fields with widget="month" or widget="year" are affected. All other date fields work normally.
Q: What value is stored in the database?
A: A standard date (1st day of the selected month, e.g. 2026-04-01). Fully compatible with ORM, domains, filters, and reports.
Q: Does it work in list views?
A: Yes. Works in form, list, and kanban views.
Q: Does it modify Odoo core files?
A: No. Pure frontend widget (JS + XML). No Python models, no database changes. Safe for upgrades.
Q: Can I use it with Odoo Studio?
A: Yes. The widgets appear in the Studio widget selector as "Month" and "Year".
Q: Community or Enterprise?
A: Both. Only depends on the web module.
Need Help?
Questions, bug reports, or custom date format requests
huuthinh17596@gmail.comMade by Thinh Nguyen Huu — May17
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module