Odoo PITS Firebase Cloud Messaging Notification

1. Introduction 

The FCM Notification Module for Odoo enhances user engagement by integrating Firebase Cloud Messaging (FCM). This module enables sending push notifications to users, ensuring timely updates, reminders, and alerts. By leveraging FCM, businesses can reach their customers directly on their devices for improved communication and user experience.

2. Features 

  • User-Friendly Interface: Easy setup for configuring Firebase credentials. 
  • Multi-Device Support: User can register and receive notifications on multiple devices. 
  • Automatic Token Generation: The device token is automatically stored in Odoo and linked to the user. 
  • Customizable Notifications: Personalize message titles, bodies, image, icon, redirect URL for each notification.
  • Real-Time Notifications: Instantly send push notifications to users' devices. 
  • Group-Based Notifications: Send notifications to all users under the specific group or to all users.
  • Multi-Language Support: Send notifications in different languages based on user preferences.
  • Advanced Delivery Scheduling: Schedule notifications with precision using Start Date Time, End Date Time, and Interval (hours). The system automatically calculates the Next Execution time, ensuring notifications are sent at the correct time. Supports one-time notifications (interval = 0) and recurring notifications at defined intervals. 

3. Working

3.1 Firebase Configuration 

1. Obtain the Project ID from Firebase. 
2. Download the service account JSON file from Firebase. 
3. Obtain the VAPID key under Cloud Messaging in Firebase project settings. 
4. For further details, refer to the Firebase Cloud Messaging Documentation

Screenshot 1: Generating the service account file from Firebase.

Screenshot 2: Project details from Firebase

3.2 Odoo Backend Configuration

1. Navigate to the Odoo backend -> Main menu -> Settings 
2. Configure Firebase settings within the module by adding all the firebase configurations. 
3. Ensure that credentials and project details are correctly added. 
4. Add the service account Json file. 

Screenshot 3: Configurations for FCM.

3.3 Register Browsers

1. Navigate to the Odoo website and Enable push Notifications pop up will be shown. 
2. By clicking allow, Notification Permission will pop up from browser. 
3. Click allow for receiving notifications. 
4. Registration token will be automatically saved in the registered browsers menu.

Screenshot 4:  Enable push notification pop-up

Screenshot 5:  Notification permission pop-up from browser 

Screenshot 6: Registered browsers

3.4 Notification Groups

A Notification Group lets you organize users or customers into specific sets, so notifications are sent only to group members, enabling targeted messages and better segmentation. 

1. Create groups under the notification groups menu. 
2. Enter the group title and customers. 

Screenshot 7: Notification groups create form

Screenshot 8: Notification groups listing 

3.5 FCM Notifications

Note: Notifications follow the delivery schedule you define. A built-in scheduler runs every 5 minutes to handle all active and due notifications automatically. 

3.5.1 Creating a New Notification

Navigate to the FCM Notifications submenu from the main menu. Click New at the top to create a new notification. You will see the notification form divided into multiple pages:

  • Recipients:
    • Recipient Type – Select who will receive this notification:
      • Internal Users – All internal users.
      • Portal Users – All portal users.
      • Public Users – All public users.
      • Customer Group – Only users in selected notification groups.
      • All Users – Every registered device.
    • Customer Groups – If you choose Customer Group, select one or more groups from the list. 
  • Notification Content:
    • Title – The heading of the notification.
    • Message – The body text of the notification.
    • Language – Optional: choose the language for this notification.
    • Image – Optional: add an image (use a 2:1 aspect ratio, e.g., 512x256 or 1024x512).
    • Icon – Optional: add a square icon (192x192 pixels recommended).
    • Redirect URL – Optional: link users to a webpage when they click the notification.
  • Delivery Schedule
    • Active – Enable or disable this notification.
    • Start Date Time – The date and time when notifications should start sending.
    • End Date Time – The date and time when notifications should stop sending.
    • Interval (hours) – How often to repeat the notification:  
      • If 0 and the start time is in the past, the notification will not run and will be inactive. 
      • If 0 and the start time is in the future, the notification will run once at the start time. 
    • Next Execution – Automatically calculated based on the current time, start time, end time, and interval. This shows the next scheduled sending time. 

Once all required fields are filled, click Save. To send immediately, click Send Notification Now button in the bottom. Notifications will also be sent automatically according to the Delivery Schedule.

Screenshot 9:  Recipients section in notification form

Screenshot 10: Notification content section in notification form 

Screenshot 11:  Notification scheduling section in notification Creating a New Notification

Screenshot 12:  Push notification in scheduled time

3.5.2 List Notifications

  • Navigate to FCM Notifications → Notifications.
  • The list shows all notifications created in the system with the following details:
    • Recipient Type: The type of users receiving the notification (Internal, Portal, Public, Customer Group, or All Users).
    • Groups: If the notification is sent to a customer group, the selected groups will be displayed.
    • Title: The title of the notification.
    • Next Execution: Show the next execution time
    • Active: Shows whether the notification is active or inactive.
  • Use the Search bar to quickly find notifications by title or recipient type.
  • Click on a notification to view or edit it. When editing, the form will show all details including delivery schedule, content, images, and icons.
  • To create a new notification, click the New button at the top-right. Fill in the required fields, set the delivery schedule, and click Save.
  • The list also allows administrators to monitor which notifications are active, scheduled, or expired based on their Next Execution date and delivery settings.

Screenshot 13: Listing all available notification

3.5.3 Scheduler Setting 

The system includes a background scheduler (Send Scheduled FCM Notifications) that runs every 5 minutes. This scheduler automatically checks for pending notifications and delivers them based on the configured start date, end date, and interval.  

  • If the scheduler is deactivated from Settings → Technical → Scheduled Actions, scheduled notifications will not be sent.
  • Instant/manual notifications are not affected by this scheduler. 

Screenshot 14: Send scheduled FCM notification

3.6 Notification Logs 

  • After sending the notification, the log will be stored in the Notification logs menu.
  • The Notification logs menu can be accessed only by the administrator. 
  • Request data, response data and status will be saved in the Notification logs. 

Screenshot 15: Notification logs.

Screenshot 16: Request and Response data

3.7 User privileges

  • Navigate to Settings and Users menu
  • Select the user privilege for FCM Notifications
    • FCM User
      • User has no access to FCM settings and FCM Logs
      • Registration key is not visible
      • Delete operations in all menus is restricted for user
    • FCM Administrator
      • Admin has all access for FCM notification

Screenshot 17: User privileges in user settings. 

4. Working in iOS

  • Navigate to the website and login.
  • Click the share button and then Click the Add to Home Screen. 
  • It will be converted to a web app only for Internal users. 

Screenshot 18: Add to Home Screen button

  • Open the app added in the Home Screen. 
  • Then click the Enable Push Notifications button. 

Screenshot 19: Enable Push Notifications button. 

  • Then a popup will be displayed, select allow. 

Screenshot 20: Notification Request Permission

  • Now the notifications can be received.

Screenshot 21: Notification Received

5. Technical Requirements / Compatible With:

  • Python Dependency: pyfcm library 
  • Odoo Compatibility: v19.0 Community and Enterprise Editions 
  • Supported Browsers: 
    • Windows: Chrome, Edge, Firefox 
    • Mac: Safari 
    • Android: Chrome, Firefox 
    • iOS: Safari  

6. Limitations: 

  • Images in push notifications are not supported by
    • Firefox
    • Safari
  • Icons in push notifications are not supported by:
    • Safari
  • iOS: Web push notifications are supported only for web apps added to the Home Screen.
  • Android Edge browser: Push notifications are not supported. 

7. Changes Log / Release Notes 

  • Version 1.0.0: October 2025 
    • Initial release. 

8. Support 

If you have questions, use our contact form at webshopextension.com or email at support@webshopextension.com.