Managed Odoo Community hosting

BusinessOn-prem or your region

Open-source ERP for sales, invoicing, inventory, purchasing and manufacturing, operated on your own servers or dedicated machines in Switzerland and the EU. Pilae runs it on your own servers, or in Zurich, Switzerland, and eleven other Pilae Cloud regions.

Talk to us about Odoo Community

Licence
LGPL-3.0
Runs on
Your own hardware, or any of 10+ Pilae regions — six of them in Switzerland and the EU
Upgrades
Pinned, tested against your configuration, applied in your window
Upstream
www.odoo.com

Running Odoo Community in production: what it takes

  1. Deploy on PostgreSQL with workers

    Odoo Community pinned to a major version we have run, on its own PostgreSQL, in multi-worker mode with memory and time limits set so one runaway report cannot take the server down.

  2. Keep modules in Git

    Community Association modules and your custom modules are pinned in a repository. Installing or updating a module is a reviewed change the Pilae Agent plans, you approve and it applies in your window.

  3. Close the database manager

    The database manager page is switched off and the master password is held as a secret. Nobody creates, copies or drops a database from a browser.

  4. Back up database and filestore together

    Both go offsite daily, encrypted, to a location in your chosen country. Once a month we restore them into a scratch instance, log in and open a posted invoice with its attachment. The result is recorded in the console.

  5. Plan major upgrades as projects

    Odoo ships one major version a year and each changes the database schema. We migrate a copy with OpenUpgrade scripts once they cover the target version, test your processes on it, and move production in a window you agree.

What Odoo Community is, and who runs it

Self-hosted Odoo Community for sales, stock and invoicing

Odoo is an ERP built from modules that share one database: CRM and sales, invoicing, purchasing, inventory, manufacturing, projects, timesheets and a customer portal. You install the ones you use and add others later without a new integration project, because an order, its delivery and its invoice are records in the same system.

We operate Odoo Community on dedicated machines in any of 10+ Pilae Cloud regions, six of them in Switzerland and the EU, or on your own hardware. The back office answers on your private network, and only the customer portal is published, if you want one. Your customer list, prices and margins sit in the jurisdiction you chose, on machines nobody else shares.

Odoo in production: workers, modules and backups

A default Odoo install runs as one process with the database manager open on the login page. We run it in multi-worker mode with memory and time limits, close the database manager and pin every module, including those from the Odoo Community Association, in a Git repository. Module changes and upgrades go through the Pilae Agent: it plans the change, waits for your approval, applies it in your window and records it.

The database and the filestore are backed up together, daily, encrypted, to an offsite location in your chosen country. Every month we restore both into a scratch instance and check that a posted invoice opens with its attachment. The restore is recorded in the console. See backups for how that works across every app.

Moving off SAP Business One or Microsoft Dynamics

The move is scoped as a fixed-price migration: master data and open items come across, closed years stay archived, and the cut-over lands on a period boundary. Sign-in joins your other apps through SSO and identity, and n8n can connect Odoo to the systems it does not replace.

Odoo licence and editions

Odoo Community has no per-user fee. Our operation follows the published plans. Talk to us about the processes you want to bring home.

Odoo Community is LGPL-3.0. Odoo Enterprise is a separate edition under the Odoo Enterprise Edition licence, sold per user by Odoo SA, and adds modules such as full accounting, Studio, Helpdesk and the official upgrade service. We deploy Community, filling gaps with modules from the Odoo Community Association where they exist. If you need Enterprise, the subscription is held in your name and we operate it the same way.

Odoo Community system requirements

Before anything is deployed, this is what has to exist. We size it with you in the first session, and we say so when your own hardware is already enough.

CPU and memory
4 vCPU · 8 GBFor a few dozen concurrent users in multi-worker mode. Sized up by concurrent users and scheduled jobs, not by the number of installed modules.
Database
PostgreSQLOdoo keeps every record in PostgreSQL. We run it on its own volume with point-in-time recovery.
Filestore
Local volume or S3-compatible bucketAttachments, scanned invoices and generated PDFs live beside the database. A backup is only complete with both.
Workers
HTTP workers + 1 gevent processMulti-worker mode keeps a slow report from blocking everyone else. The gevent process serves live chat and notifications over websockets.
Outgoing mail
SMTP relayInvoices, quotes and reminders go out through your relay or ours, with SPF and DKIM set on your domain.
Access
Private network or public portalThe back office answers on your private mesh. The customer and supplier portal can be published through the Pilae gate on port 443.

Migrating from SAP Business One to Odoo Community

An ERP move is a data move before it is a software move. From SAP Business One we bring across master data (customers, suppliers, products, price lists, chart of accounts) and open items (unpaid invoices, open orders, stock on hand), loaded through Odoo's import tools and checked against the old system's reports. Closed years usually stay in the old system as a read-only archive or an export, because rebuilding ten years of posted entries costs more than it returns. Custom SAP add-ons and reports do not convert: each one is either covered by a standard Odoo module, an Odoo Community Association module, or a small custom module we scope before we start. The cut-over lands on a period boundary, so the books close in one system and open in the other.

  1. Map the processes, not the menus

    Quote to cash, purchase to pay, stock and the month-end close, written down with the people who run them. Each step is matched to a standard Odoo module, a community module or a scoped custom module.

  2. Clean and load master data

    Customers, suppliers, products and the chart of accounts are exported, de-duplicated and imported into a staging copy, then checked line by line by your finance team.

  3. Run a trial month

    A full month of real transactions is replayed in staging, and the trial balance, stock valuation and open items are compared with the old system before anyone signs off.

  4. Cut over on a period boundary

    Open items and opening balances load on the first day of the period. The old system stays read-only for lookups and audits until you retire it.

An Odoo server configuration, as we deploy it

# /etc/odoo/odoo.conf
[options]
db_host = db-01.internal
db_port = 5432
db_user = odoo
db_sslmode = require
dbfilter = ^erp$
list_db = False
proxy_mode = True
data_dir = /var/lib/odoo

workers = 8
max_cron_threads = 1
gevent_port = 8072
limit_memory_soft = 2147483648
limit_memory_hard = 2684354560
limit_time_cpu = 600
limit_time_real = 1200

addons_path = /opt/odoo/addons,/opt/oca,/opt/custom
admin_passwd = __from_secret_file__
smtp_server = relay.internal
smtp_port = 587
smtp_ssl = True
log_level = info
An example odoo.conf. Workers, memory limits and database filtering are set explicitly, the master password is injected from a secret at deploy time, and the database manager is switched off so nobody can drop a database from the login page.

What Pilae is responsible for

A pinned version

A version we have run, not whatever latest resolves to that day.

A runbook

What it depends on, how it fails, what to do about it. In your repository.

A restore drill

Backups restored on a schedule. A backup nobody has restored is a file.

A patch window

Security updates in a window you agreed, with a rollback ready.

Someone watching

Every endpoint probed on the minute. An alert reaches a person, not a dashboard nobody opens.

Where it runs
zur1, fra1, fal1, gra1, ams1, hel1, lon1, ash1, hil1, sin1, tok1, syd1, on-premZurich, Frankfurt, Falkenstein, Gravelines, Amsterdam, Helsinki, London, Ashburn, Hillsboro, Singapore, Tokyo, Sydney, Your own hardware
Who holds the credentials
You do. Ours are separate, named, logged and revocable with one command. We ask before anything changes outside an agreed window.
If you leave
The machine, the data, the compose files and the runbook are already yours. Nothing stops when our access does.

What running Odoo Community costs

On Starter, Odoo Community runs in Pilae Cloud for CHF 449EUR 479USD 559 a month, hosting and onboarding included. On Business, it is one of up to three apps for CHF 1,590EUR 1,690USD 1,990 a month, on your own servers or in Pilae Cloud. Enterprise is quoted. The plans set what each includes; these are the inputs that move the price around them.

Instance size
The CPU, memory and, where a model runs, the GPUs the app needs for your users and your data.
High availability
One machine with tested restores, or a replicated setup that keeps serving when a node fails.
Storage and backups
How much data it holds, how long backups are kept, and point-in-time recovery for its database.
Plan and support
Starter, Business or Enterprise: support hours, response times in the contract and how often we review the service with you.
Region
Your own hardware, where the infrastructure is already yours, or a Pilae Cloud region, where machines are priced per month. On Starter, Pilae chooses the site.
Sign-on and integrations
Single sign-on, directory sync, mail relays and the other systems the app has to reach.

Odoo Community: common questions

Is Odoo open source?

Odoo Community is, under LGPL-3.0. Odoo Enterprise is a separate commercial edition from Odoo SA with additional modules. Both share the same core, and the Community edition runs without a subscription.

What does Community leave out compared with Enterprise?

The main gaps are full accounting (Community ships invoicing), Studio, Helpdesk, some industry apps and the official upgrade service. The Odoo Community Association publishes modules covering much of the accounting side. We go through your processes against both editions before recommending one.

Does Odoo handle Swiss requirements such as QR-bills and VAT?

Odoo ships a Swiss localisation with the Swiss chart of accounts, VAT rates and QR-bill printing, and the Community Association maintains further Swiss modules. We confirm the exact coverage for your version during onboarding, with your fiduciary in the room if you want them there.

How do major version upgrades work on Community?

Odoo SA's upgrade service is for Enterprise. On Community we use OpenUpgrade, the Community Association's migration scripts, on a copy of your database first. OpenUpgrade reaches each new version some months after release, so we time the move to it. Custom modules are ported and tested before production moves, and the previous version stays ready to restore.

Can Odoo sign in with our directory?

Yes. Odoo Community supports OAuth sign-in and LDAP, and Community Association modules add OpenID Connect and SAML. We connect it to Keycloak or Microsoft Entra ID as part of SSO across your apps.

Also in business

Back to apps

Bring us your Odoo Community. We will tell you what it takes.

Thirty minutes on the deployment you already have, or the one you are about to start.