I’ve been working with Odoo for about a year implementing it for a small-medium business in the UK (lots of customisations, general specing out etc, working with their partners, etc. So not all dev). Disclaimer I’ve not yet touched v13.
The good; The OCA (community association), the people (both community and Odoo), the basic framework gets you up and running fast. You can tell it’s grown over time, and it’s got sharp edges, but you can get what you need done. Not necessarily in the prettiest way. The backwards compatibility and desire to not break the core APIs is generally good from what I’ve seen so far. Individual modules depends how much Odoo themselves lean on it afaict. GitHub access for partners and direct source access to both enterprise and community editions has been extremely helpful.
The bad; imho testing is a pain. The ORM uses Polish notation to build filters, which if you’re used to SQL is frankly irritating to work with. The ORM itself is quite clever, but it’s also not like any ORM I’ve worked with. The dev docs aren’t great, beyond the basics. The quality of modules in the “App Store” is extremely hit or miss. Odoo official “support” as a partner is questionable. I feel like they’re under pressure to get you to pay up to be a partner and then some period of time you might get help later. Anecdotally I’m led to believe our partner account manager has been pushing us hard to host a local event at our own cost (I’m not that involved with that side). The last few versions have seen more accounting features drop out of community edition. Some of the official apps are basic.
Is it better than SAP, Dynamics, etc.? Probably not. Is it good enough given the price point and flexibility, for smaller businesses? Probably, especially if the business has been tying together lots of apps adhoc.
You should also checkout ERPNext (https://github.com/frappe/erpnext). Its another free and open source ERP (GNU GPL v3) which is not open core. ERPNext is also built as a monolith, so you get maximum features out of the box instead of relying on 100s of extensions to fulfill your requirements. All since there is no "enterprise" version, there is no chance of features dropping out like accounting and payroll.
ERPNext has reasonable traction too (~5k+ stars on GitHub, 12k+ forum members) and is used by some very large enterprises.
You guys should definitely dial down on the marketing hyperbole. A good technical getting started documentation would be much better than forcing potential users to dig through GitHub and stumble their way in.
V12 saw accounting reports, and iirc budgets and assets moved to enterprise. I saw a tweet I can’t lay my hands on right now from
an OCA member about additional modules being moved in V14 (for context V13 was only released a few weeks ago, so things may change)
If they move components to enterprise in a new version, how hard is it for the community to fork the last open source version of those components and port them to work with the newer version?
That has happened several times already. The best known fork is probably Tryton, which forked during the OpenERP transition. It has seen a lot of independent development since then, also with some sort of company backing. (I evaluated it many years ago so my experience is probably no longer relevant.)
It would take an experienced odoo Dev to fork and maintain it. And they would also have to take the huge amount of business requests and support questions.
I worked on developing a module last year. I see a number of issues, most are shared with many "platform" applications.
Somehow you see especially "enterprise" software being written as a kind of proprietary platform, often like a kind of jvm or .net clone, with some half-baked ORM and lots of moderately documented (at best) infrastructure ("framework" ugh, usually feels like a straightjacket), on top of which one can develop "modules" that are all intertwined and create a dependency hell and a huge dependency on the proprietary platform.
I don't see the point. There are enough open platforms that are at least as good to create "enterprise" functionality, including database frameworks etc. Why would one use a proprietary framework that you have to adapt to, instead of a general purpose platform with some libraries that you can pick and choose from?
I had my fingers in SAP, a lot, some Odoo and tried out Dynamics 365 for my startup. SAP is great for larger companies or even smaller ones if they resist the urge to customize the ship out of SAP. Can't say too much about Dynamics, only that without manufacturing there are more specialised WMS and TMS solutions out there.
Odoo on the other was just a big pain. None of the workflows was automated. The consultant had no idea how goods receipt works. Not sure how much of it was the fault of Odoo and how much was due to a bad installation and bad custumizing. Regardless, this experience kicked Odoo of my list potential ERPs right away.
I've used it for several small businesses with near zero IT budgets. It's been great and an enabler. The CRM for instance is brilliant. In a way gave us a complete governance system for many of the company's staple processes. It could also support our manufacturing process!
The feature set is unstable though. From version to version they will remove first class features from COMMUNITY EDITION to ENTERPRISE.
Biggest for me was financial accounting, which was removed.
Some new large features to trickle down to COMMUNITY also, so the pendulum swings both ways. However I don't see this instability as anything good for the community edition users.
I am of the opinion that open source, venture capital based companies are a disaster waiting to happen. Open source is just not compatible with the large return on investments that venture capital is built on.
These companies will happily take the goodwill and source contributions that come from being open source and then eventually try to monetize by abandoning their open source license.
Founder of Odoo here. I think you are wrong, at least for the case of Odoo.
All the decisions we took have never been influenced by VC, or a goal of large returns. Quite the opposite: we always execute for the long term (e.g. growing the community), rather than short term benefits.
Our decisions are based on good balance between the good of Odoo Community, and the financial sustainability of the company and partners.
There is no way we will abandon our open source product. To guarantee that on my own, I kept the majority of the shares. (and I work for the project, not the money)
For years, we have had people thinking we will abandon the open source community. But we do that since 15 years now (first VC invested in 2010), and we continue investing massively in our open source version. (Typically, we try to keep a ratio of 80% of what we do is open source, 20% is Enterprise)
Alternate take: The open source contributions for this kind of software are contributed to by the same large organizations that purchase this software. You and I (sorry if you are an ERP,etc. developer) probably aren't contributing to these codebases.
One can then imagine that the competitive edge of this new software is subsidized by their customers' developers who contribute the modules needed to cover corner cases (like addresses in Japan, those are hard!).
I agree with your point in general (Gitlab, for example), but this kind of software lives in an enterprise bubble which in my experience has much less 'true' open source behaviors anyway. If this model works for anyone, it's enterprise.
They aren't hard but indeed easy and very logical. It all started with the Chinese system of starting with the largest geographical entity and going to the most specific one [1]. Later its adopted both in Korea and Japan. It's been the same for dates Year-Month-Day (largest, smaller, smallest). There is no confusion whether it's DD/YY or MM/YY. Funny enough the currency symbol for Yuan and Yen is same character (¥).
So if you understand Chinese, Korean or Japanese language the systems are same.
In Japan the addresses start with the largest geographical entity and proceed to the most specific one. [2]
As someone who lived (and is currently in Japan), I disagree. While addresses may be logical from the largest to smallest blocks from country to town to block, once you're on a block the address references the name of the building instead of an actual identifier. This sucks for a couple reasons:
- Some building have one or more entrances or various sides of the block. Knowing the block does not give you any information on how to enter the building and so you basically just have to know the building you're going to or use maps/directions. In Western countries the number on the street is the main entrance of the building in most cases
- Building names are often foreign in the downtown areas and can be confusing for locals + nonlocals to interact about. For example, pronouncing "Bienvenu Mansion" with my American accent can be confusing to the Japanese due to their particular Katakana readings of foreign words.
My original point isn't very strong because in computing that isn't an issue since it's a problem for time of delivery or arrival, but I was just highlighting one random complexity of which there are millions globally that these ERPs need to handle.
It will be easier once you live long enough, it will take time to think differently about address when you are used to street address like in USA. Like many foreigner especially East Asian finds it hard to understand address in USA, when they compare it with their own systems.
Even in Europe each place has their own way of address e.g. an Italian address will be different from a Swiss, French or a Belgian address system.
ERP's are able to handle it for many years this complexity, now we should be able to make it easier.
I think databricks and Apache Spark are probably the most successful at this. An open-source project, whose maintainers offer a hosted/managed version.
I'm not sure that's an argument specific to worker-coops, given there are very few FLOSS-producing enterprises of any type that are the sole means of financial support for their members.
I work for a large enterprise that has basically written its own ERP from scratch. There's a lot of rough edges but it's very tailored for our workflow and processes.
I've toyed with the idea of what I'd build if I could largely take what I know and start fresh (standard exercise in madness, I know) in order to learn about the bits I am not familiar with (I'm more in manufacturing, know very little about CRM and accounting processes).
It was very interesting coming across this only a few weeks ago and seeing this here. Starting it up in a docker container was a snap and it had a number of free modules that were easy to add. It's very basic but gets the point across and was a fun learning experience (and nice because it's in a language I don't currently develop in, python).
Just thought the timing was peculiar and enjoyed hearing about folks here harping on ERP development as soul-crushing. Yes, it can be at times, but I also really enjoy how it lets me really dig into my company's processes. When you get it right, it can make your users sing with joy when you help speed things up or streamline things.
I don't know where I was going with this but just enjoyed the article :)
My whole programming career has been around custom and standard ERP and internal business apps. I am in mfg too, just not a large enterprise. Low bureacracy, easy to get things done, joy when you see your software improves your coworkers work daily.
I also had an an idea of making a new ERP, something that will have a strong both financials and manufacturing and not much else, so a bit narrow focus, but it would cut a lot of baggage that first and second tier ERP carry. Closest I can think of it is Dynamics GP as a modern web app. I never worked with GP, only looked thir user guides and youtube videos, but without actual app as a reference it is hard to make any progress.
>I work for a large enterprise that has basically written its own ERP from scratch. There's a lot of rough edges but it's very tailored for our workflow and processes.
That is exactly the problem. Most ERP, SAP, Dynamics or Odoo have a fixed workflow pattern. And I argue this is no good for SME. SME dont want to adopt to the 5000 small procedures in a large enterprise, but they still want Software to enable much better efficiency. One of the SME had a very decent ERP work done with Visual FoxPro, and apart from the lack of software update and Internet connection it was doing great.
And for other small business, AirTable and Coda goes a long way.
I still think there could be a lot of work in this space. In terms of CRM, HR, Payroll, Accounting are easy, once you move into Stock, Sales, Invoicing, things become trillion times more complicated.
Edit: One of the difficult thing with off shelf ERP design for SME is that it is highly unlikely a single person in a company that has a deep understanding and overview of every single department and how everything interlinks and play. ( For Enterprise that is 1000+ employees everything is likely broken down into very clear manner. ) It very often these people telling how ERP should adopt to their workflow often end up not fully explaining the implication. And I have yet to see a single, decent off shelf ERP implemented that works.
( Working in the boss views does not mean working in the employees views, very often there is little to no efficiency gained. )
After building few internal data heavy apps with Retool I too wondered about this exact idea. My biggest curiosity is how do you break down an ERP which at the core is mostly a way to input, validate and sometimes create data. A lot of work could be automated nowadays with automated python jobs. So starting an ERP with the idea that processes should improve overtime and % of automation should go up.
For a little background, Tryton is a fork of Odoo when it was still called TinyERP, motivated by disagreements among TinyERP founders and early developers on the technical and business directions.
There's a fork of Odoo called Flectra [0]. Feature wise they are almost identical, but there's a difference in paid vs. unpaid versions. Flectra gives all the features for free and you pay the support if you need it.
The founder and the other two guys that were there in the beginning are still the biggest committers in odoo. It's a striking difference from pg or zuck or other people the same position in US who only have toy projects.
There might be some misunderstanding about what "the biggest" means: they have the largest proportion of commits to their name, percentage-wise, they don't have a majority of the total commits. Ie, the founder has around 1-2% of all commits, when the company has 100~ish full-time devs.
Founder here. I don't develop anymore since a few years with some exceptions (e.g. the ORM refactoring if v13). I still spend 50% of my time to improve the product, but more as a product owner. (The other 50% is to improve the company)
I can't imagine wanting to spend my free time contributing to anything that's in the same class of software as Oracle or SAP. That's a hard hill to climb for an open-source project - ERP is just soul-sucking drudgery, at the best of times.
At best I can imagine having to use the thing for work, and at least being able to hack in a fix for a bug. Assuming I can actually get the whole thing to build. And that there's any stomach in the organization for customization that isn't on somebody else's liability.
You can definitively get it to build; Odoo is essentially a Python web framework (ORM, UI framework, etc) that happens to include a bunch of apps for typical business needs. Running it is no harder than running the average Django app, just point it to a Postgres instance.
That said, while I enjoyed the six years I worked with it at different companies, I can't say I'd spend my free time on it. But I don't think that's necessary for FOSS to work; Odoo has a pretty good community (OCA), mostly composed of people paid to work with it.
I recently got a job offer from Odoo and from what I could gather they seem to be a nice company with an open source culture. Unfortunately working as a developer for Odoo means moving to some place in the Belgian countryside (or to Gandhinagar, India)
Or adopting a more distributed model so people do not have to commute (as often). As the thing is kind of opensource, everything seems set up for that enough anyway. Lot's of smart people around the world who won't want to live in Belgium or India.
Living in Brussels and was searching for a job not so long ago. I just didn't even sent my CV to them beceause they where too far away.
From Brussels to their town it's more than hour and half and that's an optimistic number.
Depends where in Brussels, from the southern neighbourhoods (Boitsfort, Auderghem, Woluwe, Etterbeek, etc), it's 30min-50min. There's little traffic in that direction. Did it for years from Boitsfort :)
How is this 15-year-old company, which isn't mentioned in any "ERP vendors" roundup that I can find, a "breakout startup" (to quote the actual title)? They appear to have little to no momentum.
> Odoo is largely profitable…
What is the difference between "largely profitable" and "not profitable"?
I live in Belgium, which is Odoo home country, and I see many cars bearing Odoo logo in the streets. Also, SMEs here choose Odoo over competition as often as they choose Windows over competition.
ERP vendor roundups, Magic Quadrant and McKinsey advisories exist in a totally different world.
We do 500k€ of positive cashflow per month, despite the fact that we recruit as fast as we can (350 people recruited in 2019). We have an average growth of 71% per year, over the past ten years. (64% in 2019)
We have never been hype, but kept focusing on building a great product. Today, there is no competitor anymore that matches Odoo, for the scope and price. We have millions of users, and have a serious impact on SMEs using Odoo.
I don't think b2b software on a slow and complex market ever get momentum. (E.g. over the past 15 years, Salesforce growth has always been below 70%. But if you consistently grow above 30%, it gets huge)
We have used Scipio ERP (https://www.scipioerp.com/), which is based on OFBiz, in a couple of projects. It's very flexible and easily integrates with other systems (using Camel). It's more suited to bigger businesses, though. Some components are closed but 95% are Apache licensed.
Disclaimer: I'm friends with the devs behind Scipio.
If anyone wants to try the community version of Odoo out, here's a script which will install it in pretty much one command. I've used this for several years, it's now bumped the installer to version 13.
There are already 31k employees dedicated to Odoo, working for official partners. (12 per partner on average, 2600 partners) And probably as much in the community. 50% of partners do more than 50% of their business on Odoo; it quickly become their main source of revenues after one or two years.
Margins are high as it's based on highly valuable business services: what you deliver is not your time, but software that transform the company. We charge on average 950€ / 1050$ per day.
I have seen a lot of self-employed or small companies growing fast as they started working on Odoo.
I have been building a backend team in Poland and have been wondering if I could apply the same skills to build a consultancy. Question, do clients require consultants on site or is remote picking up too?
It's business IT consulting. You need to know end to end processes within the department / part of the company you're working for, then you must know the odoo system/platform very well and pair and match the two.
You should also have a look at Dolibarr ERP CRM (https://github.com/dolibarr/dolibarr or https://www.dolibarr.org for portal). Its another free ERP and CRM (GNU GPL v3) which is fuly Open Source (no proprietary version). It is a modular and easy to use ERP and CRM. The addon store contains several hundred of extensions but in most cases you can find all what you need with the hundred of modules available by default with standard distribution.
Bitrix24 has been pretty successful going against Odoo, though Bitrix24 is not an ERP system per say - https://www.bitrix24.com/tools/ . The hybrid approach (Bitrix24 is free in cloud, source code is available to commercial users) seems to work great with businesses that have a limited budget. Open source products are great but unless you are a techie yourself, high labor costs make deployment too expensive oftentimes. This is especially true for smaller project with small or no budget.
I've been working with Odoo now for about 2 years. (TLDR; Oddo works fine, but it's documentation really suck). It's great when you want some basic stuff up and running fast. However, my biggest beef about this stack is the lack of good documentation. If you want to build custom stuff there's a huge investment in time to get your head around how things are working. Basically you have to read and understand a lot of the source code to get complicated stuff done. When stuck on "more than basic" stuff it's not unusual to spend days figuring out things. Hell, even basic stuff is hard to grasp sometimes. Don't even ask how much time I spend making VusJS integrate with Odoo.
The good; The OCA (community association), the people (both community and Odoo), the basic framework gets you up and running fast. You can tell it’s grown over time, and it’s got sharp edges, but you can get what you need done. Not necessarily in the prettiest way. The backwards compatibility and desire to not break the core APIs is generally good from what I’ve seen so far. Individual modules depends how much Odoo themselves lean on it afaict. GitHub access for partners and direct source access to both enterprise and community editions has been extremely helpful.
The bad; imho testing is a pain. The ORM uses Polish notation to build filters, which if you’re used to SQL is frankly irritating to work with. The ORM itself is quite clever, but it’s also not like any ORM I’ve worked with. The dev docs aren’t great, beyond the basics. The quality of modules in the “App Store” is extremely hit or miss. Odoo official “support” as a partner is questionable. I feel like they’re under pressure to get you to pay up to be a partner and then some period of time you might get help later. Anecdotally I’m led to believe our partner account manager has been pushing us hard to host a local event at our own cost (I’m not that involved with that side). The last few versions have seen more accounting features drop out of community edition. Some of the official apps are basic.
Is it better than SAP, Dynamics, etc.? Probably not. Is it good enough given the price point and flexibility, for smaller businesses? Probably, especially if the business has been tying together lots of apps adhoc.