Don’t get me wrong, Odoo is a great product and a worthy market leader in the open source ERP space (if not free software). The goal of this post to take stock of ERPNext’s strengths and why people are in this ecosystem rather than Odoo.
I like ERPNext better because
- 100% open source
- Frappe Framework (extensibility)
- ERPNext modules are better designed
- Better quality / UX
- Better ecosystem
- Other (please specify)
If you have extensive experience in Odoo, would love to know more.
It’s a tricky question bc all listed answers are relevant and important for me. For example, I use only 100% open source software if It’s possible, and I think the ecosystem is top-notch with Frappe Cloud, but I had to choose Other because I believe your approach to build your community (online and at Frappe) and the product is much better than anything I see on the market. I like the clear vision and how you treat your people. I bought it and I hope it’s just getting better and better and doesn’t disappoint like TinyERP->OpenERP->Odoo->Enterprise/Community does it by switching their model and tricking their own users. Good luck and keep up the good work!
This is such an interesting and tricky question.
Years ago, we evaluated ERPNext and Odoo. I am very happy with our decision, but in hindsight I realize that the decision was made on very incomplete information.
My organization is a cooperative. We’ve grown significantly since starting with ERPNext, and we use it extensively to facilitate transparency and democratic decision making. Most of our core data types are custom built to our very specific needs, so the fact that Frappe has always been “framework first” is tremendously important to us.
That said, I feel like I barely understand Odoo. People in my sector know I work extensively with ERPNext, and they often ask me to compare it to Odoo. I never feel like I have anything meaningful to say. I mean, there are some obvious things, but especially as far as development/customization is concerned I just don’t understand Odoo enough to make a useful comparison. It took me a couple years to get to the point of getting ERPNext, and I wish I could have the same understanding of Odoo, but without putting in the time!
I am a long time Odoo implementer, and still now. And I also a fan of ERPNext. So, I want to give out my thought.
To me, it is not quite apple to apple to compare. There are things that one is better than another by miles. And it is very much where are you from.
Only when I see ERPNext as the “Low Code Platform” that capable of being a real world “ERP”. Then I could say ERPNext is far superior.
Odoo is not and cannot be a Low Code. Its Studio is the sugar layer of the complex coding, while Frappe is naively a Low Code. In version 14 I see many improvements that make it even more low code.
That being said, I think Frappe should focus on attract more developers in the Low Code space (not ERPNext). I think there are 10X more developers that at the beginning don’t care about ERP , but they will care about Low Code in the near future.
May I explain more…
Way back, when I look for an ERP, many (good) things become stopper for me. For example,
- ERPNext use name as primary key and for Link field, why not integer ID as others.
- The way it link a child table, why not using foreign key (one2many).
- Why it don’t allow child table of child table.
- Why it has only 3 state for a document. (Odoo can easily has more states via coding).
- No multi views per doctype (this is the strength in Odoo), which force me to have a lot of fields with a fixed order despite the usage (although can be invisible).
Especially when I am trained by Odoo framework, the above points don’t make sense. Only when I see it from the Low Code view, everything become clear and I can really appreciate it.
And I think many newcomer can have the hard time adopt ERPNext as I do. Those points should some how be addressed clearly in documentations, etc., in order to gain more interest.
My 2 cents,
This is an excellent post. Thank you so much for sharing. Everytime I’ve played with Odoo, I feel like I’ve been trying to get it to act like ERPNext, which of course isn’t fair. I’m sure many Odoo familiar developers have been frustrated for exactly the same reason when testing ERPNext.
Just a few specific responses:
I think the idea here is flexibility, though I see why ERPNext’s approach has downsides. When designing a doctype, you can use a hash or integer as the name (stored as varchar, though). In practice, most core doctypes use semantic names.
Going forward, I think the current approach to
name is far too embedded to change without huge amounts of pain, but there might be ways to incrementally add a GUID-system on top of what already exists.
There are advantages to keeping the docstatus limited and universal, and for more complicated cases I think the intention is for developers to use workflows. Have you used workflows at all, and if so can I ask how you think Odoo’s approach is more powerful/flexible? (One thing from my side: I wish it were possible to define workflows as part of doctype definitions.)
This is a biggie for me too. I’ve started working on a vue-based form builder that would generate interfaces that could replace the standard form view, just experimentally. The idea would be that you could have multiple views for a single doctype, or even views that join multiple doctypes. I don’t know if it will ever get to the point of being usable, but one thing I’ve been very happy to learn in my experimenting is that v13 and v14 makes a lot of this work much, much easier to implement due to framework-level advances.
@peterg yes, bit by bit, I do understand more about the design principle of EPRNext (whether it is intentional at first).
About states, yes, I do know about workflow. Odoo (community module) has similar module called substate when use with module tier validation (another community module) is acting like ERPNext workflow.
Having said that, I hope you can start to imagine that, Odoo can do anything and fit any requirement with tens of thousands of community modules out there. It is surely attractive at first sight as it give you choices, correct? But having to maintain a hundred modules in a single project another thing to concern.
I surely see advantage of a simpler ERPNext’s ways, and now understand why the upgrading and maintenance is much easier here.
I can’t explain enough how both solution are so much opposite, for me at least. If we are to compare with Odoo on the same ground, it is not easy to win. That’s why I think the “Low Code” can be the keyword of success.
I don’t know, may be you guys has though about it already
I’ve been using community odoo 11 for 6 yrs. Along the way I always wanted to look for alternative for my small business.
I’ve been using erpnext 13 for the last 1 year and Im very satisfied with the system and the community. Everything I need just came out of the box.
Not sure about latest version of odoo, but designing printed format document such as invoice/sales order/ d.o is not possible for normal user in odoo 11 which I think is crazy.
Thanks FRAPPE team to create this wonderful open source eco system.
I work for a company that creates Odoo ERPs for clients. In comparison to Django and Flask, Odoo is extremely difficult. It’s not pythonic, with modules written by different people with different skills. It’s very heavy and full of bugs after a clean installation. In the case of some modules, it’s difficult to fully comprehend what’s going on in the code. If you don’t have a team of programmers, I don’t recommend using this system in a small business.,
- Odoo has a freemium model and it looks like it has done a great job of compartmentalising modules.
- I don’t trust the direction - given that it has changed multiple times. The current trend seems to be to push for a paid version. I don’t like that
- ERPnext’s biggest flaw was its lack of compartmentalisation. Separating core from other modules is a huge step forward
- I loved the mobile app - which seems to have gone away. Perhaps a wrapper app that redirects to the browser would be nice.
- installation is a bit challenging - since its constantly evolving - as also backward compatibility. Have struggled a bit over the various upgrades
- Overall its easy to configure a new form and adding functionality is also straightforward.
I like ERPnext because of a mix of several things. Frappe framework + contextual knowledge build into modules + open source + community. The frappe academy is a great initiative as well.
Interested to know more in detail