Call +1 515-644-1400Call any time. 24/7 outage response is an add-on.hello@allodi.us

Blog

Odoo 19 Enterprise vs Community: what you keep, replace or lose

Moving from Enterprise to Community is a project, not a switch. A table of what has a replacement, what does not, and how to rehearse it on a copy first.

Odoo comes in two editions. Community is open source under the LGPL. Enterprise adds apps and features on top, under Odoo's proprietary license and a subscription. Plenty of companies are well served by Enterprise. Others run a handful of Enterprise features, pay per user for all of them, and wonder whether Community plus a few community-maintained modules would cover what they actually use.

The honest answer is: sometimes, and you can find out on a copy before committing to anything. This article maps the Enterprise apps to their nearest Community or OCA equivalent on 19.0, and describes how to rehearse the move.

What the OCA is

The Odoo Community Association (OCA) is a Swiss nonprofit whose members maintain open-source Odoo modules (it counts more than 20,000 across all versions) in public repositories on GitHub, with peer review and one branch per Odoo version. Modules are ported to each new version by volunteers and companies, so availability on 19.0 grows over the months after a release. Everything below was checked against the OCA repositories' 19.0 branches on September 25, 2026, and checked again on September 28. Check again before you plan: a module missing today may be ported next month, and the reverse can be true for quality. Odoo 20 is out, and the main OCA repositories opened their 20.0 branches on September 28, 2026, with no modules in them yet, so 19.0 is the newest version with broad OCA coverage today.

The map

"Present on 19.0" means the module's manifest exists on the repository's 19.0 branch. It does not mean feature parity with the Enterprise app, and it says nothing about fit for your processes.

Enterprise app or featureIn CommunityOCA module (repository)19.0
Bank reconciliation widgetInvoicing, no reconciliation widgetaccount_reconcile_oca (account-reconcile)Present
Financial reportsNoaccount_financial_report (account-financial-reporting), mis_builder (mis-builder)Present
AssetsNoaccount_asset_management (account-financial-tools)Present
BudgetsNoaccount_budget_oca (account-budgeting)Present
Payment follow-upsNoaccount_credit_control (credit-control)Present
Bank synchronizationManual statement linesStatement import modules (bank-statement-import)Present for file imports such as CAMT and spreadsheet files; online feeds vary by bank
DocumentsAttachmentsdms (dms)Present
SignNosign_oca (sign)Present
KnowledgeNodocument_page (knowledge)Present
HelpdeskNohelpdesk_mgmt (helpdesk)Present
Field ServiceNofieldservice (field-service)Present
PlanningNoproject_timeline (project) with web_timeline (web)Present; a timeline view, not a full planning app
AppointmentsCalendarresource_booking (calendar)Present
ApprovalsNobase_tier_validation (tier-validation)Present; moved from server-ux to its own repository for 19.0
Spreadsheet and dashboardsRead-only spreadsheet dashboardsspreadsheet_oca, spreadsheet_dashboard_oca (spreadsheet)Present
SubscriptionsNocontract (contract)Present
Sales commissionsNosale_commission_oca (commission)Present
RentalNosale_rental, rental_base (vertical-rental)Not on 19.0; last released for 16.0
QualityNoquality_control_oca (manufacture)Present
Master production scheduleNomrp_multi_level (manufacture)Present; multi-level MRP rather than an MPS screen
PLM and engineering changesBills of materials onlyNo close equivalent knownGap
Shop floor tabletWork orders in the backendNo close equivalent knownGap
Barcode appBarcode framework onlystock_barcodes (stock-logistics-barcode)Not on 19.0; last released for 16.0. Counting without it: inventory counts on handhelds
PayrollNopayroll (payroll)Present; country rules are yours to build
Timesheet gridTimesheets (hr_timesheet)hr_timesheet_sheet (timesheet)Not yet on 19.0; basic timesheets are in Community
Marketing automation, social marketingEmail marketingNone foundGap
VoIPNovoip_oca (connector-telephony)Present
IoT boxNoNone yet (the iot repository's 19.0 branch is empty)Gap. For printing, see printing from a hosted Odoo
Enterprise web client and mobile appCommunity web clientweb_responsive (web)Present
StudioCustom fields and views in developer modeNone; keep changes as codeGap

A few patterns stand out. Accounting is well covered, and it is where most of the value is for companies whose main Enterprise use is the accounting app. Manufacturing extras (PLM, the shop floor tablet) and marketing automation are the clearest gaps. If you stay on Enterprise and move to Odoo 20, shop floor workers may count as Light Users under Odoo's current agreement (version 13, September 24, 2026) rather than full users; on Odoo 19 and earlier every active user is a full user (Odoo pricing, Light User, as of September 30, 2026). Warehouse barcode scanning and rental are waiting on 19.0 ports, and neither was released for 17.0 or 18.0 either, so plan on staying with Enterprise for those, or on custom work. Approvals are covered on 19.0 by the tier-validation modules.

Things that do not come back

Uninstalling an Odoo module removes its models and their data. Documents folders and workflows, Sign templates, Helpdesk tickets and Studio customizations can be lost if you uninstall before moving them. Export first, map to the replacement, and rehearse on a copy.

Studio deserves its own plan

Studio is an Enterprise app, and Odoo's documentation explains that Studio customizations are stored in a generated module called studio_customization. Custom fields created with Studio are ordinary custom fields (their names start with x_, usually x_studio_), but the views, automations and reports around them are Studio's records. Decide per item: rebuild what you keep as a small module in your own repository, where it survives upgrades and can be reviewed, and drop what nobody uses. Our customization inventory queries list them.

How to test the move on a copy

Odoo documents moving from Community to Enterprise, but there is no official procedure for the other direction. Answers on Odoo's own forum make the same point: uninstalling only the Enterprise web client is not enough, and every Enterprise module has to be removed, with its data mapped to a replacement or given up. So treat it as a project, and rehearse it until it is repeatable.

  1. Restore a neutralized copy. Restore a recent production backup on a separate server and neutralize it (odoo-bin neutralize, available since 16.0). Neutralization turns off scheduled actions, outgoing mail, bank synchronization, payment providers, delivery methods and IAP tokens, and hides the website from search engines, for Odoo's standard features. Also check custom modules that call outside services directly.
  2. List every installed Enterprise module and the data each one holds. For each: replace with an OCA module, move the data elsewhere, or accept losing it.
  3. Install the replacements first and move data into them with a script, while the Enterprise modules are still there to read from.
  4. Uninstall Enterprise apps one at a time, working from the leaves inward, and note what each uninstall removes. The Enterprise web client (web_enterprise) goes last.
  5. Remove the Enterprise addons from the addons path, restart, and check that the interface loads cleanly and the server log shows no missing modules or asset errors.
  6. Test with the people who use each area, especially accounting: reconcile a bank statement, run the reports your accountant relies on, close a test period.
  7. Script it and run it again from a fresh production copy. The production move is the third or fourth run of the same script, not the first.

Do this on the version you are on, or combine it with an upgrade only if you rehearse both together. Changing edition and version at once is possible, but every rehearsal then has two sources of surprise.

The decision

After a rehearsal you know three things: which features you keep, which you replace, and which you lose. That is a much better basis for the licensing decision than a feature list. If the gaps matter to you, staying on Enterprise is a perfectly good outcome, and you will have a documented system either way. If you would rather have us run the rehearsal, our Enterprise to Community page explains how we do it and what it costs, and our cost comparison shows what the license is worth next to hosting and support.

Questions people ask

What do we lose moving from Odoo Enterprise to Community?

On 19.0 the clearest gaps are Studio, marketing automation and social marketing, PLM, the shop floor tablet, the IoT box and Odoo's online bank synchronization. The warehouse barcode app and rental are waiting on 19.0 ports of their OCA replacements. You also give up the upgrade service that comes with an Enterprise subscription.

Which Enterprise apps have good Community replacements?

Accounting is the best covered: bank reconciliation, financial reports, assets, budgets and payment follow-ups all have OCA modules on 19.0. Documents, e-signature, knowledge, helpdesk, field service, approvals, subscriptions, quality control and multi-level MRP do too.

Is an OCA module the same as the Enterprise app?

No. Present on 19.0 means the module exists on the repository's 19.0 branch, not that it matches the Enterprise app feature for feature. Test each replacement with the people who use that area, on a copy of your own data.

Can we switch from Enterprise to Community by uninstalling web_enterprise?

No. Answers on Odoo's forum make the point that every Enterprise module has to be removed, with its data mapped to a replacement or given up, and uninstalling a module deletes its data. Rehearse the whole sequence on a neutralized copy.

Does Community save money if we host it ourselves?

It removes the per-user Enterprise license, which is usually the largest line. Hosting and support still cost something; our Odoo.sh vs self-hosted cost comparison works through three examples with published prices.

How do we upgrade a Community database to 19 without Odoo's upgrade service?

With the OCA's OpenUpgrade scripts, one major version at a time. Our article on upgrading Odoo Community from 18 to 19 covers where its coverage stands and how to rehearse the run.

Sources

  1. Odoo Community Association (OCA)
  2. OCA account-reconcile, 19.0 branch
  3. OCA account-financial-reporting, 19.0 branch
  4. OCA mis-builder, 19.0 branch
  5. OCA helpdesk, 19.0 branch
  6. OCA tier-validation (base_tier_validation), 19.0 branch
  7. OCA stock-logistics-barcode, 19.0 branch
  8. Odoo documentation: Switch from Community to Enterprise
  9. Odoo documentation: Studio models, modules and apps (studio_customization)
  10. OCA vertical-rental pull request 88: sale_rental migration to 19.0
  11. OCA stock-logistics-barcode pull request 742: stock_barcodes migration to 19.0
  12. Odoo documentation: Apps and modules (uninstalling deletes records)
  13. Odoo documentation: Neutralized databases
  14. Odoo forum: Downgrade Enterprise to Community