How-To Guides
Enable Odoo Enterprise

Enable Odoo Enterprise

Activate your Odoo Enterprise subscription on environments hosted with OEC.sh.


Overview

Odoo Enterprise is Odoo's paid version with additional features:

  • Studio (visual app builder)
  • Professional themes
  • Advanced inventory features
  • Full accounting with bank sync
  • HR & appraisals
  • Marketing automation
  • Mobile apps
  • And more...

OEC.sh + Enterprise: OEC.sh hosting is separate from your Odoo Enterprise subscription. You pay OEC.sh for hosting and Odoo SA for the Enterprise license.

⚠️

PAT required, not OAuth. Odoo Enterprise source lives at the private odoo/enterprise repository on Odoo's GitHub organisation. GitHub OAuth (the "Connect GitHub" button) does not grant third-party apps access to another organisation's private repositories, so OAuth will not work here. You must create a GitHub Personal Access Token (PAT) and use it as the git connection. This guide walks through it.


Prerequisites

Before enabling Enterprise:

  • Odoo Enterprise subscription from odoo.com (opens in a new tab)
  • Enterprise subscription code (received via email from Odoo)
  • Admin access to your OEC.sh environment
  • Same Odoo version as your subscription

Step 1: Purchase Enterprise License

If you don't have an Enterprise license:

  1. Go to odoo.com/pricing-plan (opens in a new tab)
  2. Choose Self-Hosted as the hosting option (this is the deployment type that lets you run Odoo on your own infrastructure, including OEC.sh). Odoo recently renamed this from "On-Premise" to "Self-Hosted", they refer to the same thing.
  3. Select your user count and apps
  4. Complete the purchase
  5. Receive your subscription code via email
⚠️

Important: Pick Self-Hosted (formerly "On-Premise"), not Online (SaaS). The Online subscription only works on Odoo's own servers and cannot be used with OEC.sh hosting.


Step 2: Get GitHub Access to Odoo Enterprise

This is the step that breaks most installs. Two substeps, in order.

2a: Link your GitHub user to your Odoo subscription

Odoo only grants access to odoo/enterprise to GitHub usernames you have explicitly linked to an active subscription. Until you do this, no PAT will work — GitHub will return a 404 on the repo because your account cannot see it.

Link the GitHub username

  1. Log in to your Odoo portal at odoo.com/my/subscription (opens in a new tab)
  2. Find your active Enterprise subscription
  3. Under GitHub Users, add the GitHub username you plan to use on OEC.sh
  4. Save. Odoo grants access to odoo/enterprise within a few minutes

Verify with the 404 test

Open https://github.com/odoo/enterprise (opens in a new tab) from that GitHub account.

  • You see the repo → you have access. Move on to 2b.
  • You get a 404 → Odoo has not granted access yet. Wait a few minutes and retry. If it still 404s, your GitHub username is not linked to the subscription, or the subscription is not active. Fix that before continuing — no PAT you generate will work until this check passes.
⚠️

Do not skip the 404 test. Generating a PAT when Odoo has not granted access will result in a PAT that cannot see odoo/enterprise, which then fails at deploy time with "Write access to repository not granted" — a misleading error that is really about read access.

2b: Generate a GitHub Personal Access Token

Once the 404 test passes, generate a PAT that OEC.sh will use to clone odoo/enterprise on each deploy.

Open GitHub Token Settings

  1. Go to github.com (opens in a new tab) and sign in as the account you linked in 2a
  2. Click your profile picture (top-right corner)
  3. Click Settings
  4. Scroll down in the left sidebar and click Developer settings
  5. Click Personal access tokensTokens (classic)

Why classic, not fine-grained? Fine-grained tokens only cover repositories you own. odoo/enterprise belongs to Odoo's organisation, so only a classic token with the repo scope will work.

Create the Token

  1. Click Generate new token (classic)
  2. Fill in:
FieldValue
Noteoec-sh-enterprise
Expiration90 days (or longer — you'll need to regenerate when it expires)
  1. Under Select scopes, tick repo (Full control of private repositories). Nothing else is required.
  2. Click Generate token
  3. Copy the token immediately — GitHub only shows it once. It will start with ghp_. Store it somewhere safe (password manager).

Step 3: Add the PAT as a Git Connection on OEC.sh

⚠️

Do not use the "Connect GitHub" OAuth button for this step. OAuth does not grant access to odoo/enterprise. It will appear to connect successfully, but the deploy will fail with "Write access to repository not granted" or a 404. You must use the PAT flow below.

Open Git Connections

  1. Go to Organization Settings in the OEC.sh dashboard
  2. Click the Git Connections tab
  3. Click Add Connection
  4. Choose Personal Access Token as the authentication method (not OAuth)

Paste the token

  1. Provider: GitHub
  2. Name the connection (e.g. GitHub — Enterprise access)
  3. Paste the ghp_... token from Step 2b
  4. Save

Once saved, the token is encrypted on our side and used automatically every time we clone a repository configured against this connection.


Step 4: Add the Enterprise Repository

Open Addon Repos

  1. Go to Organization SettingsAddon Repos
  2. Click Add Repository

Fill in the Odoo Enterprise details

FieldValue
NameOdoo Enterprise
Git providerGitHub
Git connectionthe PAT connection you created in Step 3
Git repo URLhttps://github.com/odoo/enterprise.git
BranchYour Odoo version (e.g. 19.0, 18.0, 17.0). Required — do not leave the default main, it does not exist on this repo.
Is publicOFF
  1. Click Save

Authentication is automatic. OEC.sh uses the PAT attached to the git connection — you don't paste the token into the URL or anywhere else.


Step 5: Select the Repository on Your Project

  1. Open your Project in OEC.sh
  2. Click the Repositories tab
  3. Find the newly-created Odoo Enterprise entry under Organization-level addons
  4. Tick it so it applies to this project
  5. Save

Step 6: Redeploy

Go to your Environment and click Deploy. The platform will:

  1. Clone odoo/enterprise.git at the branch you picked into /mnt/extra-addons/enterprise/ on your server
  2. Restart the Odoo container with the new addons path
  3. Make Enterprise modules installable from the Apps menu

Wait for the deployment to complete. The UI will flip to the Enterprise theme once web_enterprise is loaded.

Migrating from Odoo SH? If your database came across with Enterprise modules already marked as installed, the Odoo UI will look like Community until this deploy completes. Odoo falls back to Community when it can't find the module code on disk, even though the database records the modules as installed. Completing this guide puts the code where Odoo expects it and the UI flips automatically.


Step 7: Activate the Enterprise Subscription Code

Access Odoo Settings

  1. Log in to your Odoo instance as admin
  2. Go to Settings → General Settings
  3. Scroll to Odoo Enterprise Subscription

Enter Subscription Code

  1. Click Enter Subscription Code or Renew Subscription
  2. Enter your Enterprise subscription code
  3. Click Link Subscription

Verify Activation

After linking:

  • The Enterprise badge should appear
  • Enterprise apps become available in the Apps menu
  • "Enterprise Edition" shows in the footer

Database UUID: Odoo links your subscription to your database UUID. If you clone or restore, you may need to re-link the subscription on the new database.


Step 8: Install Enterprise Apps

With Enterprise activated:

  1. Go to Apps
  2. Remove the "Apps" filter (search field)
  3. Search for Enterprise apps:
    • Studio
    • Social Marketing
    • Marketing Automation
    • Appraisals
    • Fleet
    • Helpdesk
    • Quality
    • And more...
  4. Click Install on desired apps

Verifying Your License

Check in Odoo

Go to Settings → General Settings → scroll to the subscription section:

StatusMeaning
LinkedSubscription is active and verified
ExpiringSubscription needs renewal
ExpiredNo valid subscription, Enterprise features disabled

Check via Database

In the terminal:

# Connect to database
docker exec -it YOUR_ENV_ID_db psql -U odoo YOUR_DATABASE
 
# Check subscription
SELECT key, value FROM ir_config_parameter
WHERE key IN ('database.enterprise_code', 'database.expiration_date');

Enterprise Features by Module

CategoryEnterprise Features
StudioVisual app builder, custom fields, automation
AccountingBank synchronization, asset management, budgets
InventoryBarcode, batch picking, wave picking
ManufacturingPLM, quality control, maintenance
HRAppraisals, fleet, referrals
MarketingSocial marketing, SMS, automation
ServicesHelpdesk, FSM, planning

Multi-Database Licensing

If you have multiple environments:

ScenarioLicense Requirement
Production + Staging (same org)Single license covers both
Production + Dev (same org)Single license covers both
Different clientsEach client needs own license
Clone for testingNo additional license needed
⚠️

Production Databases: Odoo counts production databases for licensing. Test/staging databases typically don't count, but verify with Odoo SA for your agreement.


Migrating Enterprise to OEC.sh

If you're migrating from another host (Odoo SH, self-hosted, etc.) with Enterprise already in use:

  1. Export your database from the old host and import into OEC.sh (Migration Guides)
  2. Run through Steps 2–6 above to register the Enterprise repo on OEC.sh and deploy it
  3. Re-link the subscription in Odoo (Step 7) — the database UUID is preserved across migration so the subscription usually recognises it on first link

If the Odoo UI looks like Community after the migration import, that's expected until Steps 2–6 are complete. The database has the modules marked installed, but the Enterprise source code is not yet on your OEC.sh server.


Common Issues

"Repository not found" or "Write access denied" at deploy time

This is almost always a GitHub access problem, not a code problem. Check in this order:

  1. GitHub user not linked to Odoo subscription. Open https://github.com/odoo/enterprise from your GitHub account. If it's a 404, go back to Step 2a.
  2. PAT is missing the repo scope. Regenerate the token with repo ticked (Step 2b) and update the git connection on OEC.sh.
  3. You used OAuth instead of a PAT. OAuth does not work for odoo/enterprise. Create a PAT (Step 2b) and use it as the git connection.
  4. Wrong branch in the addon repo. The default main does not exist on odoo/enterprise. Set the branch to match your Odoo major version (19.0, 18.0, 17.0, etc.).

"Enterprise features not available" inside Odoo

Causes:

  1. Enterprise repository not selected on the project
  2. Subscription code not entered
  3. Subscription expired

Solutions:

  1. Verify the repo is ticked on your project's Repositories tab
  2. Re-enter the subscription code in Settings
  3. Check expiration date with Odoo

"Module not found" for an Enterprise app

Causes:

  1. Enterprise repository didn't clone on the last deploy (see the deploy-time errors section above)
  2. Wrong branch selected — module exists on 19.0 but you cloned 18.0 or vice versa

Solutions:

  1. Redeploy after fixing the underlying access / branch issue
  2. Verify the repository branch matches your Odoo version

Subscription Won't Link After Clone

Cause: Database UUID conflicts with the original.

Solution:

  1. Connect via docker exec as described in the verification section

  2. Clear the existing subscription entries:

    DELETE FROM ir_config_parameter
    WHERE key LIKE 'database.enterprise%';
  3. Re-enter the subscription code in Odoo's Settings


Removing Enterprise

If you want to revert to Community:

⚠️

Data Loss Warning: Some Enterprise apps store data in Enterprise-only tables. Removing Enterprise may result in data loss.

  1. Backup first — Create a full backup
  2. Uninstall Enterprise apps — Remove Enterprise-only modules from Odoo's Apps menu
  3. Remove repository — Untick the Odoo Enterprise entry on your project's Repositories tab
  4. Redeploy — Deploy with only Community modules

Enterprise vs Community

FeatureCommunityEnterprise
Core apps (CRM, Sales, Inventory)YesYes
StudioNoYes
Marketing AutomationNoYes
Bank SynchronizationNoYes
Barcode AppNoYes
Quality ManagementNoYes
HelpdeskNoYes
Mobile AppsLimitedFull
Odoo SupportNoYes

Support

OEC.sh Support

For hosting, deployment, and git-connection issues:

Odoo Enterprise Support

For licensing, GitHub access, and Enterprise features themselves: