This is a technical module that helps managing recurrence on Odoo models.
It allows to define a recurring rule on a record and two helper methods:
- One to get the recurring next date
- One to set the recurring next date on the record
auto_awesome What this module does
AI-generated from the code · Odoo 15.0Provides a shared technical foundation so other Odoo modules can define recurring rules (daily, weekly, monthly, etc.) on any record and automatically compute the next occurrence date.
This is a technical module: it does not add menus, screens or buttons by itself. It adds a reusable building block (an abstract model called recurrence.mixin) that other modules can attach to their own records.
What it provides:
- A recurrence type field (recurrence_type) with the choices Daily, Weekly, Monthly, Monthly Last Day, Quarterly, Semesterly and Yearly.
- Helper methods that calculate the next occurrence date based on the last occurrence date and the chosen recurrence type.
- A method to set the next occurrence date, optionally starting from the current date and time.
- A method to move the schedule forward: the next date becomes the last date, and a new next date is computed.
Business rules and automatic behaviour: - The interval between occurrences follows the selected type: one day, one week, one month, three months, six months or one year. - For Monthly Last Day, the calculation targets the last day of the month; for Quarterly and Semesterly, it targets the first day of the period.
Which areas it touches:
- Only the recurrence.mixin abstract model. Any module that inherits it decides which fields hold the last and next occurrence dates. No user-visible feature is added on its own.
Depends on
Models and fields (1)
- recurrence.mixin · new modelrecurrence_type
Text generated by AI (DeepSeek) from reading the Odoo 15.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 13.0
Confirmed on 2026-11-03 in branch 13.0 of OCA/server-ux.
terminal Installation and usage
OCA documentation · Odoo 15.0Usage
Source · Odoo 15.0Supported intervals
* Day
* Month
* End of Next Month
* Quarter
* Semester
* Year
Examplefrom odoo import fields, models
class RecurrenceModel(models.Model):
_name = "recurrence.model"
_inherit = ["recurrence.mixin"]
_description = "A model that implements recurrence"
_field_last_recurrency_date = "last_recurrency_date"
_field_next_recurrency_date = "next_recurrency_date"
last_recurrency_date = fields.Datetime()
next_recurrency_date = fields.Datetime()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.