All-In-One Lists Reminders
The tool to prepare and regularly send topical, filtered, all-in-one lists of any Odoo documents
The tool is compatible with both Odoo Enterprise and Odoo Community
The tool price includes all necessary dependencies
Many users prefer simple lists to Odoo dynamic interfaces. Sometimes it is truly comfortable to open a set of documents and process them one by one without extra clicks. It is even better if the system prepares such a list for you regularly. Besides external partners usually do not have an access to objects, while certain statistics should be available and carefully shared. For such situations this tool serves. It let you configure automatic reminders for any Odoo document type in a form of lists, where each record will satisfy criteria you have chosen, will suit pre-defined time frames, and will contain only the data you would like to share.
- The tool allows choosing an unlimited number of columns for this document. It might be any field of a target model of the following types: char, text, html, integer, float, selection, boolean, date, datetime and relations to other documents (many2one, one2many, many2many). The set includes even computed fields
- For relational fields you might choose the second level precision. For example, you might show a phone of a customer for a sales orders' reminder or tags' colors for tasks
- It is possible to adapt column names. By default a field description is stated (on the language of this reminder), but users are allowed to change them
- Optionally attach an xlsx table for reminders. It would have the same columns as a reminder itself. It is also possible to exclude a list from email and leave only an xlsx table
- Include or exclude links to Odoo objects. References are great in case of internal reminders, but they are harmful in case of external ones
- Introduce any greeting text for a notification
- Choose reminders' language
- Do not change email template manually. It will break all styles. Look at the Configuration tab
- Restrict time frames by any date or datetime of a target document type. It might be deadline, create or close date, next activity day, etc.
- If you wish, apply a few periods based on different dates. For instance, select this month closed leads which have been opened the last year. Records should satisfy all of the criteria, however if you selected the same date twice, records should be within any of those periods. For example, a deadline should be within the last 2 months OR the next month AND a close date should be within the last year
- Periods are relative, so they are periods in comparison to today. E.g., 'this month', 'the last year', 'the next 5 weeks'
- Intervals may both define previous time frames ('the last') and forthcoming periods ('the next')
- As intervals select days, weeks, months, or years
- Exclude or include a current period. For example, you might send a reminder on the first day of a month for a previous one. Vice versa, forward a list on the last day of this month for a current one
- Test your settings according to a real-time-shown result below the table
- Filters are organized as a domain constructor: you may use the most of storable fields with any level of precision. The latter means, for example, you can filter sales orders by a related partner country or even by a state of a company of a related partner
- Use both 'AND' ('all') and 'OR' ('any') operators to achieve a desired result
- Check yourself by pressing the button 'Records': it would show all documents which at the moment satisfy your search criteria (and you have an access to)
- If you feel confident to prepare Reverse Polish Notation domains, turn on the debug mode, and apply more complex expressions such as, for instance, ' category is child_of all'
- Send a reminder every day, each 5 days, each 181 days
- Notify by exact weekdays, e.g. on Mondays and Thursdays
- For monthly reminders use:
- The first month day
- The last month day
- The exact date, e.g. the 16th
- A weekday, for instance, the first Monday, the last Friday, or the third Tuesday
- Prepare a yearly statistics on an exact year day, e.g. on the first of September
- To observe the reminders' menu and configure new notifications, select the right 'Lists Reminder Manager' in this user settings
- Make sure you trust such a person. This user would be able to send any data by a document type to which he/she has a read access. It means, that if a user might read leads in general, but do not have rights to read the exact lead 'XXX', he/she would be able to send the data by the lead 'XXX' using the reminder
- To configure a reminder by this document type, a user should have a read access to such a model. For example, an employee without the right 'Warehouse user' might not prepare a reminder by deliveries
- To send periodical statistics for managers
- To forward to-do lists for certain actions
- To plan forthcoming events and actions
- To notify customers or suppliers of done jobs.
Pipeline results --> to get leads closed the previous month for a team manager
- Choose Lead/Opportunity as a model
- Define a period as Closed Date in the last month
- Make a filter Sales Channel > Sales Channel contains 'Europe', where 'Europe' is your sales team
- As columns define Display Name, Salesperson > name, Salesperson > phone, Tags, Expected Revenue
- Subscribe a sales team manager for this reminder
- Send a list each month, on the first Monday.
Similar lists might be configured for sale orders, deliveries, purchase orders, manufacturing operations, etc.
Daily to-do list --> to get activities which should be done today or previously
- Choose Activity as a document type
- Define a period as Due Date in the last 10000 days including this (to get even the eldest activities)
- Make a filter Assigned to > Name contains 'John Brown', where 'John Brown' is a user to notify
- As columns apply Display name, Category, Due Date, Note
- Subscribe a John Brown for this reminder
- Send a list everyday.
Similar reminders are usually prepared for project tasks, opportunities, planned deliveries or incoming shipments, etc.
Planned events --> to get events which will happen in forthcoming periods
- Choose Event as an object for this reminder
- Define a period as Start Date the last week, including this (it would be 'this week'), or the next 3 weeks
- Make no filters
- As columns apply Event name, Location, Start Date, End Date
- Subscribe a John Brown for this reminder, where John Brown is an event department head
- Send a list on Mondays.
Similar reminders are Okay for activities, tasks, leads, deliveries, incoming shipments, etc.
Customer project statistics --> to notify customers about their tasks
- Choose Task as a target model
- Define a period as Create Date in the last year
- Make 2 filters: Customer > Parent name is 'Agrolait' or Customer name is 'Agrolait', where 'Agrolait' is project customer
- As columns apply Display name, Deadline, Description, Last Stage Update, Stage > display name
- Subscribe a John Brown for this reminder, where John Brown is a managing partner of Agrolait
- Send a list on the 10th of January each year.
Similar statistics is frequently forwarded by support tickets, paid invoices, done sale orders, etc.
To provide the feature of dynamic Excel table generation, install the Python library xlsxwriter:
pip install xlsxwriter
The basic reminder appearance should not be configured through Odoo email templates. In the debug mode go to:
- Settings > Technical > Email > Templates > Reminder
Do not change this template! Otherwise, its styles would be broken, and you would receive blank emails.
Do you break everything? Not a problem, remove this template and update the module. The email appearance will be recovered.
Scheduled job (cron)
By default Odoo checks whether any reminder should be sent on a daily basis. You can change a frequency or time of check. In the debug mode go to:
- Settings > Technical > Automation > Scheduled Actions > Lists Reminders
The situation for a higher frequency is when you have many reminders with a lot records to search. In that case the cron job might be not ready with all actions in time, and it is better to repeat the check. However, be cautious: do not make it too frequent. Otherwise, one job would not be fulfilled until another one, and Odoo would collapse until a reminder is sent.
The cron job interval should be bigger than your Odoo configured timeout. Sometimes it is required to increase a timeout, if a number of documents in a list accounts for a few thousands records.
The module is not aimed to export data from Odoo. Do not try to send everyday your whole database.