Enable Customer Portal
This tutorial explains how customers access and manage their subscriptions through the Odoo portal.
What the Portal Includes
The customer portal is built into sadeem_subscription — no additional modules are needed for basic access.
| URL | Content |
|---|---|
/my/saas/subscriptions |
Subscription list — state, domain, storage usage |
/my/saas/subscriptions/<id> |
Individual subscription detail and actions |
/my/saas/subscriptions/stage/<id> |
Individual stage detail |
Step 1: Confirm the Customer Field
On the subscription form, confirm the Customer field is set to the correct partner record. This determines which subscriptions a logged-in portal user can see — the portal shows all subscriptions where the partner is set as Customer or is listed as a Collaborator.
Step 2: Grant Portal Access
From Contacts:
- Open the customer's contact record in Odoo
- Click Action → Grant Portal Access
- Confirm — Odoo creates a portal account and sends an invitation email with a password setup link
Alternatively, when adding a collaborator to a subscription (see Collaborator Access below), Sadeem creates the portal account automatically if one does not already exist.
Tip
If the customer already has a portal account on your Master Odoo (from a previous subscription or other access), skip this step — they will see the subscription automatically once it is in Running state.
Step 3: Share the Portal Link
Once the customer has a portal account, share the direct link:
https://yourodoo.com/my/saas/subscriptions
What Customers Can and Cannot Do
The portal distinguishes between the subscription owner (admin rule) and collaborators (user rule). Some actions are only shown to the owner.
| Action | Owner (admin) | Collaborator (user) | Requires SaaS Slave |
|---|---|---|---|
| View subscription state and domain | ✅ | ✅ | No |
| View storage usage | ✅ | ✅ | No |
| Request a backup | ✅ | ✅ | No |
| Download a backup | ✅ | ✅ | No |
| Request restore from backup | ✅ | ✅ | No |
| Add / remove custom domain | ✅ | ❌ | No |
| Connect As (impersonate Odoo users) | ✅ | ❌ | Yes |
| SQL Console | ✅ | ❌ | Yes |
| Manage collaborators | ✅ | ❌ | No |
| Git integration tab | ✅ | ❌ | No |
| Reset to Draft / Cancel | ❌ Operator only | ❌ | — |
Note
Connect As and SQL Console are available to the subscription owner in the portal — they are not operator-only. Both require saas_slave_enabled = True on the subscription.
Note
Backup actions are only available if the subscription has a Backup Server and Backup UUID set. See Setup Backup Storage.
Backup Tab
Customers see backup history (name, date, size), download buttons, and a Request Backup button. A Request Restore option lets them restore from a listed backup directly.
Custom Domain
The subscription owner can add a custom domain (e.g. app.theirdomain.com) from the portal. Sadeem creates a new Nginx proxy host for it automatically. The customer is responsible for pointing their domain's DNS to the server IP.
Collaborator Access
Collaborators are additional portal users linked to a subscription they do not own. They have read access and can perform backup operations, but cannot change domains, access SQL Console, or manage other collaborators.
To add a collaborator from the subscription form:
- Go to the Collaborators tab
- Click Add Collaborator and enter the collaborator's name, email, and rule (
adminoruser) - Sadeem creates a portal account if one does not exist and sends an invitation
- The collaborator can view the subscription in their portal at
/my/saas/subscriptions