Monday, August 3, 2015

Pragmatic Odoo 8 SaaSKit V1.2

SaaSkit by Pragmatic

SaasKit is a state of art solution for cloud-based Software as a Service for Odoo 8 (formerly OpenERP) that can be easily adopted by SMEs. Companies can add different features or modules to the existing Odoo installation or system just by configurations and provide it in SaaS model to their Clients or end-users. ‘As-is’ installation of the SaaSKit would help any company to leverage on its pragmatic power in achieving SaaS advantage and strategically places them in the new found SaaS market.

SaaSKit enables companies to resell Odoo to multiple tenants in subscription model and thereby leverage on Odoo SaaS implementation at just click of a few buttons.

We use cutting edge technologies (Advanced Version- Need Based)
  1. Loose Coupling with segregation of lookup and transactional database
  2. Load balancing with nGinx, AWS EC2 Load Balancer - ELB
  3. Multiple installation based high availability – both on AWS Multi availability Zone as well
  4. Multiport Tenancy; user data discreteness (up to 4 Levels - Master, Tenant, Portal, Web store)
  5. Failover management with Database replication
  6. Database Connection Pooling for handling simultaneous users.

Salient features of Odoo SaaSKit V1.2

  1. SaaS Selling page – Odoo Web Commerce, Demo and Payment option.
  2. Multiple SaaS Product Configuration – Odoo Product Master – Bundled and BOM based
  3. Connection pooling for Master Database
  4. Load balancing by Multiport implementation of SaaSKit
  5. Custom Domain Support for each of Tenant Database
  6. Localization: Option of selecting Tenant user language at check out itself
  7. POS customization to be standalone with Sales front end.
  8. Automated SaaS Billing for Tenants based on requirement
    1. Per user per module per month (Ex: (module x month) x (number of users)
    2. Fixed price - Per module per month, User per month (module x month) + (user cost * number of users).
  9. Portal access for Tenant Account self management
  10. Payment gateway integration.
  11. MIS and Dashboards – SaaS Panel
  12. Device independence – BYOD
  13. State of art – SaaS Administration with SaaS Panel
  14. SaaSPanel Running Dashboards and reports
  15. SaaS Panel Administration with Activate/ Deactivate/ Terminate options for Tenant Database
  16. SaaS Tenant Technical Support option with Pseudo Admin.

Work flow

SaaSKit Terminologies

  1. SaaS Master/ Provider – Technology Company (SaaS Vendor) who sells Odoo in SaaS model
  2. SaaSKit Admin – The Admin account for SaaS Master
  3. SaaSKit Tenant – The end user of the Odoo installation (Each tenant has a unique Database)
  4. Tenant Admin – The admin user account for SaaS Tenant management

Installation of SaaSKit and Setup of Odoo Server

Preferred – always new instance (new Odoo with bare DB), installation to be done by Pragmatic.
  • If there is an Odoo installation that is already present with operational data and SaaSKit need to be added to make this instance as the SaaSMaster – we need to match Odoo Version with that of SaaSKit, that SaaS Module can be installed without errors. Not Preferred approach. 

SaaSKit - Databases

Default Dbs that gets installed with SaaSKit
  1. SaasMaster – Control Db to be created from DB creator (Odoo).
  2. Bare Tenant – Template DB – this is a need based database to easily replicate and create a new tenant. This can be more customized based on advanced editions

SaaSMaster Configuration.

Configure – General Settings.
Publish the SaaSKit Domain – useful for creating Sub-domain




SaaSPanel Configuration – Manage Tenant DB



SaaS Configuration



Email setting options

  1. Trial Period: Alert before No:of Days – Numeric Value (n) : : This would send email alert before ‘n’ days to the customer for starting the paid subscription.
  2. Paid Period: Alert before No:of Days (x) – Data base Expiration: This would trigger an email before ‘x’ days in paid period to remind the tenant of bill payment
  3. Grace Period: ‘y’, In Paid period, the tenant gets a ‘y’ number of grace period in days, of system usage even when the invoice is not paid. After Grace period the data base is rendered inactive
  4. Data Purging Days: ‘z’, would be the number of days after the grace period for which the database would be retained by the SaaS Provider after which it would be purged.
  5. Free Trial Period: The number of days for which the Free trial should work.


Figure 3: Settings with timeline

SaaS Product (Type)



SaaS Product allows the SaaSAdmin to create products in such a way, where there could be Base module and Addons on top of existing Base modules.

Once SaaS Product type selection enables the option to publish saas products as
  1. Base
  2. Addons
Free Trial Period: Configure the free trial period usage


Auto Process

SaaSKit can be operated in two models – with SaaSAdmin approval and manual mode of processing requests for Topups, bill payments addition and removal of users.

Auto Process is the option added to automatically process the top up without SaaS Admin or manual intervention for 3 of the following options for all existing tenants
  1. Topup
  2. Bill payments
  3. Addition and Removal of users
Here whence the check boxes are true – the processing would be automatic and the tenant can see the results on the instances instantaneously.

Billing Type