Just Purchase Odoo SaaS Kit, and get the extras for free!
4) One-Time Module Installation & Setup
WHAT IS Odoo Saas Kit All in One?
Odoo SaaS Kit is the stand-alone solution to help you set up Odoo SaaS Service business at your end. It would allow you to sell Odoo As A SaaS service to your clients.
Due to the complexity of implementing the Odoo As A Service, we would provide a Free One-Time Installation Set-Up with the purchase of the module. For more info please visit Odoo SaaS Kit
You can then sell these products via Odoo SaaS plans to the clients. The customers can purchase the products and thus the plans from the Odoo website.
Plans would allow the customer to create his/her Odoo instance and use the modules mentioned in the plans for their business.
The Odoo instance would expire once the plan runs its course. Customers can also check the details of the SaaS plans and SaaS contracts from their Odoo website account.
Also, Read Odoo SAAS Kit Technical FAQs To know further about other functionalities.
Check the video mentioned below for a brief overview of the module:
FEATURES
Here is a concise list of the features of the Odoo SaaS Kit. For a detailed read of the features please Visit Our Store Page
- The module facilitates the user to offer Odoo as SaaS to their clients in the form of instances. Therefore, you can start your Odoo SaaS service with the module.
- The module provides the structure for the subscription-based service model to the users.
- The admin can sell Odoo and its modules/apps with the Odoo instances as a subscription-based service to his clients.
- Admin can create various subscription plans with the featured modules and publish them on the website for the customers.
- However, the customers need to purchase the plan to start the subscription.
- The customer is provided with an Odoo instance with all the modules featured in a purchased plan installed in the instance.
- Login details are automatically sent to the registered email address of the customer.
- The customer can also login to his/her Odoo SaaS instance from his/her Odoo website account.
- Moreover, the customer can also check the subscription contract details in his/her website account.
- Configure Remote Server With Odoo Saas Kit for your Odoo Saas Service Clients.
- You can choose to deploy your Odoo Saas clients on a remote server instead of the self-hosted server
- For more than one remote server, choose which to use for client creation.
- Another feature is, that you can set the list of servers and their priority in each plan.
The module is well-tested for compatibility with Ubuntu. For queries regarding compatibility with an OS of your choice please contact us at [email protected]
WORKFLOW
Adding Odoo Modules To Your Saas Server
1.) Go to SaaS Kit >> Configuration >> Modules.
2.) Here you can add various modules to your Odoo SaaS Server. Click on New.
3.) Now, enter the Module name, and technical name of the module and choose the Module Type.
If the Module type is ‘Custom module’ then you need to mention the path where your custom addon is placed on the server.
In case of ‘Core Module’,you do not need to mention any path.
You can also set a module category for internal reference.
4.) Now, go to module categories under configuration. You can sort out the modules with the help of these categories.
5.) Create different module categories and then assign modules to them.
Configuring Your SaaS Server
6.) Go to Configuration >> Saas Server to configure and integrate your SaaS server with Odoo. Once, done then click on the New button.
7.) Enter the name for the configuration. Then, enter the domain of the server. This will be used as the base URL while creating Plans.
8.) Choose the Instance type as Containerized Instance.
9.) Under Database Server Details Title; fill in your Postgres details i.e. Database Host, port, username, or password.
10.) Next, Choose the maximum number of clients allowed on this server.
11.) The Tab- ‘No. of Clients’ shows the current number of clients currently installed on this server.
Choosing Type Of server Hosting: Self (Same Server) or Remote
12.) The module allows you to choose whether you wish to install the client instance (data) on the same server on which you have installed Odoo SaaS kit or on a different server to manage your Odoo Saas service.
- Self or Same Server – Choose Self if you want to keep the client instance and the Odoo Saas Kit module on the same server.
- Remote server: Choose hosted if you want to maintain the clients you make with Odoo SaaS kit on a different server than on which you have installed Odoo Sass Kit All in One. To connect to a Remote server you would need SSH details.
- SSH Details of Remote server type: If you Choose Remote Server then fill in the SSH details of the same. Fill in the SFTP Host, Port, Username, and Password.
13.) Test the connection to validate it automatically; Click confirm. Moreover, you can also edit anything after saving it, you need to click on Set to Draft to allow editing.
After Successful Server Configuration; Creating SaaS Plans
14.) Once you configure the module, go to SaaS >> Saas Plans to create new Saas plans for clients. Click on New.
15.) Here enter the name of the plan.
16.) Then choose the SaaS server from the list. You can create Saas plans only on the server on which you have installed Odoo Saas Kit. Only the created SaaS servers in the configuration are available in the list.
In this demo, we have added another feature where you can choose the odoo version while creating the SAAS plan and can create SAAS plan for different versions –
Note – You need to configure the odoo version in the saas configurations.
Choose To Deploy Clients On Self Or Remote Server
17.) Next, you can choose to deploy the Saas clients of this plan on the same remote server.
18.) If you want to deploy the clients on the same server as the plan, leave the setting – ‘Deploy Clients on Remote Server‘ unchecked.
19.) If you want to deploy the client on a remote server tick the checkbox to enable the setting.
20.) If you have enabled it, go to the ‘Remote Servers‘ tab at the bottom and add the servers from the list in the configuration. Click on Add a Line to add the available servers for this plan.
21.) Next, set their priority and Odoo will automatically pick the server according to space and priority to create a client. (Note: 1 is the highest priority.)
(Note: you can add both Self and Remote servers to the server list.
22.) Next mention the name of the DB template. A DB template is created for each plan to create instances quickly for your clients. (See: Creating A DB template)
23.) Under plan settings, set the frequency of the billing cycle for the plan.
24.) If you wish to use user-based pricing, tick the checkbox and enter the PUPC. (To know more about user-based pricing. (See: What Is user based Pricing?)
25.) Then, enter the minimum and maximum number of users a client can create per contract.
26.) For User-based billing, if the billing frequency is more than one month, you can use Due User pricing. (Optional)
27.) Then under product for user calculation, choose a product from the list.
28.) If User-based pricing is not active, the client will only be charged for the price of the plan irrespective of the Odoo users he creates in his Odoo SaaS instances.
READ MORE
What is User-Based pricing? And what is the Due User Price?
- Using User Based Pricing you can charge the clients on the basis of users he/she has created in his/her SaaS instance in addition to the normal cost of the plan.
- Use this setting if you wish to charge your clients on the number of users your client creates on his/her Odoo instance.
How Does It Work
- Suppose your client purchases the Odoo Saas Service plan with 5 users and the billing cycle is for 3 months.
- Then for the first five users, he/she creates the price per user will be decided by PUPC (per user per cycle) irrespective of when the user is created.
- Even if the users are less than 5 the client will have to pay for 5 users.
- Say for the cycle of Jan- March, if the client creates a sixth user, on the second month of a cycle then the price of the new user is managed using the Due user’s price per month.
- So the client will be charged for two months for the sixth user i.e. Feb and March.
- But for the billing cycle from April to June, the sixth user will be charged
- Due Users Price is used when the billing cycle frequency is more than 1 month to balance the pricing if the client creates a user in the middle of the billing cycle.
What is Product For User Calculation? (User Cost)
- The field – Product For User Calculation is used to manage the pricing/billing of users for a SaaS plan on the website. You need to create a product in the product variant and assign it here.
How To Create Product for User Calculation
- Go to product variant >> create.
- Tick the checkbox next to the field –‘ User Pricing’ to make this a product for user calculation. It would then be available on the list.
- Do not enter any price of the product. Click Save.
- Now, while buying the SaaS plan from the website, if the customer chooses a plan that has user-based pricing, the product for user calculation will add the number of users chosen by the customer.
- The total price of the number of users is added to the plan price in the order lines of the cart at the time of checkout to manage customer billing in the order.
29.) Now under Related Modules, add the Odoo modules that will be part of this plan, the client purchasing the plan will be able to use these modules in his/her Odoo Instance.
30.) Only those modules which are added under the module in configuration show up here in the list.
31.) Next enter the SaaS domain (base Url). Same as a domain in server configuration. Click Save.
Creating an Odoo SaaS Base DB template
For each plan, a Base DB template is created which is then used to create the SaaS instance for the clients.
32.) Enter the unique name of the DB template; fill in the other details of the plan and click save.
33.) Now click on Create DB Template to create a Base DB Template.
(note: only click on Create DB template when you create a plan for the first time. If you edit the plan and a DB template is already created do not click on this tab again. Instead, click on skip this step.)
34.) The plan is successfully created. Now you can see other options available: contract login, restart, etc.
- Login allows you to login into the created DB template. Restart restarts the Odoo instance.
35.) To edit the plan first set it to draft.
Each plan needs to be associated with a SaaS product to manage plan pricing and to publish the plan on the website.
Manage Client Access Rights For Each Plan
By default, the client gets the admin rights for their Odoo instance when they purchase the plan. But you can also give specific access rights to your clients of their Odoo instance.
36.) For this, log in to the Base DB template of the plan.
37.) Go to Users. Now create a new user with desired access rights and copy the ID of the user from the URL.
38.) Next go to the plan, tick the checkbox next to Use Specific User Template. Then, enter the user ID.
39.) Now, all the new clients made from this plan will have access rights of the user with the entered ID.
(Note: The change will be applicable for new clients created by this plan. Already existing clients will not be affected.)
Creating SaaS Products
You need to create a service product in Odoo associate it with the SaaS plan and manage plan pricing.
40.) Go to sales >> products >> create. Choose the Product Type as a Service. Set the price and other details.
41.) Now under Saas tab, Attach the desired SaaS Plan to the product.
42.) The product will now become visible in the plan.
Creating SaaS Product variants
43.) Product variants will be used on the Odoo website to allow customers to choose the billing frequency (months) while buying the plan and for invoice products while creating contracts from the Odoo backend.
44.) Once you create a SaaS product. Click on the variants tab.
45.) Create attributes and their values.
For example; Type of subscription As attribute and 3months and 6months as their values. Click Save.
46.) Now go to product variants. Open the product variant.
47.) Under Tab – SaaS, set the billing cycle frequency. Click Save
48.) The product variant will now be available on the website for customers to choose the type of billing cycle they want to purchase.
Creating SaaS Contract In The Odoo Backend
49.) To create a SaaS contract for a client, go to SaaS Plan >> Open the desired plan and click on Create Contract. On the form that pops up, fill in the details.
50.) Set billing cycle frequency. The rate of contract per cycle, Per user cost.
51.) Enter the number of maximum users the client can create in his Odoo instance under this contract.
52.) Choose the number of purchase cycles for the contract.
53.) Choose complimentary free days (if any).
54.) Then choose the customer/partner, Invoice Product, and purchase date.
55.) After this, choose the invoice product. The product variants of the product associated with the plan will show up in the invoice product. (To know more see Section: What Is Invoice Product)
56.) If user-based pricing is used then you can see the calculation of the contract price.
57.) Click on ‘Create’ to create a new contract. Next, you need to create a SaaS client for this Contract.
What is an Invoice product?
The invoice product helps to manage the invoicing of the Contract.
Note the following points:
- While creating a contract from the backend, the invoice product in the backend is only used to create an order in Odoo.
- Also, the price of the invoice product will not be added while creating a Saas contract in the backend.
- The user will manage the price of the contract from the contract rate field.
After Contract; Creating A SaaS client & SaaS Instance
You need to create a client for every contract.
58.) Now, go to the contract and open the contract form.
59.) Click on edit. Under Heading- SaaS Server; Manually set the sub-domain name of the client and click on ‘Create and Confirm Client’ to create the SaaS instance for the client.
60.) OR, you can Click on ‘Ask the customer’ to send a mail to the customer.
- The mail is sent to the registered mail address of the client. He can click on the link and set the unique domain name of his/her choice.
- Once the customer chooses the domain and submits the form, a token is generated in Odoo.
- Click on the token to auto-fill the domain name for the customer. The domain is auto-entered and the contract automatically goes to the confirmed state.
61.) Or, You can also create a custom domain for the client as per the requirement. In this, the base URL is not added to the domain.
62.) Once the contract is confirmed manually or automatically, the Saas instance is created for the client.
63.) The customer receives an automatic confirmation mail along with the credentials and reset password link.
Purchasing SaaS Plan Using Website
64.) Use the above steps to create a contract and client manually in the Odoo backend.
65.) The Customers can also purchase the plans directly from the website. Publish the created SaaS products on the website. login as a customer on the Odoo website.
66.) Go to the website >> shop. Click on the Odoo SaaS plan.
67.) Here you can see the Odoo Saas product variants of the plan.
68.) Choose the type of subscription. The customer can choose the variant to set the billing cycle frequency.
- For Example; A 3-Month Subscription means the billing cycle repeats every 3 months. (For more info See Creating Product Variants.)
69.) Now set the quantity of the product. To set the number of cycles you wish to purchase.
- For Example, 3 quantities of a 3-month subscription means your plan will run for 9 months.
70.) If user-based pricing is enabled for the plan, you can choose the number of users you wish to buy.
71.) Go to the Check-Out page. You can see user cost in the order line. This comes from the User calculation product. (To know more See- What is Product for user calculation?)
72.) Upon order confirmation, the customer receives the first mail on his registered email address asking to set the Domain name for the SaaS instance login.
73.) The customer needs to go to the link and set his/her domain name.
74.) Enter the domain name and click confirm to create his Odoo SaaS instance.
75.) The client receives another mail to set the password for his Odoo Saas instance.
76.) Once set, the customer can log in to his/her domain and use it.
77.) The contract is auto-confirmed and a client is automatically created for the customer in the Odoo backend.
Login to Odoo as A Saas Client
78.) The Saas client needs to click on the link received in the mail to set up a password and log in to their Odoo Server.
79.) Here, you can check the apps added to the Saas Plan of the client. Moreover, the client can see the Apps and Settings based on the access rights given.
80.) The Saas Client needs to manually mail the admin for Saas Plan Renewal. Once, the SAAS client has paid the invoice and it is marked paid in the backend then SAAS Plan will be renewed.
Need Help?
Hope you find the User Guide of Odoo Saas Kit All in One helpful! Please feel free to share your feedback in the comments below.
However, if you still have any issues/queries regarding the module then please raise a ticket at https://webkul.uvdesk.com/en/customer/create-ticket/
For any doubt contact us at [email protected].
Thanks for paying attention!!
🙂 😌
Current Product Version - 1.0.1
Supported Framework Version - Odoo V17, V16, V15, V14, V13
16 comments
Yes, our module Odoo SaaS kit supports community edition. You can reach us anytime via our ticket portal or drop us a mail at [email protected]
Regards
Anisha Bahukhandi
You can drop us a mail at [email protected] to get Odoo SaaS kit for Version 14.
Regards
Anisha Bahukhandi
Hello Ken,
If you migrate to a new version later then you need to extend support period for the same. Moreover, if you want module reinstallation service from our end then it will be a paid service too.
Regards,
Anisha Bahukhandi
You need to install docker package for pip3. If you still face any issue then kindly drop us a mail at [email protected].
Regards
Anisha Bahukhandi
I have some questions:
– regarding Docker image… The image is provided by you or a custom one is needed?
– regarding NGINX… Could it be dockerized? Or it has to be installed on the host SaaS server?
Thank you for reaching out to us.
Regarding Docker image, We provide a custom image for the same.
Moreover, the NGINX is currently installed on host server but can be dockerized if needed.
I hope this answers your questions. If you have any other queries or about the module, please reach out to us. We will be happy to assist you.
Thank you
Thank you for reaching out to us. please accept my apologies for the delay.
Right now there is no notice period. Each contract can be renewed once its cycle is completed. A new open invoice can be generated post renewal by the admin which will unblock the client’s instance UI.
Moreover, invoice renewal can be set for automatic or manual if the cycle is remaining. The renewal of Invoice is not linked with the payment. The payment is managed by client and admin accordingly.
Regarding subscription suspension, yes in case of non renewal the client’s instance gets automatically blocked. It is blocked only when there is no cycle left. The Admin can also stop the client instance from his end.
This is the default flow however any type of specific customization can be done as per need.
I hope I was able to answer all your questions.
If you still have queries please reach out to us at [email protected] and out tech team. We will be happy to help you out.
Thank you
Regarding your first question; the module uses only one ip for main server. For subdomains of client instances, it uses virtual hosts.
For the second question; each client instance is mapped to a separate container and the maintenance is done accordingly.
I hope this answers your questions. If you have any further queries, you can always drop a mail to our technical team at [email protected] and we will be happy to assist you.
Thank you.
The module is going under major updates.
Please drop an email to our support team at [email protected] so they can provide you with the latest demo link.
They will be able to help you with other queries as well.
Thank you