How to choose
ERP or CRM: start with the problem you have
If your pain is losing track of leads and follow-ups, a CRM is enough and much easier to run. If you are juggling stock, purchase orders, invoices and accounts in separate tools, you need an ERP. Several ERPs here include a CRM module, and Frappe CRM connects to ERPNext later, so you can start small without boxing yourself in.
Free, open-core or paid hosting
ERPNext, Dolibarr, Tryton, EspoCRM and Frappe CRM give you the whole product free when you host it yourself; their makers or partners sell hosting and support. Odoo, Axelor and Twenty are open-core: the free edition is real and usable, but some modules, features or files are under a commercial licence. Check the edition comparison before you build your processes on a feature.
Implementation is the real cost
An ERP touches every part of the business, so the software licence is rarely the biggest cost: setting up products, accounts, taxes, users and data imports takes weeks, and someone must handle backups and upgrades. Try the demo or a hosted trial first, start with one or two modules, and only then decide whether to self-host. None of these projects claims Gulf e-invoicing compliance on the pages we read.
The projects
ERPNext
Free + paid hosting40,087 GitHub starslast code update 13 October 2026
A full ERP covering accounting, order management and stock, manufacturing, asset management and projects, built on the Frappe Framework.
- Who it suits
- Small and medium businesses in trading, manufacturing and services that want one system for the whole back office.
- How it is used
- Run it on your own server with Docker or the bench installer, or on Frappe Cloud, and work in the browser; it has a REST API.
- Runs on
- Self-hosted Linux server or Docker, or Frappe Cloud; browser
- Licence
- GPL-3.0
- Free or paid
- The software is free under GPL-3.0. Its pricing page says your costs are hosting and implementation; on 19 October 2026 Frappe Cloud site hosting started at $5 a month, charged by usage rather than per user. Pricing page
How to set it up
- Install Docker, Docker Compose v2 and git.
- Get the official Docker setup:
git clone https://github.com/frappe/frappe_docker && cd frappe_docker - Start a disposable demo stack:
docker compose -f pwd.yml up -d - Wait a few minutes, open port 8080 and log in as Administrator with the password admin. For real use, follow the production guide in the frappe_docker documentation instead.
Good to know
- The README says the pwd.yml setup is for quick evaluation only: you cannot add custom apps and should expect to throw it away.
Odoo Community
Open-core55,147 GitHub starslast code update 19 October 2026
A suite of business apps (CRM, website, e-commerce, inventory, projects, invoicing and accounting, point of sale, HR, marketing, manufacturing) that work alone or together as an ERP.
- Who it suits
- Small businesses that want to start with one app and add more over time, hosted or on their own server.
- How it is used
- Install the Community edition on your own Linux or Windows machine and use it in the browser, or use Odoo’s hosted plans.
- Runs on
- Linux (deb and rpm packages), Windows installer, source install; browser
- Licence
- LGPL-3.0 (Community edition)
- Free or paid
- The Community edition in the GitHub repository is free under LGPL-3.0. Odoo also sells the Enterprise edition: on 19 October 2026 its pricing page offered One App Free (one app, unlimited users) and Standard and Custom plans priced per user per month, and its docs say Enterprise packages are only for paying customers. Pricing page
How to set it up
- On Debian or Ubuntu, install PostgreSQL:
sudo apt install postgresql -y - Add Odoo’s signing key and its Community repository (version 19.0 in the docs we read):
wget -q -O - https://nightly.odoo.com/odoo.key | sudo gpg --dearmor -o /usr/share/keyrings/odoo-archive-keyring.gpg && echo 'deb [signed-by=/usr/share/keyrings/odoo-archive-keyring.gpg] https://nightly.odoo.com/19.0/nightly/deb/ ./' | sudo tee /etc/apt/sources.list.d/odoo.list - Install Odoo; the package creates its database user and starts the server:
sudo apt-get update && sudo apt-get install odoo - Install wkhtmltopdf 0.12.6 by hand if you need headers and footers on PDF reports.
Good to know
- Enterprise is a separate paid edition (the docs have a guide to switching from Community to Enterprise), so check that the apps you need exist in Community before you commit.
- The docs warn that the nightly packages can be hard to keep up to date.
Dolibarr ERP & CRM
Free7,719 GitHub starslast code update 12 October 2026
A modular ERP and CRM for contacts, quotes with online signing, orders, invoices, stock and warehouses, manufacturing, contracts, tickets, HR and document management; every module is optional.
- Who it suits
- Freelancers, small companies and associations that want a light ERP they can switch on module by module.
- How it is used
- Install it on a PHP web server, a Windows or Debian package, or Docker, and use it in the browser on your network or over the internet.
- Runs on
- PHP server with MariaDB, MySQL or PostgreSQL; Windows (DoliWamp), Debian/Ubuntu (DoliDeb), Docker; browser
- Licence
- GPL-3.0-or-later
- Free or paid
- Free under GPL-3.0 or later. The project lists paid ready-to-use cloud offers and commercial support from its preferred partners; the README notes those cost money. Pricing page
How to set it up
- Easiest: use the DoliWamp installer on Windows, the DoliDeb package on Debian or Ubuntu, or the official Docker image.
- On your own web server, get a stable version (replace x.y with the version number):
git clone https://github.com/dolibarr/dolibarr -b x.y - Point the web server at dolibarr/htdocs and create an empty htdocs/conf/conf.php that the web server can write to.
- Open the install/ page in your browser and follow the installer.
Good to know
- Back up your files and database before each upgrade; the upgrade runs through the same install/ page.
Axelor Open Suite
Open-core980 GitHub starslast code update 14 October 2026
A modular business suite with CRM, sales, finance and cost management, HR, projects, inventory and supply chain and production, with multi-company, multi-currency and multi-language support.
- Who it suits
- Growing businesses with some in-house IT that want a Java-based ERP they can extend.
- How it is used
- Deploy it on a Java and Tomcat server or with the official Docker image, then use it in the browser.
- Runs on
- Linux server with Java 21, Tomcat 10.1 and PostgreSQL 16, or Docker; browser
- Licence
- AGPL-3.0
- Free or paid
- The Community edition is free (AGPL-3.0) with essential modules and community support. On 19 October 2026 Pro was €35 per user a month from 10 users and Enterprise €55 per user a month from 20 users, adding all business modules, updates, e-invoicing and support. Pricing page
How to set it up
- Prepare Ubuntu Server 24.04 with Java 21, Tomcat 10.1 and PostgreSQL 16 (with the unaccent extension); the guide suggests about 2 vCPU and 8 GiB of RAM for around 10 users.
- Recommended: download the axelor-erp 9.0 WAR file and deploy it into Tomcat behind a reverse proxy such as Caddy.
- Quick start instead: run the official axelor/aos-ce:9.0 Docker image (Community edition) with PostgreSQL 16, configured through environment variables.
- Open the instance in your browser and check it with the verification section of the guide.
Good to know
- Moving from version 8 to 9 is a migration, not a simple redeploy (new Java, Tomcat and encryption).
- Building from source needs the separate open-suite-webapp repository and git submodules.
Tryton
Free224 GitHub starslast code update 5 October 2026
Modular business software covering financial and analytic accounting, sales, purchasing, inventory and stock, supply chain, CRM and manufacturing.
- Who it suits
- Businesses with a Python developer or a service provider who want a stable, fully open ERP run by a foundation.
- How it is used
- Run the trytond server, add only the modules you need, and connect with the Tryton client.
- Runs on
- Docker, Linux distribution packages or Python (pip) for the server; Tryton client
- Licence
- GPL-3.0
- Free or paid
- Free; the project is run by a foundation that takes donations and lists independent service providers for paid help. Pricing page
How to set it up
- The docs’ first choice is the official Docker image; the second is your Linux distribution’s package.
- Or install the server from the published package:
python3 -m pip install trytond - Add the modules you need, for example sales:
python3 -m pip install trytond_sale - Write the configuration file, set up a database and start the server, following the next pages of the same docs.
Good to know
- The GitHub repository is a mirror of the project’s own code host, so its star count understates how widely Tryton is used.
Twenty
Open-core58,420 GitHub starslast code update 16 October 2026
A modern CRM where you shape your own objects, fields, views and workflows, with REST and GraphQL APIs, webhooks and AI agents.
- Who it suits
- Teams with a developer who want a CRM they can customise like the rest of their software.
- How it is used
- Use the hosted workspace at twenty.com or self-host with Docker Compose and work in the browser.
- Runs on
- Docker Compose (self-hosted) or hosted; browser
- Licence
- AGPL-3.0, with some files under a commercial licence and some packages under MIT
- Free or paid
- Self-hosting the AGPL code is free. On 19 October 2026 the hosted plans were Pro at $9 and Organization at $19 per user a month, with Enterprise from $50,000 a year; features such as SSO and row-level permissions are in the higher tiers. Pricing page
How to set it up
- Use a machine with at least 2 GB of RAM and current Docker and Docker Compose.
- Run the official one-line installer:
bash <(curl -sL https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-docker/scripts/install.sh) - Or do it by hand: download .env.example as .env, set a random ENCRYPTION_KEY and a database password, get docker-compose.yml and run docker compose up -d.
- Open http://localhost:3000, and set SERVER_URL to your public address before inviting your team.
Good to know
- Files marked “@license Enterprise” are not AGPL; read the LICENSE before you rely on those features in a self-hosted copy.
- The docs warn that losing ENCRYPTION_KEY means losing every secret stored in the database.
EspoCRM
Free + paid hosting3,494 GitHub starslast code update 16 October 2026
A CRM for leads, contacts, accounts, opportunities, marketing campaigns and support cases, with a custom entity manager and a REST API.
- Who it suits
- Small and medium businesses that want a fast, simple CRM on their own server.
- How it is used
- Install it on a Linux server with the official script, manually or with Docker, and use it in the browser.
- Runs on
- Ubuntu, Debian or Linux Mint via script; PHP 8.3 to 8.5 server with MySQL, MariaDB or PostgreSQL; Docker; browser
- Licence
- AGPL-3.0
- Free or paid
- Self-hosted EspoCRM is free under AGPL-3.0; the company also sells extensions. On 19 October 2026 its cloud plans were $15 per user a month (minimum 3 users), $25 (minimum 5) and $69 (minimum 10), with extensions included and a 30-day trial. Pricing page
How to set it up
- Use an Ubuntu, Debian or Linux Mint server with root or sudo access.
- Download the official installer:
wget -N https://github.com/espocrm/espocrm-installer/releases/latest/download/install.sh - Run it; add --ssl --letsencrypt --domain=your-domain --email=your-email for a free certificate:
sudo bash install.sh - Answer the prompts, then open your domain in the browser. The same script later handles backups, restores and upgrades.
Good to know
- Extra feature packs, such as VoIP integration and the meeting scheduler, are sold as extensions for self-hosted installs.
Krayin CRM
Free + paid hosting24,013 GitHub starslast code update 16 October 2026
A CRM built on Laravel and Vue.js for managing leads and the customer lifecycle, with an admin dashboard, custom attributes, a modular structure and email parsing.
- Who it suits
- Small businesses with access to a PHP or Laravel developer.
- How it is used
- Install it with Composer on a PHP server and use it in the browser; the admin panel is at /admin.
- Runs on
- Apache or Nginx with PHP 8.3+, Composer 2.5+, MySQL 8.0.32+ or MariaDB 11.4+, or Docker; browser
- Licence
- MIT (per the LICENSE file)
- Free or paid
- Self-hosting is free. On 19 October 2026 Krayin’s managed cloud hosting started at $20 a month for unlimited users, priced by server rather than per seat; custom development is sold separately. Pricing page
How to set it up
- Prepare a server with PHP 8.3 or newer, Composer, MySQL or MariaDB and at least 3 GB of RAM.
- Create the project:
composer create-project krayin/laravel-crm - Set APP_URL, the database and the mail settings in .env, then run the installer:
php artisan krayin-crm:install - Point the web server at the public/ folder and log in at /admin/login.
Good to know
- The README shows a default admin login (admin@example.com); change it straight away.
- The repository’s LICENSE file is MIT, while a FAQ on Krayin’s hosting page calls the core AGPL; we report the LICENSE file.
Frappe CRM
Free + paid hosting3,816 GitHub starslast code update 18 October 2026
A sales CRM with lead and deal pages that gather activities, notes and tasks, Kanban and custom views, and built-in calling (Twilio, Exotel), WhatsApp and ERPNext integrations.
- Who it suits
- Sales teams that want a simple CRM with unlimited users, especially if they already use or plan to use ERPNext.
- How it is used
- Self-host it with Frappe’s easy-install script or Docker, or host it on Frappe Cloud, and work in the browser.
- Runs on
- Linux server via easy-install or Docker, or Frappe Cloud; browser
- Licence
- AGPL-3.0
- Free or paid
- Free to self-host under AGPL-3.0. On 19 October 2026 its site said hosted plans on Frappe Cloud start at $5 a month per site with unlimited users, billed by usage. Pricing page
How to set it up
- Download Frappe’s easy-install script on your server:
wget https://frappe.io/easy-install.py - Run the deployment, replacing the email and the domain with your own:
python3 ./easy-install.py deploy --project=crm_prod_setup --email=email.example.com --image=ghcr.io/frappe/crm --version=stable --app=crm --sitename subdomain.domain.tld - The README says the script sets up a production-ready instance in about five minutes; then open your domain.
Good to know
- The stable line is v1.x; the develop branch tracks the next major version and is marked unstable.