Special Dates – Birthdays, Anniversaries & Date Reminders
by Cristofferson Reyes https://www.xubax.com$ 17.77
In-App Purchases| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Contacts (contacts)
• Discuss (mail) • Point of Sale (point_of_sale) • Inventory (stock) • Invoicing (account) |
| Lines of code | 2602 |
| Technical Name |
special_dates |
| License | OPL-1 |
| Website | https://www.xubax.com |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Contacts (contacts)
• Discuss (mail) • Point of Sale (point_of_sale) • Inventory (stock) • Invoicing (account) |
| Lines of code | 2602 |
| Technical Name |
special_dates |
| License | OPL-1 |
| Website | https://www.xubax.com |
Never miss a customer’s special day again.
Birthdays, anniversaries, contract renewals and any recurring date — tracked, reminded and celebrated automatically from your Contacts app and the Point of Sale.
Send Email, SMS and WhatsApp from one place. Stack messages: “7 days before by email, 1 day before by SMS, WhatsApp on the day”.
Have the system create a Call, Email, To-Do or any activity on the responsible user with native Odoo notifications.
Welcome popup at session open with the list of every celebrating customer, plus automatic re-show every N hours during the shift.
A live Today view under Contacts shows every reminder due now, with comms and activities status at a glance.
Every year (anniversary), every N days, or every given weekday — covers every business scenario.
Compatible with the Mexican localization (l10n_mx) and any other localization. Spanish (es) and Spanish-MX (es_MX) translations bundled and auto-loaded on install — no manual step.
Lives inside the Contacts app
Everything is one click away under Contacts › Special Dates: Reminders, Today and Reminder Types. No extra app to switch to.
All your reminders at a glance
Browse, filter, search and group every reminder. Each reminder type has its own emoji icon so the list reads at a glance. The Next column shows the upcoming date, and the Comms column shows the delivery status for today.
A clean form, with built-in audit
Every reminder shows when it’s next due, when it was last sent, and a live Today panel with the status of every communication and auto-activity scheduled for the day. A full chatter records every event.
Embedded in every contact
A dedicated Special Dates tab on each customer lets you add and review reminders directly from the contact card. No app switching, no popups, no friction.
Today, at a glance
A clean live dashboard at Contacts › Special Dates › Today summarises today’s reminders, the status of every scheduled communication and every auto-activity. Audit the cron in seconds.
Define your own reminder types
Birthday, Anniversary, Contract Renewal, Customer Anniversary, Graduation, Founder’s Day, Loyalty Gift — create them all, each with its own emoji icon and per-type configuration.
30 curated emoji icons
A built-in dropdown picker covers every celebration scenario: Birthday, Wedding, Anniversary, Graduation, Champagne, Confetti, Crown, Diamond, Bell, Clock and more. No emoji-keyboard hunting required.
Multi-channel communication schedule
Stack as many messages as you want per Reminder Type: send an Email 7 days before, an SMS on the day, a WhatsApp follow-up later. Each line tracks its own # Sent counter and can be archived independently. WhatsApp requires the optional Enterprise add-on.
Auto-activities for your team
Have Odoo automatically create a Call, Email, To-Do or any custom activity on the responsible user when the date arrives — or N days before / after. The user gets the standard Odoo notification on the bell icon and the activity appears in their “My Activities” dashboard.
Welcome popup at the Point of Sale
When a cashier opens the POS session, a welcome popup lists every customer with a special date today. The popup automatically re-appears every N hours so nothing is missed during long shifts.
Beautiful greetings, automatically
The bundled responsive HTML template renders perfectly on every mail client. Personalise the wording per reminder type — birthdays get a different tone than contract renewals. Variables like the customer name, reminder type and your company are filled in automatically.
Technical specifications
| Odoo version | 19.0 (Enterprise & Community) |
| Module category | Sales / Sales |
| Dependencies | base, mail, contacts, point_of_sale, sms |
| Optional add-on | special_dates_whatsapp (auto-installs when Odoo’s whatsapp module is present) |
| License | OPL-1 (Odoo Proprietary License) |
| Languages | English, Spanish, Spanish (Mexico) — auto-applied on install |
| POS frontend | OWL 2 popups served via async RPC |
| Multi-company | Full record rules per company |
Setup in 4 steps
- Install the Special Dates app.
- Go to Contacts › Special Dates › Reminder Types and create your reminder types (Birthday, Anniversary, …). For each type, add the communication lines you want (Email / SMS / WhatsApp) and optional auto-activities.
- Open any customer card and switch to the Special Dates tab to add reminders for that customer.
- Done — the daily cron handles the rest. Check Contacts › Special Dates › Today any time to see what’s due today.
Make every customer feel remembered.
Install Special Dates today.
Special Dates
A complete reminder system for the special dates of your customers and contacts — birthdays, anniversaries, contract renewals, festivals or any custom recurring event. Built for Odoo 19, fully integrated with the Contacts app and the Point of Sale.
Features
- Unlimited reminder types (Birthday, Anniversary, Renewal, ...).
- Three recurrence modes: day of the week, every N days, or every year.
- Multi-channel communication schedule per type: stack Email, SMS and WhatsApp messages with their own offsets ("7 days before", "1 day before", "on the day"). Each line tracks its own counter.
- WhatsApp support via the optional companion add-on (special_dates_whatsapp), auto-installed when the Odoo whatsapp module is present.
- Auto-activities: schedule a Call, Email, To-Do or any custom activity on the responsible user (salesperson, creator, fixed user, current user) when the date arrives or N days before/after, with native Odoo notifications.
- Daily cron processes every reminder, schedule line and activity.
- Live "Today" dashboard under Contacts ▸ Special Dates that computes due-today reminders in real time (no waiting for the cron).
- Per-reminder status fields (Comms Status, Activities Status, Next Occurrence) for fast auditing.
- Full chatter on every reminder.
- Reminder lines embedded directly inside the contact form.
- Point of Sale popups: welcome at session open + periodic re-show every N hours + individual popup when a customer with a date today is selected on the order.
- Multi-company aware (per-company record rules).
- Compatible with the Mexican localization (l10n_mx) and any other.
- English, Spanish, Spanish (Mexico) translations bundled.
Configuration
- Install the module Special Dates. The Spanish translations apply automatically.
- Go to Contacts ▸ Special Dates ▸ Reminder Types.
- Create the reminder types you need (Birthday, Anniversary, etc.):
- Open a type, pick an emoji icon, set the default recurrence (Every Year / Every N Days / Day of the Week).
- Check Show Popup in Point of Sale if you want this type to trigger the POS popup.
- Switch to the Communications tab. Add one line per message — pick the channel (Email / SMS / WhatsApp if installed), the interval (Immediately / N hours / N days / N weeks / N months), the trigger (Before / On / After the date), and the template.
- Switch to the Auto-Activities tab to schedule activities on the responsible user.
- The pre-installed Default Greeting email template is ready to use, or create your own under Settings ▸ Technical ▸ Email Templates.
Usage
- From the customer / contact form, open the Special Dates tab and add a line per reminder.
- Browse all reminders at Contacts ▸ Special Dates ▸ Reminders.
- See today's load at Contacts ▸ Special Dates ▸ Today — the list is computed live every time you open it.
- The scheduled action Special Dates: Send Daily Reminders runs every day; you can also run it manually from any Reminder Type with the Run Daily Cron Now button, or from Settings ▸ Technical ▸ Scheduled Actions.
Point of Sale
- Welcome popup: when a cashier opens a POS session, a popup appears listing every customer with a special date today.
- Periodic re-show: the popup re-appears every N hours (default 3, configurable via the system parameter special_dates.pos_popup_interval_hours) while the session is open.
- Individual popup: when a cashier sets a customer on the current order, the module checks for active reminders due today; if any are found, an elegant popup shows the reminder name and emoji.
- Granular control per Reminder Type via the Show Popup in Point of Sale boolean — useful to silence specific types from the POS while keeping their emails and activities.
Bug Tracker
Issues are tracked at https://www.xubax.com/support — please include the full traceback when reporting a problem.
Credits
Author: Cristofferson Reyes — XUBAX
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