Reading list Switch to dark mode

    Odoo SaaS Kit User Manual – How to Use

    Updated 1 June 2022

    Just Purchase Odoo SaaS Kit, and get the extras for free!

    1) Odoo Saas Custom Plans

    2) Saas Kit Trial in Odoo

    3) Odoo Saas Kit Backup

    4) One-Time Module Installation & Setup

    Searching for an experienced
    Odoo Company ?
    Read More

    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 in implementing the Odoo As A Service, we would provide 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.

    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. You can start your Odoo SaaS service with the module.
    • 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 plan with the featured modules and publish them on the website for the customers.
    • 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.
    • 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 Create.

    Screenshot

    3.) Now, enter the name and technical name of the module. You can also set a module category for internal reference,

    Screenshot1

    4.) Now, go to module categories under configuration. You can sort out the modules with the help of these categories.

    Screenshot2

    5.) Create different module categories and 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 Create button.

    Screenshot3

    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 Instance type as Containerized Instance.

    2-1

    9.) Under Database Server Details Title; fill in your Postgres details i.e. Database Host, port, username, or password.

    Database Server Details

    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.

    4-3

    Choosing Type Of server Hosting: Self (Same Server) or Remote

    12.) The module allows you to choose whether you wish to install 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.
    5-2
    • 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 a Remote server you would need SSH details.
    • SSH Details of Remote server type: If you Choose Remote Server then fill the SSH details of the same. Fill the SFTP Host, Port, Username, and Password.
    6

    13.) Test the connection and it will automatically be validated; 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 Create.

    Screenshot10

    15.) Here enter the name of the plan.

    16.) Then choose the SaaS server from the list. You can create Saas plans only on that server on which you have installed Odoo Saas Kit. Only the created SaaS servers in the configuration are available in the list.

    Screenshot1

    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 on remote server.

    18.) If you want to deploy the clients on the same server as the plan, leave the setting – ‘Deploy Client’s on Remote Server unchecked.

    19.) If you want to deploy client on remote server tick the checkbox to enable the setting.

    Screenshot2

    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.

    Screenshot3

    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.)

    Screenshot4

    (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.

    Screenshot12

    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.

    Screenshot13

    26.) For User-based billing, if the billing frequency is more then one month, you can use Due User pricing. (Optional)

    Screenshot14

    27.) Then under product for user calculation, choose a product from the list.

    Screenshot16

    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.

    Screenshot15

    READ MORE
    What is User-Based pricing? And what is 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 Due users 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 in the list.
    • Do not enter any price of the product. Click Save.
    Screenshot17
    • Now, while buying the SaaS plan from the website, if the customer chooses a plan which has user-based pricing, the product for user calculation will add the number of users chosen by the customer.
    • The total price of number of users is added to the plan price in the orderlines of the cart at the time of checkout to manage customer billing in the order.

    29.) Now under Related Modules, add the Odoo modules which will be part of this plan, the client purchasing the plan will be able to use these modules in his/her Odoo Instance.

    Screenshot18

    30.) Only those modules which are added under the module in configuration show up here in the list.

    Screenshot19

    31.) Next enter the SaaS domain (base Url). Same as a domain in server configuration. Click Save.

    Screenshot20

    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.

    Screenshot21

    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.

    Screenshot1-1

    37.) Go to Users. Now create a new user with desired access rights and copy the Id of the user from the URL.

    Screenshot2
    Screenshot3-1

    38.) Next go to the plan, tick the checkbox next to Use Specific User Template. Then, enter the user id.

    Screenshot4

    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 and associate it with the SaaS plan and manage plan pricing.

    40.) Go to sales >> products >> create. Choose the Product Type as Service. Set the price and other details.

    Screenshot24

    41.) Now under Saas tab, Attach the desired SaaS Plan to the product.

    Screenshot25

    42.) The product will now become visible in the plan.

    Screenshot26

    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.

    Screenshot27

    45.) Create attributes and their values.
    For example; Type of subscription As attribute and 3months and 6months as their values. Click Save.

    Screenshot28

    46.) Now go to product variants. Open the product variant.

    Screenshot29

    47.) Under Tab – SaaS, set the billing cycle frequency. Click Save

    Screenshot30

    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 the details.

    Screenshot31

    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).

    Screenshot32

    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)

    Screenshot33

    56.) If user based pricing is used then you can see the calculation of 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.

    Screenshot35

     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.

    Screenshot5
    • 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.
    Screenshot37
    • Once the customer chooses the domain and submits the form, a token is generated in Odoo.
    Screenshot38
    • Click on the token to auto-fill the domain name for the customer. The domain is auto-entered and 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.

    Screenshot6

    63.) The customer receives an automatic confirmation mail along with the credentials and reset password link.

    Screenshot39

    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.)
    Screenshot40

    69.) Now set the quantity of the product. To set the number of cycles you wish to purchase.

    • For Example 3 quantities of 3-month subscription means your plan will run for 9 months.
    Screenshot41

    70.) If user-based pricing is enabled for the plan, you can choose the number of users you wish to buy.

    Screenshot42
    Screenshot43

    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?)

    Screenshot44

    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.

    Screenshot37-2

    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.

    Screenshot38-1

    75.) The client receives another mail to set the password for his Odoo Saas instance.

    Screenshot39-1

    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.

    1-1

    79.) Here, you can check the apps added to the Saas Plan of the client. Moreover, the client can see the Apps and Settings on the basis of the access rights given.

    test_for_client_1.odoo-saas.webkul.com_web_dbtest_for_client_1.odoo-saas.webkul.comtoken9ShpKKoRzXfZj4bKlT7s


    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 V15, V14, V13, V12, V11

    . . .
    Discuss on Helpdesk

    Leave a Comment

    Your email address will not be published. Required fields are marked*


    16 comments

  • kaka
    Hello!Does Odoo saas Kit support community version installation?Or will it only work on the enterprise version?I don’t know why I can’t send the email to you, so I can only ask you here. Sorry!
    • Anisha Bahukhandi (Moderator)
      Hello,
      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

  • kiti
    Hi Vikram, may I ask when the saas Kit supporting ODOO14.0 version will be released? If I buy the 13.0 test first, can I update it to 14.0 for free or wait until 14.0 comes out?
    • Anisha Bahukhandi (Moderator)
      Hello kiti,

      You can drop us a mail at [email protected] to get Odoo SaaS kit for Version 14.

      Regards
      Anisha Bahukhandi

      • Ken Tan
        Hi Anisha, I am planning to buy this module. We will be upgrading from v13 to v14 in the next 1 year. Do I need to purchase again or Can I get an upgrade from you after I purchase v13?
        • Anisha Bahukhandi (Moderator)

          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

  • Saini
    Hello, when creating saas plans, I filled in the data and clicked Create DB Template. An error occurred when ‘odoo_container’ object has no attribute ‘dclient’. Is there any package missing
    • Anisha Bahukhandi (Moderator)
      Hello,

      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

  • Lucas
    Hi Vikram,
    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?
    • Vikram Saini (Moderator)
      Hello Lucas,

      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

  • Mounir
    How this module handles contract renewal: is there a notice period to the customer? Can the renewal invoice be issued after payment? If the customer does not confirm the renewal, is the subscription suspended by the module?
    • Vikram Saini (Moderator)
      Hello Mounir,

      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

  • Prado
    2 questions, how does this module handles the DNS for the subdomain (will i need to add it manually?) and: Does it solves posterior updates for every server instance or container, or what should i spect for the maintenance of the instances?
    • Vikram Saini (Moderator)
      Hi Prado,

      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.

  • INNOVING
    Thank you for the presentation but could we have a link for the demo
    • Vikram Saini (Moderator)
      Hi there,

      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

  • Back to Top

    Message Sent!

    If you have more details or questions, you can reply to the received confirmation email.

    Back to Home

    Table of Content