Skip to main content

SaaS Business Management

The ECOSIRE SaaS Business Management module transforms Odoo 19 into a full-featured SaaS platform management system. Provision and manage multiple tenant instances, automate subscription billing, track resource usage with metering, and monitor tenant health -- all from within your Odoo backend. With support for automated provisioning, lifecycle management, white-label tenant portals, and built-in migration tools, this module provides everything you need to run a scalable SaaS business on top of Odoo infrastructure.

Compatibility: Odoo 19 only Price: $499 (one-time) License: Up to 3 domain activations

Key Features

  • Multi-tenant management with isolated environments
  • Automated provisioning of new tenant instances
  • Subscription billing with flexible plan management
  • Usage-based metering (storage, API calls, users, bandwidth)
  • Tenant lifecycle management (trial, active, suspended, archived)
  • Resource allocation and quota enforcement
  • Performance monitoring with health dashboards
  • Automated backups with configurable retention policies
  • White-label tenant portals for end customers
  • Migration tools for tenant upgrades and data transfers

Prerequisites

  • Odoo 19 (Community or Enterprise edition) -- this module is not compatible with earlier versions
  • An active ECOSIRE license for this module
  • Server infrastructure capable of supporting multiple tenant instances
  • PostgreSQL with permissions to create and manage multiple databases
  • Sufficient disk space for tenant data and automated backups

Installation

  1. Download the module ZIP from your ECOSIRE Dashboard
  2. Extract to your Odoo addons directory:
    unzip ecosire-saas-business-management-*.zip -d /opt/odoo/addons/
  3. Restart the Odoo service:
    sudo systemctl restart odoo
  4. Navigate to Apps, click Update Apps List
  5. Search for "ECOSIRE SaaS Business Management" and click Install
  6. Enter your ECOSIRE license key when prompted

Configuration

Step 1: Set Up Tenant Templates

  1. Navigate to SaaS Management then Configuration then Tenant Templates
  2. Click Create Template to define a new tenant blueprint
  3. Configure the template settings:
    • Template Name (e.g., "Starter", "Professional", "Enterprise")
    • Pre-installed Modules -- select the Odoo modules included in this template
    • Default Configuration -- set default settings, themes, and branding for new tenants
    • Demo Data -- choose whether to include sample data for new tenants
  4. Set Resource Defaults for the template:
    • Maximum users allowed
    • Storage quota (in GB)
    • API call limits per month
    • Bandwidth allocation
  5. Click Save and optionally mark the template as Active

Step 2: Configure Billing Plans

  1. Navigate to SaaS Management then Configuration then Billing Plans
  2. Click Create Plan to define a subscription tier
  3. Configure the plan details:
    • Plan Name and Description
    • Billing Cycle (monthly, quarterly, annually)
    • Base Price and Currency
    • Included Resources (users, storage, API calls)
    • Overage Pricing for usage beyond included resources
  4. Link the plan to one or more Tenant Templates
  5. Set up Trial Period configuration (duration, limitations, auto-conversion rules)
  6. Click Save and activate the plan

Step 3: Configure Resource Limits and Monitoring

  1. Navigate to SaaS Management then Configuration then Resource Settings
  2. Define global resource thresholds:
    • Warning Threshold -- percentage of quota that triggers alerts (e.g., 80%)
    • Hard Limit Threshold -- percentage at which access is restricted (e.g., 100%)
    • Grace Period -- days allowed over limit before enforcement
  3. Configure Monitoring Settings:
    • Health check interval (every 1/5/15 minutes)
    • Alert notification channels (email, Odoo inbox, webhook)
    • Performance metric collection frequency
  4. Set up Backup Configuration:
    • Backup frequency (daily, weekly)
    • Retention period (7/14/30/90 days)
    • Backup storage location (local, S3, or custom)
    • Enable backup encryption if required

Provisioning a New Tenant

  1. Go to SaaS Management then Tenants then Create Tenant
  2. Fill in tenant details:
    • Tenant Name and Subdomain (e.g., acme.yoursaas.com)
    • Admin Contact (name, email)
    • Template -- select from configured tenant templates
    • Billing Plan -- assign a subscription plan
  3. Click Provision to begin automated setup
  4. The system will:
    • Create an isolated database for the tenant
    • Install the selected modules from the template
    • Apply default configuration and branding
    • Set up the admin user account
    • Send a welcome email with login credentials
  5. Monitor provisioning progress in the Operations Log

Dashboard

The OWL 2 dashboard provides:

  • 6 KPI cards showing total tenants, active subscriptions, MRR, and resource utilization
  • Interactive Chart.js analytics for revenue trends and tenant growth
  • Tenant health overview with status indicators (healthy, warning, critical)
  • Resource utilization gauges (storage, users, API calls across all tenants)
  • Recent provisioning and lifecycle events feed
  • Billing summary with upcoming renewals and overdue payments
  • Quick action buttons for common tenant management tasks

Tenant Lifecycle Management

The module supports the following tenant states:

StateDescription
TrialNew tenant in evaluation period with limited features
ActiveFully operational tenant with an active subscription
SuspendedTemporarily disabled (payment overdue or manual suspension)
ArchivedDeactivated tenant with data retained per policy
MigratingTenant undergoing upgrade or data transfer

Transitions between states can be automated based on billing status, trial expiration, or triggered manually by administrators.

Troubleshooting

IssueSolution
Provisioning failedCheck PostgreSQL permissions and available disk space
Tenant not accessibleVerify DNS configuration and Odoo proxy settings
Billing not processingConfirm billing plan assignment and payment method on file
Backup failuresCheck backup storage permissions and available space
Resource limits not enforcingVerify threshold configuration and cron job schedules
Migration stuckReview migration log for errors and ensure target template is valid

Support