Every comparison of Odoo with Salesforce, HubSpot or SAP that I have read was written by somebody who sells one of them. This one is written by somebody who implements Odoo, so read the numbers rather than the adjectives. All of them come from the vendors’ own pricing pages in September 2026, and every page is linked below.
What the list prices actually say
Odoo publishes two paid plans, and both include every app: CRM, sales, invoicing, inventory, website, helpdesk. Custom adds Odoo Studio, multi-company and the external API, and lets you run the system on your own server instead of theirs. In Germany, on monthly billing, Custom is €46.80 per user per month. That figure is a line on a real invoice, not a number from a landing page.
The others, in euro, from their own German pages. HubSpot Sales Hub is €7 per seat on Starter, €90 on Professional and €150 on Enterprise. Salesforce starts at €25 for the Starter Suite and reaches €195 for Sales Cloud, with €395 and €550 above that. SAP does not publish a price at all: what S/4HANA costs is something you find out after a conversation with a salesperson.
Where the price is not the price
Before anything else, check which country the page thinks you are in. Odoo prices per market, and the spread is not small: in Ukraine the Custom plan is quoted at €17.90 per user per month, while a German invoice for the very same plan reads €46.80. Other markets sit between the two. Whatever you read in a comparison — these numbers included — open the vendor’s page from your own address, and if you can, look at a real invoice rather than a landing page.
The first thing the list price hides is the one-off. HubSpot will not sell you a Professional seat without onboarding — €1,470, mandatory, paid before you send a single email. Enterprise onboarding is €3,420.
The second is what a seat actually buys. Salesforce sells clouds: Sales Cloud is sales, while service, marketing and commerce are separate products with separate prices. The Starter and Pro suites bundle them for small companies; above that you buy each one. The Odoo word for the same thing is “apps”, and both paid plans have all of them.
The third is the cost of asking. With SAP the evaluation is itself a project: a partner, a discovery workshop, a proposal. That is not a complaint — it is how enterprise software has always been sold. It is also why a company of ten rarely reaches the end of it.
Ten people, three years
Take ten people and three years, because three years is roughly how long a system lives before somebody proposes replacing it. Multiply the list price by ten users and thirty-six months. Nothing else: no implementation, no hosting, no add-ons, no discounts.
Odoo Custom comes to €16,848: ten users, thirty-six months, at the monthly rate, which is the most expensive way to pay for it. HubSpot Professional comes to €33,870 with the onboarding fee, Enterprise to €57,420. Salesforce Sales Cloud comes to €70,200. The cheapest line is not Odoo — Salesforce Starter Suite is €9,000, and if a starter CRM is genuinely all you need, take it. It is also the one you outgrow first.
What “all apps” means in practice
A company of ten does not only need a CRM. It needs quotations, then invoices, then stock, then a website that shows the stock honestly. In Odoo those are one subscription and one database: a quotation becomes an order, the order reserves stock, the invoice comes out of the same record. Nothing is synchronised between systems because nothing is a separate system.
That is also where the bill for running it arrives, and the numbers above are not hypothetical. They come from a German retailer whose shop runs on one Odoo with more than a hundred thousand products and forty storefronts on a single instance; I was responsible for that Odoo in production. At that size the defaults stop being enough and a search starts taking eight seconds. Solvable — and exactly what I get called into.
Where Odoo loses
Consolidated statutory reporting across ten legal entities in five countries is SAP’s home ground, and pretending otherwise costs somebody a year. The same goes for industry verticals that arrive certified — pharmaceuticals, aerospace, banking — where the certification is most of the product and rebuilding it is not a project you want to fund.
There is a procurement reality too. In a tender that requires a vendor from the Gartner quadrant and a support contract with a phone number in it, Odoo is not on the list, and no amount of engineering changes that. And if your sales team already lives inside Salesforce and the company can afford 195 € a seat, the migration will cost more than it saves. I have talked people out of it.
The platform has limits of its own, and it is worth knowing that before you pick where to run. Odoo.sh manages the hosting for you; the throttle, therefore, is in somebody else’s hand. On the same instance — forty storefronts under one Odoo — a rate limit for bots appeared, and Googlebot started collecting 429s. Same URL, same second: a normal user agent answered in 300–600 ms, while Google’s crawler went into a queue that climbed in steps from five seconds to twelve. Shops fell out of the index. Merchant Center began rejecting products daily.
The limit was not the expensive part. Getting it acknowledged was. Support asked for evidence, and evidence meant logs measured bot by bot; after that it took three rounds over several months before the limits were raised per domain. That is the honest complaint about Odoo, and I have heard it from other people too: when the problem is on their side, you wait. What kept the year from being a total loss is the other half of the same system — nobody has to approve your own architecture. When search over that catalogue became the bottleneck, we took it out of the database and gave it to Elasticsearch, on our own machines, and it stopped being anyone’s ticket.
How to decide in an afternoon
Write down what the system has to do — not the features, the jobs: quote, invoice, hold stock, answer customers, show prices on a website. Then price every candidate for your actual head count on its own pricing page, add the one-off fees, and multiply by thirty-six months. That number, not the demo, is the comparison.
If two answers come out close, the tie-breaker is what happens when the business changes. In Odoo you can change the system yourself: Studio on the Custom plan, the external API, or a module somebody writes for you. Elsewhere you file a request or you buy a tier up. Half an hour on a call is usually enough to work out which side of that line you are on.