📚 Partner Bible
📚

Partner Bible

This page was created with the purpose of helping partners launch and support a successful implementation. We realised that a lot of partners had similar recurring questions. Whether you are a new or existing partner we strongly encourage you to read through this page. 

The page focuses on administrative, functional and project management ; rather than the methodology itself. If you are unsure about the implementation methodology at Odoo, we recommend you to get in touch with your Account Manager to discuss this subject further. 

Last Revision: August, 2025

Open the table of content to navigate through the sections: 


The role of Account Manager versus Partner Manager​

You will have two main points of contact at Odoo. The partner manager is responsible for helping you grow as a partner and handles pre-sales questions. Once a project has been signed, it will be handed over to an Account Manager in the Customer Success Team (CSTI), who will follow up on the project. 

The Account Manager’s role is to maintain customer satisfaction and continuous project expansion. They focus on after-sales questions and will be the point of contact for the clients & yourself. Including: 

  • Regular follow up with the clients throughout the implementation and support phases 

  • Identify opportunities and risks on projects and Provide you with valuable feedback from customers

  • Connect you with internal people of Odoo (upgrade team, support, consultants, etc.) when needed

  • Handle all commercially related questions & the renewal of the Odoo subscriptions. 


Launching a project 

3 solutions to launch your Odoo project 

There are 3 solutions at Odoo to launch a project:

  • SAAS (Software as a service)(Software as a service), designed for customers who will use Odoo in its standard form, offering limited customization options and ideal for businesses needing a quick and simple setup, who search for a 100% box solution.

  • Odoo SH, designed as a platform as a service, clients using this platform are clients who need a customized solution, third-party module installation, and tailored development, making it suitable for more complex business requirements. 

  • On Premise, designed for clients who want to launch a customized Odoo on their own servers. 

More info here on which solution is the right one for your client. 

Once you have decided you can visit this link that will detail how to launch Odoo on each platform.

In this document you will find 2 detailed sections on Odoo hosted platforms Saas, Odoo SH

Reading through the different sections is highly recommended even if you have launched a SaaS, Odoo SH project before as it contains important information about Support, Upgrades .. etc. 


Odoo Enterprise Subscription key M24123456789. How to use it?

The Odoo Enterprise Subscription key is a key which the customer receives when they start a subscription with Odoo. The key is used to activate their database and can be found in 2 places:

  1. On their contract online (https://www.odoo.com/my/home)

  2. On the welcome email.

⚠️ Link to the production database. Do not use this key to activate staging branches or test environments. 

1 key = 1 production database. The key is meant to be only connected to 1 database.

The contract key is only meant to be connected to the production database, even on Premise.


I just created a new database for my client, how do I link it to the contract?

Method 1 

You should have a warning message on your welcome screen, input the code. That will connect the database to the contract. If the message does not appear, refresh your page.

Method 2

If the warning message doesn’t appear (like above)

  1. Activate developer mode Settings > System Parameters. 

  2. Find this field : database.enterprise_code

  3. Input code Mxxxxxxxxxxxx

Now PING your database to connect the database. 

Method 3

  1. Activate developer mode

  2. Settings > Technical > System Parameters > Create new field Create new field 

  • Key? Database.enterprise_code          (copy / paste)
  • Value? M24123456789                           (contract number)

Now PING your database to connect the database. You ll find below how to ping <Now PING your database to connect the database. 
You ll find below how to ping <What is a ping ? How do I run it manually?>


What if your project is on Odoo.sh?

One contract

  • If your client has bought their Odoo SH subscription and users in 1 contract. The contract number M12345689 should be used to connect to the production database & the Odoo SH project.

Two contracts (main + Odoo SH)

  1. Main contract with users should be used to connect to the production database
  2. Separate Odoo SH subscription should be used to activate Odoo SH project 


Find below <How to correctly use contract keys on Odoo SH> for more information (you can also use the above menu to find it faster)


Partner Key

What is a partner key and what can I use it for ?

When you subscribe to a Partnership (Learning or Official), you’ll receive a Partner Key by email. This key has the following structure M24123456789 (M followed by 13 numbers). If you also bought a subscription for your internal use, be careful not to mix both keys. 

What can I use my Partner Key for?

  • Prepare a demo for prospects.

  • Work on your Odoo skills, trying features, versions, etc.

⚠️ This key allows you to create temporary Odoo instances 

  • valid for 30 days  
  • maximum DB size of 1 GB 
  • valid on: Odoo.sh, on Premise or Odoo Standard.

/!\  What SHOULD I NOT use my Partner Key for?

  • NEVER use your Partner Key for Production

  • NEVER use your Partner Key to give your customer access to his odoo when their production database has been closed by Odoo.

Please note, we perform periodic checks on partner keys. If we notice an abuse of the partner key we reserve the right to terminate the partnership and impose respective penalties.

Where can I find it

In your Partner Dashboard 
You can
find the key by scrolling down and find Free Trial Extension or Odoo SH 


Partner commissions 

Purchase orders will only be created once the invoice has been paid by the customers!

How do Purchase Orders get generated?

  • Purchase orders get generated only when the customer has paid their invoice

  • Once the total commissions hit minimum 50 EUR

  • POs are generated on the 1 st of the next month automatically

Only then will it appear in your Partner Dashboard!

Where to find the pending Commission POs in our Partner Portal



     2. Detect POs that are in “Waiting for Bill” status.             


How do I get paid back? 

  • If you are a new partner or you have a new bank account - please, send us a bank certificate to finance@odoo.com, so that we could confirm it in our system.

  • You need to send an email with your invoice to commissions@odoo.com (not managed by humans - it’s only digital ! ) Please, only attach and send 1 PDF invoice per 1 email
    If >1 PDFs are sent in the same email - the invoice will not be received properly. 

  • You can include more than one PO in the same invoice for convenience.

  • If that doesn't work, forward your email to finance@odoo.com 


What elements must be in my invoice?


  • Minimum invoice value 100 euros ! 

  1. Invoice number and date

  2. Full information of the recipient Odoo office.  (ex Belgium office below)
       Odoo S.A.

  3.    ChaussĂŠe de Namur 40
  4.    1367 Grand-Rosière
  5.    Belgium
  6.    BE0477 472 701
  7. PO numbers that are being invoiced (Multiple if applicable) as well corresponding description (copied from the Products section) and amounts.

  8. Full commercial information of the recipient Partner/Company (name, address, VAT number).

  9. Full bank details of the recipient Partner/Company, that Odoo will use to send the payment to.


Example partner invoice 


Support 

Support is included free of charge for client on the last 3 versions of Odoo. 

  1. First, check if you can get help with our 🌟 NEW AI Agent Odoo.com/help 🌟 

It's a really great tool, we use it internally to get help on tricky topics đŸ˜‰

If that doesn't help, follow these steps:

      2. Second, If you can't solve your problem either Ask a Human (direct help from support via chat)   

      3. Third, submit a support ticket (https://www.odoo.com/help-form)

General rule submitting a support ticket đŸ’Ą

  • 1 ticket = 1 issue

  • The support team treats the tickets on a FIFO (First-In-First-Out) method

  • If you have already opened a ticket, do not open a duplicate ticket, it will not make the ticket resolve faster. 

  • The more details you give (screen shots, screen records, etc.) at the opening of the ticket, the faster the ticket will be managed. If your description is not complete, the support team will come back to you with further questions, creating delay. 

📞 Should your needs not be covered by our free support or you have unanswered questions, contact your account manager ! We have dedicated consulting Packs to help you. 


Supported versions + Long Term Support Fee  

Support is included free of charge for clients on the last 3 versions of Odoo. 

For clients that would like to have a database older than the last 3 versions (including the last version), a 25% fee applies. 

Hosting

Last 3 versions
(including last released)

Older than 3 versions

Older than 5 versions

SaaS

Supported for free

Not possible, must upgrade

Not possible, must upgrade

Odoo SH 

Supported for free

Long term support fee of 25% 

Not possible, must upgrade

On premise

Supported for free

Long term support fee of 25%

Long term support fee of 25%

📖 Full detailed guide / supported versions

How does the Long Term support fee work

  • Automatic charge equal to 25% of the annual subscription (excluding Odoo SH)
  • Applied once per year in April
  • All clients creating or renewing their contract since July 4th 2025

Example: Annual subscription of €1,200 → Support fee in April: €300

Monthly vs Yearly contract

  • Customers on monthly contracts will be billed automatically 25% of their annual base (1 invoice)
  • Customer on a yearly contracts will be billed automatically 25% of their annual base (1 invoice)


Submitting a ticket to support (5 steps)

Go on https://www.odoo.com/help-form

  1. Put your contact details

  2. You can also put the contact information of your account manager at Odoo in CC so they can follow the ticket. 

  3.  Subscription code of the client ⚠️
    When you link the subscription of the client, the support on the back-end has direct access to the client’s project. 

     âš ď¸  If you don’t know where to find the client subscription code, check on the contract! 

     4. Choose a ticket type. The ticket type will redirect your ticket to the best sub-department within the                          support team (functional, administration, technical, etc.). It is CRUCIAL you choose the RIGHT ticket type.

       5. When writing your ticket, ensure to put in as many details as possible. You use tools such as Screencastify            to make a short video. The more you explain -> the better.

What kind of support is included?

  • Providing you with relevant material (guidelines, product documentation, etc...)

  • Answers to issues that you may encounter in your standard Odoo database (eg. “I cannot close my Point of Sale” or “I cannot find my sales KPIs?”)

  • Bug resolution (blocking issues or unexpected behavior from Odoo standard)

  • Issues that might occur in a test database after upgrading to a newer version

What kind of support is not included?

  • Questions that require us to understand your business processes in order to help you implement your database

  • Training on how to use our software (we will direct you to our many resources)

  • Import of documents into your database

  • Guidance on which configurations to apply inside of an application or the database

  • How to set up configuration models (Examples include: Inventory Routes, Payment Terms, Warehouses, etc)

  • Any intervention on your own servers/deployments of Odoo

  • Any intervention on your own third party account (Ingenico, Authorize, UPS, etc)

  • Questions or issues related to specific developments or customizations done either by Odoo or a third party (this is specific only to your database or involving code)


Maintaining a database 

UUID & How to change it 

A UUID is a Unique Identifier tied to every database. If you have switched / duplicated your database, ensure that the UUID on the new database is unique. Odoo will attempt to insert a unique UUID automatically but it can happen that this is unsuccessful. If you do not change your UUID, the databases will conflict leading to one or both databases being blocked. 

  • Where to find it? 
  • Activate Developer Mode.
  • Settings > Technical > System Parameters
  • Find field: database.uuid

How do I change a UUID and where can I generate a new one?

  1. You can generate new UUID for different databases (by following link https://www.uuidgenerator.net/)

  2. Input new UUID numbers in your test/production environment (you need to have 2 separate UUIDs for different databases)

  3. Activate Developer Mode. Settings > Technical > System Parameters > Find UUID > click on (Edit) 


Link new database to contract 

⚠️ First, you must have different UUIDs on your two databases, otherwise they will conflict. (more info in the paragraph above) 

  1. Open the new database 

  2. Link the new database with the contract code (A pop-up message will appear to say that it’s already used) Click on Send an email. 

  3. An email is sent to the owner of the database.

  4. Owner of the database can confirm the switch via email 

If you are not able to unlink & link the new database, contact your account manager đŸ“ž


What is a ping ? How do I run it manually?

Every week the database generates a status report and sends it to our server.  The ping includes: number of users, installed apps and other technical information (like server’s IP or db’s size). It is a contractual obligation to ping your, your client's production database.  

The cron automatically triggers a specific action defined at a specific time depending on a cycle. It is triggered every 7 days. This should remain at 7 days and not be increased or reduced.

Method 1

The easiest way to trigger a ping is by clicking the I paid, please recheck ! on the database of a client (picture below). You can only ping the database once every 24 hours. If you want to re-trigger on the same day, contact your Account Manager.  

“Upgrade your subscription” will lead you to a quotation. 
"I paid, please recheck!" will trigger the ping.

Or click on the 2 arrows if you have the old message popping up 


Warning message on Database - What to do ?

My client is seeing this warning message (below)

or this (older versions / on premise customers)

  • ℹ️ The client most likely added an extra: user, Odoo SH product (GB, worker, staging branch), IOT box. 


1/ Generate a quote

Click on the Upgrade your subscription -> that will lead you to the quote and show you the extra users on the database. 

or this (older versions / on premise customers)

2/ Confirm the quote 

The client will land on the following page 

  • Pay attention to the expiration date [boxed] !
  • Follow the arrow ↗️ for more information on the invoiced period.

Confirming / payment 

  1. The client can automatically confirm by paying via credit card. Sign and Pay 
    This will automatically add all licenses to the contract and receive an invoice. 

  2. If the client would like to pay via bank transfer, they can confirm with a signature.  Sign and Pay 
    The account manager will then manually confirm and send an invoice

If the client would like to add more or less than the automatic quote, contact the account manager directly on the quote to adjust. 

3/ Sync systems (Odoo contract / client database)

Once the client has received confirmation from Odoo or paid via credit card, sync the systems: click the I paid, please recheck 

Or click on the 2 arrows if you have the old message popping up 

The message will disappear. 

Contract Management

Quotes 

It is good practice to contact your account manager when the client would like any additional licenses, so we can provide a tailor-made quote, with the right instructions. Please note that clients can also do this by themselves (explained below)

Good to know đŸ’Ą

  • If you create a quote you are automatically a follower (you’be in CC of every email)

  • If you contact your account manager through the quote, the client will also see the response! 

  • It’s not possible to reduce licenses of a contract until the end of the contract

  • If a client does not confirm within 30 days, the database will be closed ! It’s linked to an automatic timer, so be careful.

Contract adjustments Yearly/ Multi Year contracts 

Examples: Users, Odoo SH (Storage, Staging, Workers), IOT.

++ Adding : Users, Odoo SH (Storage, Staging, Workers), IOT. 

-- Subtracting : Users, Odoo SH (Storage, Staging, Workers), IOT. 

Options
1. The client can contact their account manager
2. The client can add themselves. 

The client will have to wait until the end of their contract to modify their contract. Contact your account manager.

If the client would like to self-generate a quote

  1. They need to first add the users, Users, Odoo SH (Storage, Staging, Workers), IOT. 
  2. The client can also generate the quote : by clicking on Upgrade your subscription

Otherwise contact your account manager and they will send a quote to the client 

Contract adjustments on Monthly contract

Some examples: Users, Odoo SH (Storage, Staging, Workers), IOT 

++ Adding : Users, Odoo SH (Storage, Staging, Workers), IOT. 

-- Subtracting : Users, Odoo SH (Storage, Staging, Workers), IOT. 

If the client would like to add users to do, it’s automatic. They simply will start paying for their additional usage with their next invoice as our ping will detect all the extra usage.

The client should archive the users then right away notify their account manager since this action is manual, not automatic. âš ď¸


Adding users / iot Box

The client can always contact their account manager for a quote, this details how they can do it themselves. 

  • Users : First add the users on their database. Within a week a pop up will appear when the ping runs
  • IOT Box: If the client would like a physical IOT box, they can request it from Odoo we will send them a quote.

1/ Generate a quote

Click on the Upgrade your subscription -> that will lead you to the quote and show you the extra users on the database. 

or this (older versions / on premise customers)

2/ Confirm the quote 

The client will land on the following page 

  • Pay attention to the expiration date [boxed] !
  • Follow the arrow ↗️ for more information on the invoiced period.

Confirming / payment 

  1. The client can automatically confirm by paying via credit card. Sign and Pay 
    This will automatically add all licenses to the contract and receive an invoice. 

  2. If the client would like to pay via bank transfer, they can confirm with a signature.  Sign and Pay 
    The account manager will then manually confirm and send an invoice

If the client would like to add more or less than the automatic quote, contact the account manager directly on the quote to adjust. 

3/ Sync systems (Odoo contract / client database)

Once the client has received confirmation from Odoo or paid via credit card, sync the systems: click the I paid, please recheck 

Or click on the 2 arrows if you have the old message popping up 

The message will disappear. 

Adding Odoo SH products (GB, Staging branch, Workers) 


Go on the Odoo SH project page

  1. First add the product (GB, staging branch, workers) from the settings page 

Example below adding workers

  1. A pop up will appear. Click the Open link button -> This will generate an automatic quote from Odoo. 

If an automatic upsell with the wrong amount has been generated (for example 5 instead of 10 GBs) -> Cancel the quote and create a new quote from your settings page. 


in the example below, the customer added 5 users and 1 worker

Confirming / payment 

  1. The client can automatically confirm by paying via credit card. Sign and Pay 
    This will automatically add all licenses to the contract and receive an invoice. 

  2. If the client would like to pay via bank transfer, they can confirm with a signature.  Sign and Pay 
    The account manager will then manually confirm and send an invoice

If the client would like to add more or less than the automatic quote, contact the account manager directly on the quote to adjust. 


Once confirmed, the synchronization between odoo.com and odoo.sh will be completed within an hour, and the platform will handle the procedure.


Discount rules

We do not disclose discounts. We are a company with pricing discount policies that evolve. A discount valid today, may not be tomorrow.

Please contact your account manager for the latest information.


Contract Renewal 

General rules đŸ’Ą

  • A contract has to be renewed before its expiration date. The account manager will contact the client approximately 2 months prior to renewal

  • The contract officially starts to run on the same date when the client signs the invoice and will run for the selected period. This cannot be modified unless agreed differently prior to signature.

  • Changes on the contract must be requested at least 30 days before the renewal date.

Every single contract renewed at Odoo has to go through the following steps (diagram)

if your client is still on step 1-4, then they haven’t completed the process. This also means that the database will keep triggering the message until the renewal process is over. 

Your client won’t be able to use their database without a warning sign until Step 5 is reached. Read carefully to see that your client has gone through all steps. 

Check below for final review 

Confirmed renewal example

  • The contract state should be  In Progress 
  • The client will have received the invoice in his mailbox.
  • You can also check the client’s subscription & ensure the next billing is moved to +x years.
  • In the example below the client has extended by 1 year:
  • Today’s date is December 2024, Next billing date is December 2025


 â†’ You can sync the database to the contract, by clicking I paid, please recheck ! 

Or click on the 2 arrows if you have the old message popping up 

The message will then disappear 


When are my clients due to renew?

In your partner portal, you will have an overview of when your clients are due to renew. (follow the picture below to find all subscriptions linked to you as a partner)

Your account manager will typically contact your clients 1-2 months before with offers to renew their contract. 


My client renewed and still has a warning message 

Step 1

It’s important to review (above <Contract Renewal>
Unless you are at Stage 5, meaning that your client’s contract is activated, there are still steps that need to be done.

Step 2

Once the next billing date has been set to the correct date, click on ‘I paid, please recheck’. You should now refresh your browser. 

Or click on the 2 arrows if you have the old message popping up 

If the message still appears, launch a manual ping from the client’s database:

Find <What is a ping ? How do I make one?>


SaaS (Odoo Online) 

Saas was designed for customers who need an out of the box solution and that is simple to use. Customers using this solution can only use Odoo in its standard form, you cannot install custom or third-party modules available in the Odoo App Store.

Launching a database on SaaS - must read

There are 2 main directions for clients working with partners that choose to work on Odoo Online. 

  • Some choose to stay long term on the solution (option 1)
  • Whilst others decide to start their project on Odoo Online, with the goal later of going on Odoo SH/ on Premise (option 2)

Use case

Client with the goal to stay on SaaS with little / Studio customisation 

Client with the goal to switch to Odoo.sh / Premise 

Should be launched

Latest version of Odoo
i.e. V17 , V17.1  , V17.2

Project launched on major version
i.e.. V18

Upgrade process 

Upgraded automatically at every release (minor included)

Upgraded automatically, however can be frozen for up to 3 years. 

How?

Odoo.com/start 

Odoo.com/start-lts


Why is the upgrade cycle important to understand?

For example, if you start a customer in 17.1, this customer HAS TO upgrade to 17.2 in a few months. This upgrade process for intermediate versions (e.g., 17.1., 17.2, etc) is called the rolling release program. Only when they upgrade to a LTS version (major version, big version, e.g., 17.0 or 18.0) they are able to stay on that version for 3 years. There is no way to stay for more than a few months on an intermediate version.

This becomes a problem when you have a customer with customisations that they paid for and then have to upgrade just a few months after getting started. It is time consuming, but also can come with extra costs if the customisations done in their production don't really upgrade easily.

Furthermore, if you have started a customer on 17.1 you will have to wait for the release of a major version (V18) & upgrade them to switch them to Odoo SH / on Premise. You cannot downgrade versions!

Recap below

1/ If a database is on a major version / LTS (Long Term Supported) version (e.g., 16.0, 17.0, 18.0)


➡️

an upgrade is mandatory every two years


✅

Database can be transferred to Odoo SH / On Premise

2/ If a database is on a minor version / intermediate version (e.g., 17.1, 17.2, 17.4)


➡️

an upgrade is mandatory a few weeks after the next version is released. Minor versions are usually released every two months.


❎

Database cannot be transferred to Odoo SH / On Premise

Must be first upgrade to LTS


Once the project is launched intermediate version (e.g., 17.1, 17.2, 17.4)

  • There is no way to stay for more than a few months on an intermediate version.  

  • At one point the Upgrade team will force the upgrade. more info here 

  • You cannot downgrade versions.


I don’t see the customer’s database on ‘My Databases ’ in the Odoo Portal 

Only the owner (the original creator of the database) is able to see the database in their folder. If you don’t know or remember who created the database, then you’ll need to request support to give you access or change the owner. Your account manager does not have the right to change this. The request for support can be done through www.odoo.com/help.

Duplicate on SAAS

As the integrator of your customer’s Odoo environment, you might want to have a copy of the production database you can make preconfiguration on and have your customer try without affecting the production environment.

This is possible in a SAAS environment. To do so, you need to have access to the database in the “my databases” tab (see above).

Once you’ve clicked on “Duplicate”, a pop up window appears.

Finally, you have to choose if you want your duplicate to be neutralized or not (by checking “For testing purposes”). A neutralised environment is made for testing only. With this configuration, all external integrations, outgoing emails and Scheduled Actions will be disabled.

When an environment is neutralised, a red banner is displayed on the top of your user interface (see below).

Databases generated on saas are valid for 15 days.

It is EXTREMELY IMPORTANT you never add an odoo enterprise subscription code on a neutralized environment


On Saas, all the duplicates of an environment are available on your “my databases” tab under the environment they have been duplicated from.

ODOO SH

Odoo SH is the (PaaS) Platform as a Service of Odoo. It is a more advanced cloud option than Odoo Online (SaaS). It allows the end-users to easily test custom developments, add third-parties modules, manage feature-branches on duplicate production instances.

Must read / launching a database on Odoo SH 

A project on Odoo SH needs to be launched in a major version (V16, V17, V18). We strongly recommend launching the project in the latest version of Odoo. That way your customer has access to the latest features, bugs and security updates of Odoo. 

Which databases on Odoo SH are supported?


Last 3 versions
(Including latest)

Last 5 versions
(Including latest)

> 5 versions

Does the database work?

Yes 

Yes
Must pay 25% Long term support fee 

No 

Support  (Odoo.com/help

Supported for free 

Yes / 25% Long term support fee 

No

We support the last 3 versions of Odoo SH (including the latest version). Meaning that the support team will treat your ticket if your database is on the last 3 versions of Odoo. Your Odoo SH project will remain active up till the last 5 versions (support not included). Meaning that at the release of the next version (n-5 ; usually happens around October) your Odoo SH project will stop working. There is a complete phase out of projects older than the last 5 versions, so ensure to upgrade by then! There is no way around this. more info here 

  • ** Keep in mind that Odoo releases a new version each year around October
  • ** The main admin of the database will get a warning message that their Database is out of support 

Attention ⚠️ Databases on Odoo SH older than 5 versions are phased out 

The upgrade team will always help customers to upgrade, no matter their versions. 

To launch a project on Odoo SH link

Github

The Odoo SH platform is synchronized with github. The source code of odoo is stored in the official Odoo Github repository (https://github.com/odoo). The community version is publicly available and the Enterprise version is available if you have a valid odoo enterprise subscription. 

You can ask your Account Manager to gain access to the Enterprise code.

By creating a new odoo sh project, you automatically create a private github repository in order to store your own customizations and their different versions.

How to correctly use contract keys on Odoo SH. 

The contract key should only be used to connect the production database ! Do not connect the production key to your staging environment.

In order to connect correctly your Enterprise code to Odoo SH, follow these steps. Has your client bought their Users with their Odoo SH subscription separately or together? Meaning, did they sign 1 or 2 separate contracts. 

One contract

  • If your client has bought their Odoo SH subscription and users in 1 contract. The contract number M12345689 should be used to connect to the production database & the Odoo SH project.

Two contracts (main / licenses + Odoo SH)

  1. Main contract with users should be used to connect to the production database
  2. Separate Odoo SH subscription should be used to activate Odoo SH project 

1/ MAIN CONTRACT

As you can see this contract only has the licenses (users) connected to the production database. Keep in mind that you should only connect the production database! 

You can see the key in the system parameters 



2/ ODOO SH CONTRACT

You can see the code in the settings on the Odoo SH project page 


Working on Odoo SH : Workers, Staging branches, GBs. 

To work on Odoo SH you need 3 components: 1 worker, at least 1 staging branch and 1GB. You cannot activate Odoo SH without activating at least 1 unit of each resource 

  • Workers are linked to the performance of your platform

  • Staging branches the test environment 

  • And GB your storage. 

to read more in depth about Odoo SH FAQ page / Odoo SH 


Adding / trial of resources on Odoo SH 
(Workers + Staging branch + Storage): 

If a customer would like to add resources on Odoo SH (a worker, staging branch or GB) they can directly do this from the Settings page. 

  ⚠️ TRIAL OF RESOURCES: 

  • Trials of staging branches or GBs on Odoo SH are not possible
  • Trials of workers: are possible for 48H under special circumstances (Platform load, etc; only the platform can allow such trials)
  • If you add a resource to the project of a client. Odoo will charge the client until the end of their contract. There is no exception to this rule as the resources are locked to the customer’s project until the end of the contract.


Workers 

This is linked to the performance of the database. It is the generic term used for a process. We advise 1 additional worker per 25 back-end users and 1 additional worker per 5000 front-end visitors per day. If you don't have the appropriate amount of workers, the users might experience slowdowns. There are a maximum of 8 workers on shared servers. 

A 48H trial period for up to 2 workers is available on Odoo SH. Please note that only the platform can authorise such trials.

Projects eligible for the two additional workers trial (within the hosting mode limit) will see an informative box when increasing the number of workers.

If the trial is not available, please contact Odoo.com/help more more trial information 


Staging Environments

It is the equivalent of a duplicated production environment. Each staging will contain the configuration, data and deployed development of the production database. Any new developments & updates can be tested here before pushing them to production. Staging Branches are (and should remain) neutralised. Never enter an Odoo enterprise key on a staging database. More details here.

⚠️ Good to know: 

  • Trials of staging branches on Odoo SH are not possible 

  • Odoo does not keep backups of databases on staging branches

Staging branches are valid for 90 days. Databases (builds) on the staging branch are valid as long as the staging. This means that if you load a database (build) on a staging branch whose validity end date is in 30 days, your build will drop after 30 days, when the staging branch is not valid anymore (see table below).

Remember, staging environments were meant for testing purposes!

If your test database (on staging branch) is about to expire you can:

  1. Download a backup of your database and re-upload it on the staging branch. 

  2. Clicking the rebuild button, will build a copy of the Production database (screenshot below). If you rebuild your staging, you will erase all the work of the staging and create a copy of your latest production database. 


Storage

It is the size of your database in GB (including the production database, staging branches and backups). Max 512 GB on shared servers. By going into Settings you can have a quick overview of the size of your Database. Keep in mind that your clients need enough space for productions, 3 backups and staging.  (like on screenshot below)


For more granular information go to resource Monitoring. This will allow you to understand also how your database grows over time (more info below).


Backups

Odoo.sh makes daily backups of the production database. It keeps 7 daily, 4 weekly and 3 monthly backups. Each backup includes the database dump, the filestore (attachments, binary fields), logs and sessions. Only the master branch is backed up. 

Staging and development databases are not backed up. You nevertheless have the possibility to restore a backup of the production database in your staging branches, for testing purposes, or to manually recover data that has been deleted by accident from the production database.

Backups (x3) are replicated on multiple continents in order to meet our Disaster Recovery objectives. For detailed information please check our privacy policy. 

It’s not possible to keep backups in 1 country. If for example a Health Institution in Switzerland wants to keep the data of their patients in Switzerland, this is not possible on Odoo SH.  

Dedicated Server 

(Not to be sold before consultation): A dedicated server is a server used by only one organization.

By default any odoo.sh instance is hosted on a shared server. In case the client experiences difficulty in day to day activities (lags, freezes in particular), they should contact the support (odoo.com/help) for them to analyze the situation. Unless the Odoo.sh team, after in depth review of the issues, advises a dedicated server, it shall not be offered to the client. This simply because the issue might be linked to specific code and a dedicated server might not change anything.

Dedicated servers come at an additional cost per year, please contact your account manager

It's not possible to “try” a dedicated server. The switch will only be made by our tech team after the invoice has been paid by the customer.

The main differences between Odoo.sh shared and dedicated servers:

  • Being alone on the server

  • Higher limit to the numbers of Workers (up to 64, compared to 8 on shared)

  • Higher Storage limit (shared only allows up to 512GB total)

  • More flexible timeout limits (can be adjusted within the project)

  • Less strict limits on the XML-RPC call frequency and type (for external API)

  • Mostly static IP address (still subject to change if something happens to require it)

Automated security patches and updates: 

Odoo.sh automatically installs the latest version of the source code of Odoo (to correct minor errors in the source code) as well as the latest security patches. These patches are pushed on your database on Monday weekly. If you do not want to receive these automatic updates, then you can freeze a version of Odoo SH in your settings but only for a maximum of 3 months. more info here


Performance issues on Odoo SH

First and foremost, Odoo SH performance issues vary per reason. Understanding the why behind performance issues. Adding workers is often not a solution. As Odoo SH experts say “Adding a bigger engine to a car will not always make it go faster”.

What to check for? đŸ•śď¸

Peaks in activity, concurrent requests, 3rd party apps. Once you have done the tests on those parameters and you cannot find anything abnormal, we have in Odoo SH built in a Monitoring tool. Tab : Monitor > Go to Resource Monitoring. You can also run a Code Profiling from this page 


If this doesn’t help : Odoo.com/help
If you need further assistance, contact your Account Manager. 


Useful Links đŸ”—

Switching Hosting types

Full documentation here 📑

From ⇩ To ⇨

SaaS

Odoo.sh

On-Premise

SaaS


⚠️ Must be on a major version ! Ex: V16, V17, V18 

Download a backup of your database & re-upload on staging. 

link here 

⚠️ Must be on a major version ! Ex: V16, V17, V18 

Download a backup of Database & re-upload on own server

link here  

Odoo.sh



Make sure there is no custom module left & re-upload your database on your SAAS project 

link here



Download a backup of your production Database & re-upload on own server 

link here

On-Premise



Make sure there is no custom module left & upload your database on your SAAS project.

link here

Download a backup of Database and upload it to your odoo.sh project + re-upload your custom modules to your odoo.sh project

link here



Upgrade

What is an upgrade 

An upgrade is the process through which you transfer your Odoo environment from a version X to a version Y (where version X > version Y). For example you go from v16 to v18. 

Read this online manual 📑 it explains how to upgrade on Odoo SH, Odoo Online, On Premise 

Why you should upgrade : 

  • Benefit from the latest features. Odoo releases a new version each year around October.

  • Be sure you have access to the Odoo support (www.odoo.com/help). Only the last 3 versions can be supported.

  • On Odoo.sh, only the last 5 versions can be hosted. If you do not upgrade in time, you might have to migrate your environment from Odoo.sh to on premise.

  • The longer you wait, the harder it becomes. Keep in mind that if you are going, for example from v.16 to v.18, the following upgrade scripts will be applied : v.16 → v.17 → v.18 .

Upgrading in a nutshell:

  1. Request an upgraded test database 

    1. Choose your platform here : Our online guide 📑

  2. Thoroughly test, test, test the upgraded database What to test? 

  3. Report any issue encountered during the testing to Odoo by going to the Support page and selecting “An issue related to my future upgrade (I am testing an upgrade)”.

  4. (If applicable): upgrade the source code of your custom module to be compatible with the new version of Odoo.

  5. Once all issues are resolved and you are confident that the upgraded database can be used as your main database without any issues, plan the upgrade of your production database.

  6. Request the upgrade for the production database, rendering it unavailable for the time it takes to complete the process (see upgrading the production database).

  7. Report any issue encountered during the upgrade to Odoo by going to the Support page and selecting “An issue related to my upgrade (production)”.


Odoo top recommendations đŸ¤Š


How to upgrade + critical information on Saas, Odoo SH and On Premise

Odoo.SH 

Last 3 major versions: are supported + receive latest Odoo.SH updates

Older than 3 major versions: not supported, but your database will work.

Older than 5 versions: complete phase out. Database will not work ⚠️

📑 Guide : more information here

After the initial three years of support, you will have another two years to complete the upgrade. The administrator of the database will be notified when an upgrade is required.

There are 2 ways to upgrade

  1. Directly from the odoo.sh platform (simpler method) more info here

  2. Through the online form on upgrade.odoo.com  here 

On Premise

You can stay on the same version indefinitely, not recommended. 

Note that the smaller the version gap, the easier the upgrade will be.


There are 2 ways to upgrade

  1. Do it from the shell command lines : Link details here

  2. Through the online form on upgrade.odoo.com 

Odoo Online

📑 Guide : more information here

Major versions

If a database is on a major version (e.g., 16.0, 17.0, 18.0), an upgrade is mandatory every two years.

  • You will be able to ask for a test upgraded database. 
    First, make a test upgrade
    When you’re sure everything is working well, repeat but this time, check “production upgrade request”. 

Minor versions
If a database is on a minor version (e.g., 17.1, 17.2, 17.4), an upgrade is mandatory a few weeks after the next version is released. Minor versions are usually released every two months.

  • Customers will receive a notification in your database (below) a few weeks before a mandatory upgrade will be automatically carried out. You are in control of the process as long as the deadline is not reached.
  • Always test first !! 


Migrate the data :

During the upgrade of the custom modules, you might have to use upgrade scripts to reflect changes from the source code to their corresponding data. Together with the upgrade scripts, you can also make use of the Upgrade utils and its helper functions.

For more information about data migration : see our documentation

Useful links

Dedicated OXP Talk: How to upgrade for more info 

Upgrade procedure + online guide: Documentation