Portal Push Notifications for Odoo — Real-time Alerts for Portal Users
by Obystech Solutions https://obystech.com$ 34.75
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 1632 |
| Technical Name |
portal_push_notification |
| License | OPL-1 |
| Website | https://obystech.com |
| Versions | 17.0 18.0 |
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
Discuss (mail)
|
| Lines of code | 1632 |
| Technical Name |
portal_push_notification |
| License | OPL-1 |
| Website | https://obystech.com |
| Versions | 17.0 18.0 |
Portal Push Notifications
Real-time in-browser notifications for your Odoo portal users
v2.1.0 Odoo 18 OPL-1 78 Tests €69
Everything You Need
A complete, production-tested notification pipeline
Real-time DeliveryPolled every 5 seconds. Toast slides in instantly. No page reload. |
Full ConfigurationTrigger on create or field change. Filter by specific values. |
Precise TargetingRoute to specific partners or broadcast to all portal users. |
No DuplicatesPer-transaction dedup prevents double notifications. |
Notification Engine & UI
Zero external service. Self-hosted. Enterprise quality.
Features
|
Portal User ExperiencePortal users get a complete notification center with a persistent bell icon in the navbar. When changes occur in your backend, users are instantly notified with a sliding toast. All notifications are stored in a searchable history page. No external service required. Everything runs on your Odoo server. |
Configuration & Trigger Rules
Flexible, powerful, easy to set up
|
Watch any field on any model: Trigger on record create and/or field write. Watch any non-relational field (char, selection, boolean, integer, many2one). Filter by values: Only notify when a field changes to specific values (e.g., sale, done, posted). Leave empty to trigger on any change. Route to recipients: Choose a partner, user, or employee field. Or broadcast to all active portal users automatically. Custom URLs: Define portal URLs with {id} and {name} variables. 7 common models pre-configured. |
Message Templates & Variables
Dynamic content, multi-language support
Available Variables
|
Example
Title: {name} has been {new_value}
Body: Changed from {old_value} on {date} by {actor} Each notification is rendered in the recipient's language. Selection values, many2one refs, and booleans are automatically translated. |
Security & Access Control
Two groups, nine fine-grained rules
| Permission | System Admin | Notif. Manager | Notif. User | Portal User |
|---|---|---|---|---|
| Create / Edit / Delete config | ✓ | ✓ | ✗ | ✗ |
| View all logs | ✓ | ✓ | ✓ | ✗ |
| View own logs | ✓ | ✓ | ✓ | Own only |
| Write / Create logs | ✓ | ✓ | ✗ | ✗ |
| Access Configurations menu | ✓ | ✓ | ✗ | ✗ |
Built for Global Teams
7 languages, 70+ translated strings
🇫🇷 French • 🇸🇦 Arabic (RTL) • 🇪🇸 Spanish • 🇩🇪 German • 🇮🇹 Italian • 🇵🇹 Portuguese • 🇳🇱 Dutch
All backend labels, portal page text, toast messages, modals and error strings translated. JS strings served from QWeb-translated div.
Developer-Friendly Integration
Send notifications from anywhere in your code
Programmatic Send — One Line
self.env['portal.notification.log']\
.send_to_partner(
partner=record.partner_id,
title=f'Order {record.name}',
body='Shipment confirmed.',
url=f'/my/orders/{id}',
)
Pre-built Model Coverage
6 ready-to-activate configurations
|
📦
Sales Orderssale.order • state • sale, done |
💳
Invoicesaccount.move • state • posted |
🚚
Deliveriesstock.picking • state • done |
|
🛍
Purchasespurchase.order • state • purchase, done |
📋
Tasksproject.task • on create • any new task |
✅
Approvalsapproval.request • request_status • approved, refused |
How It Works
From backend change to portal notification — fully automatic
|
1
Record Changes |
→ |
2
Cache Check |
→ |
3
Trigger Evaluated |
→ |
4
Log Created |
→ |
5
Toast Shown |
Support & Contact
We respond within 24 hours on business days
Email SupportBug reports, feature requests and configuration help. abdeslam@obystech.com |
WebsiteChangelog, documentation and other modules. obystech.com |
Bug ReportsInclude Odoo version, traceback, steps to reproduce. Report a Bug |
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