Skip to Content
Catalog / HR · Human Resources / HR Birthday Notifications
HR Birthday Notifications
hr_birthday_notify

HR Birthday Notifications

Automatically wish every employee a happy birthday and alert HR to celebrate, hands-free.

v1.0 AlshayebCo Human Resources

Inherits hr.employee with an @api model cron method cron_send_birthday_wishes that iterates companies where birthday_notify_enabled is set, matches employees by birthday month/day (with Feb 29 to Feb 28 leap handling) using context_today for timezone-correct dates, and uses message_post_with_source plus activity_schedule. Three company-level fields (birthday_notify_enabled, birthday_mail_template_id, birthday_hr_admin_id) live on company and are surfaced via related fields on settings inside the hr employees settings block. Ships two mail template records (employee wish + HR admin reminder) and a daily ir.cron firing at 5 AM. No new tables, no security CSV, no controllers.

Overview

Birthdays are easy to forget in a busy company, and a missed one quietly dents employee morale. This module runs a daily background job that checks every active employee's birthday and, on the day, automatically emails them a branded birthday message, books a To-Do activity for the HR Administrator, and sends HR a notification email so the team can celebrate in person. It is configured entirely from the Employees settings page, works across multiple companies, and even handles February 29 birthdays by celebrating them on February 28 in non-leap years.

Key Features

  • Sends a polished, branded birthday email to each employee automatically on their birthday.
  • Runs as a daily scheduled job (cron) at 5 AM, so no one has to remember or trigger anything.
  • Notifies the HR Administrator with a dedicated reminder email for every employee birthday.
  • Creates a To-Do activity on the employee record assigned to the HR Administrator to prompt a personal celebration.
  • Configured per company from Settings, with an enable toggle, employee email template, and HR Administrator picker.
  • Supports multiple companies, processing each company's birthdays with its own template and admin.
  • Handles leap-year birthdays by celebrating February 29 employees on February 28 in non-leap years.
  • Restricts the HR Administrator selection to users in the HR Manager group for safe configuration.
  • Falls back to a basic notification message and posts a warning on the record when an email cannot be sent.
  • Adds no new database tables and writes detailed logs for easy troubleshooting.

Technical Details

Technical Name hr_birthday_notify
Version 1.0
License LGPL-3
Domain HR · Human Resources

Security

The module adds no new models, access-control records, or record rules of its own, so it relies entirely on standard Odoo HR and Mail permissions. Configuration lives in the Employees settings page (reachable by settings-level administrators), and the HR Administrator field can only be set to users belonging to the HR Manager group.

Dependencies

hr mail