- APPS
- Reminder Designer and Periodic Reporting 17.0
Technical name | total_notify |
License | LGPL-3 |
Website | https://faotools.com/apps/17.0/reminder-designer-and-periodic-reporting-816 |
Often 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 regularly. For such situations this tool serves. It lets configure automatic reports for any Odoo document type in a form of lists, where each record will satisfy the criteria you have chosen, will suit pre-defined time frames, and will contain only the data you would like to share.
Reports by any Odoo object
Configure the tool to send periodic reports and reminders for any Odoo documents including custom ones: sale orders, opportunities, warehouse transfers, requests for quotations, tasks, MRP operations, etc.
Configurable statistics
Choose data columns to include. Attach the report as an electronic table (xlsx), or/and as a PDF file, or/and as a table right in the email body. Apply aggregation (average, sum) for numeric columns. Introduce email greetings. Show or hide links
Up-to-date data under analysis
Include in reporting only those objects which suit your period requirements. It is possible to filter by any date and datetime fields of a target Odoo model
Suitable information
Apply any kind of filters by stored fields to include only documents which are of interest. Filter by a chosen partner or responsible user. Sort and group table lines
Flexible recurrence
Send lists with any periodicity: every day, each last Friday of a month, on a definite date of the year, and so on. Make reports reflect company calendars
Periodic reports for external and internal use
Any partner might be one of the reminder recipients: internal or portal users, customers, suppliers, and even Odoo mail channels
Assigned statistics managers
The groups Lists Reminder 'Manager' and 'Only Own' (according to 'Responsible') allow to manage reports. Make sure you trust such users: they may send certain documents without permission for those
Reports without restrictions
Have as many periodic reports as you wish. In any system language. For any interested internal group or third-party contacts.



Great and very useful app
First of all, the team behind this app is great, support is immediate, and response is fast. The application is very useful in managing any type of notification to keep you updated with all what's happening within your company.
Topical and up-to-date reports
Filtering by relative periods
-
Restrict report time frames by any kept date or datetime fields of a target document type: deadline, create or close date, next activity day, etc. As intervals select days, weeks, months, or years
-
Apply a few periods based on different dates: e.g. select this month's closed leads that have been opened the last year. Records should satisfy each criterion, but 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
-
Intervals may both define previous time frames ('the last') and forthcoming periods ('the next'). Periods are relative, so they are compared to today. E.g., 'this month', 'the last year', 'the next 5 weeks'
-
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
-
Take into account that if a related date is not set for a document, such a document is considered as always outside periods
Filtering by any document detail
-
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 the desired result
-
Check yourself by pressing the button 'Records': it will 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 developer mode, and apply more complex expressions such as, for instance, 'category is child_of all'
-
Introduce the special filters by a chosen partner or a responsible user. In this way, the app lets quickly limit analysis for documents' owners. For example, to find all quotations of a particular customer or a salesperson
-
Apply filters thoroughly: make sure you are not forwarding confidential data to the wrong partners. Be especially cautious in case of reminders for external contacts: make sure you filter documents by a related customer/vendor.

Configurable report appearance
-
Choose an unlimited number of columns for this document. It might be any field 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 the relational fields, you might choose the second level of precision. For example, you might show a phone of a customer for a sales orders reminder or tags colors for tasks
-
By default, the field description is used as a column name, but you can introduce any other
-
Define grouping for table lines. For instance, send a list of opportunities divided by a city, a salesperson, a customer, etc.
-
Set up table sorting for any document storable field. For instance, send a sales list ordered by a sales team, a country, a salesperson, etc.
-
Apply aggregation operators for columns: the app lets calculate the sum or average per records' column (applicable for integer, float, and monetary fields)
-
Optionally attach an Excel table for reports. It will have the same columns as a reminder itself. It is also possible to exclude a list from the email and leave only an XLSX table
-
Optionally attach a PDF version of the reminder table. Thus, send just an email, a PDF file, an electronic table, or altogether
-
Include or exclude links to Odoo objects. References are great in case of internal reminders, but they might be harmful in case of external ones
-
Introduce any greeting text for reminders. This introduction might be edited in a standard Odoo HTML editor
-
Define the report language to make sure the correct translation is applied
-
Enter the email address which will be shown for reminder recipients. Otherwise, it will be the user who sends the report.


Flexible periodicity of reports
-
Configure frequency of sending reports to fully reflect business calendars: by days, by weeks, by months, by years
-
By days: prepare a reminder every day, every 5 days, every 181 days
-
By weeks: send statistics on definite weekdays (e.g. on Mondays and Thursdays) each week or each 2,3,7,... weeks
-
By months: for the first or the last month day, for the exact date (e.g. the 16th), for a definite weekday (for instance, the first Monday, the last Friday, or the third Tuesday)
-
By years: on an exact year day, e.g. on the first of September each year
-
Be cautious with a month/year exact date: if it didn't exist, the last month's day will be applied: 31/09 -- 30/09


List reminders for any business purpose
The app is used to aggregate information by any Odoo document type: sale or purchase orders, leads or tasks, activities or meetings, deliveries or manufacturing operations, thus, generally all models which exist in the system. Typical goals of such reminders are:
-
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
Typical use case: pipeline results
-
The goal: 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 by Sales Team (e.g. to contain 'Europe')
-
As columns define Display Name, Salesperson - name, Salesperson - phone, Tags, Expected Revenue (as a total operator - use average, for example)
-
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.
Typical use case: daily to-do list
-
The goal: to get activities that 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 every day
-
Similar reminders are usually prepared for project tasks, opportunities, planned deliveries or incoming shipments, etc.
-
To prepare the same reminder for another user: duplicate this one, update the filter to a new employee and subscribe him/her
Typical use case: planned events
-
The goal: to get events that 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
-
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.
Typical use case: customer project statistics
-
The goal: to notify customers about their project tasks
-
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 an Odoo 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:
pip3 install xlsxwriter
The basic reminder appearance should not be updated through Odoo email templates. In the debug mode go to:
- Settings > Users Interface > Views > 'total_notify_template'
Do not change this template! Otherwise, its styles would be broken, and you would receive blank emails.
Have you broken everything? Not a problem, remove this template and update the module. The email appearance would be recovered.
By default, Odoo checks whether any reminder should be sent on a daily basis. You can change the frequency or time of the check. In the debug mode go to
- Settings > Technical > Automation > Scheduled Actions > '[Periodic Reporting and Reminders] Prepare and Send Reminders'
The situation for a higher frequency is when you have many reminders with a lot of 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 the number of documents in a list accounts for a few thousand records.
The module is not aimed to export data from Odoo. Do not try to send every day your whole database.
According to the current Odoo Apps Store policies:
- every module bought for version 12.0 and prior gives you access to all versions up to 12.0.
- starting from version 13.0, every module version should be purchased separately.
- disregarding the version, purchasing a tool grants you a right to all updates and bug fixes within a major version.
Take into account that the faOtools team does not control those policies. For all questions, please contact the Odoo Apps Store representatives directly.
The easiest approach is to use the Odoo store built-in workflow:
1. Open the module's page and click the button Deploy on odoo.sh
2. After that, you will be redirected to the GitHub page. Login to your account and click 'Create a new repo' or use the existing one. Please, make sure, that your repository is private. It is not permitted to publish the apps under the OPL-1 license. If necessary, create a new repo for your Odoo.sh project
3. Then, go to odoo.sh and click on the deploy button, submit the decision in the pop-up window and click 'Continue'. The action will trigger the installation process.
These steps would install the app for your project production branch. If you wanted to deploy the apps for other branches or update the module, you should undertake the following actions:
1. Upload the source code for the app from the Odoo store
2. Commit the module to a required GitHub repository. Make sure that none of the app folders/files are ignored (included in the .gitignore of your repo). Repositories are automatically created by odoo.sh, which might add by default some crucial items there (e.g. /lib). You should upload all module directories, subdirectories, and files without exceptions
3. Deploy a target branch of the odoo.sh project or wait until it is automatically built if your settings assume that.
Unzip the source code of the purchased tools in one of your Odoo add-ons' directories;
Re-start the Odoo server;
Turn on the developer mode (technical settings);
Update the apps' list (the apps' menu);
Find the app and push the button 'Install';
Follow the guidelines on the app's page if those exist.
Yes, sure. Take into account that Odoo automatically adds all dependencies to a cart. You should exclude previously purchased tools.
A red/orange warning itself does not influence features of the app. Regretfully, sometimes our modules do not pass standard automatic tests, since the latter assumes behavior which is in conflict with our apps goals. For example, we change price calculation, while standard Odoo module tests compare final price to standard algorithm.
So, first of all, please check deployed database features. Does everything work correctly?
If you still assume that warning influences real features, please contact us and forward full installation logs and the full lists of deployed modules (including core and third party ones).
No, we distribute the tools only through the official Odoo apps store
Regretfully, we do not have a technical possibility to provide individual prices.
No, third party apps can not be used on Odoo Online.
Yes, all modules marked in dependencies are absolutely required for a correct work of our tool. Take into account that price marked on the app page already includes all necessary dependencies.
The price for our modules is set up in euros. The Odoo store converts prices in others currencies according to its internal exchange rate. Thus, the price in US Dollars may change, when exchange rate changes.
Configure lists of Odoo records to send according to the chosen periods

Filter Odoo records for the list

Odoo periodic report columns

Remind any user, customer, supplier, etc.

Divide the report into subsections

Followers regularly receive reports

The Excel (xlsx) table is optionally attached

Optionally send a PDF file with the table

Flexibly configure reports periodicity

Send the reminder on specific weekdays

Define a month day for lists notifications

Send the reminder monthly on predefined weekdays

Odoo demonstration databases (live previews)
For this app, we might provide a free personalized demo database.
To demand such a database, press the button "Live Preview" on the top of this page or copy the link https://faotools.com/s/dzmzzs
No phone number or credit card is required to contact us: only a short email sign up which does not take more than 30 seconds.
By your request, we will prepare an individual live preview database, where you would be able to apply any tests and check assumptions for 14 days.
Bug reporting
In case you have faced any bugs or inconsistent behavior, do not hesitate to contact us. We guarantee to provide fixes within 60 days after the purchase, while even after this period we are strongly interested to improve our tools.
To send us a bug report: press the "Website" link on the top of this page and push the button "Bug Report" (the tab Support). Alternatively, copy the link https://faotools.com/s/br4jsk
No phone number or credit card is required to contact us: only a short email sign up which does not take more than 30 seconds.
Please include in your request as many details as possible: screenshots, Odoo server logs, a full description of how to reproduce your problem, and so on. Usually, it takes a few business days to prepare a working plan for an issue (if a bug is confirmed) or provide you with guidelines on what should be done (otherwise).
Public features requests and module ideas (free development)
We are strongly motivated to improve our tools and would be grateful for any sort of feedback. In case your requirements are of public use and might be efficiently implemented, the team would include those in our to-do list.
Such a to-do list is processed on a regular basis and does not assume extra fees. Although we cannot promise deadlines and final design, it might be a good way to get desired features without investments and risks.
To share ideas: press the "Website" link on the top of this page and push the button "Share Features Ideas" (the tab Support). Alternatively, copy the link https://faotools.com/s/3m4vpz
No phone number or credit card is required to contact us: only a short email sign up which does not take more than 30 seconds.
Questions and misc issues
Feel free to contact us with any other concerns, doubts, or questions: press the "Website" link on the top of this page and push the button "Raise Question" (the tab Support). Alternatively, copy the link https://faotools.com/s/tcsp6k
About the team
faOtools (faotools.com, former odootools.com) is the team of developers and business analysts to help you extend Odoo's potential. We have been communicating with end users to whom the software became the main business tool since 2012. As a result, we are proud of dozens of successful Odoo apps developed. We are open for new ideas and challenges to create the best Odoo apps for business needs all over the world.
You may like the tools
The tool to flexibly structure Odoo attachments in folders and synchronize directories with cloud clients: Google Drive, OneDrive/SharePoint, Nextcloud/ownCloud, and Dropbox. DMS. File Manager. Document management system
245The tool to build a deep and structured knowledge base for internal and external use. Knowledge System. KMS. Wiki-like revisions.
The tool for time-based service management from booking appointments to sales and reviews
398The tool to automatically synchronize Odoo attachments with OneDrive files in both ways
394The tool to automatically synchronize Odoo attachments with Google Drive files in both ways
394The tool to schedule Odoo messages to be delivered at a later time not immediately
24The tool to exclude automatic following for message recipients. Disable subscription. Prevent following
48
This is an unofficial translation of the GNU Lesser General Public License into Vietnamese. It was not published by the Free Software Foundation,
and does not legally state the distribution terms for software that uses the GNU LGPL - only the original English text of the GNU LGPL does
that. However, we hope that this translation will help language speakers understand the GNU LGPL better.
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June
2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License,
supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein,"this License" refers to version 3 of the GNU Lesser General Public License, and the "GNU GPL" refers to version 3 of
the GNU "General" Public License.
"The Library" refers to a covered work governed by this License, other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked Version".
The "Minimal Corresponding Source" for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that
uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version:
a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still
operates, and performs whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such
object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the
Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following:
a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license document.
c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices,
as well as a reference directing the user to the copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and
under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified
Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.
1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the
Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library
that is interface-compatible with the Linked Version.
e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by
recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information
must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that
are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of
the following:
a)Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying
uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered
version of the GNU Lesser General Public License "or any later version" applies to it, you have the option of following the terms and
conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library.