Query on the Purpose of Separate Apps vs. Frappe/ERPNext Integration

I think one major point that is being missed in this discussion is: what is the future of core ERPNext? The more features that can moved out of it into standalone apps, the less robust the monolithic ERPNext application becomes, and the more Frappe (company) resources get pulled away from ERPNext’s ongoing development.

It doesn’t really matter if they can co-exist within the same Frappe (framework) environment, if their data isn’t 100% shared, their UIs are different, and customization approaches vary, then they’re not really an integrated ERP. I know there’s talk of additional data exchange down the road, but to me that approach seems backwards.

Certainly, one can argue whether Odoo is really an open source ERP, but at least they got their architecture right: a fully modular approach where all apps can–and do–share the same database. The UI is also consistent, with the same customization options across all Odoo apps. Frappe (the company) seems to be moving the opposite direction, for better or worse.

1 Like

I suspect you know everything I’m about to say below, @DCRob, but I think you’re being a bit fast-and-loose with terminology here. That can be very misleading to people who don’t understand how Frappe/ERPNext works behind the scenes.

All apps in a Frappe instance use the same database. Full stop. If you create a new site and install CRM, Gameplan, ERPNext, and HRMS, there is only one database for all of them.

Frappe has a wonderful unified UI called Desk. It is the one UI to rule them all. It is robust, mature, and under very active development. The vast majority of things you can do in Frappe/ERPNext can be done only through the Desk. Recently, certain developers have been making specialized workflows tailored for particular workflows. These are opt-in. You can ignore them completely if they’re not useful to you. The Desk is no less powerful than it was before their release.


No grand shift in ERPNext’s functionality is taking place. Frappe Inc, the company behind the bulk of ERPNext’s development, has always been highly decentralized, with independent developers working on projects that interest them without much top-down control. That model will not suit everyone’s needs, but I’d argue it’s pretty beautiful to see in this day and age.

Actual issues raised here, as far as I can see, are just a few things:

  1. The new apps have in several instances recreated doctypes that already exist in core Frappe, leading to potential data duplication within a single database.

I agree fully that this seems like an unfortunate design decision. Gameplan in particular loses most of its utility, in my opinion, by not using core Frappe’s ToDo doctype for tasks. A few scripts written in Desk would make syncing these relatively straightforward, but it shouldn’t be necessary to do that.

  1. The new apps do not (yet?) have desired integrations with ERPNext.

The only specific missing feature I’ve heard named here is CRM Opportunity → ERPNext Purchase Order. I agree that’s a useful feature, and something that Rushabh has said is coming. Adding it to your own site in the meantime would be a relatively simple customization that can be made directly from the Desk.

  1. Frappe Inc is putting time and resources into things that I don’t value.

Yep. They don’t work for us. If you want them to add the features that you do value, there is a simple and established pathway for it. Or, you can add them yourself.

1 Like

Regarding sharing the same database, although that may be technically correct with regards to which MariaDB instance is being used by apps installed on the same Frappe server, I would not say that the new standalone apps on ERPNext share all the same primary tables. As you mentioned, there is data duplication and lack of interoperability, which is the primary gap an ERP is designed to solve.

And screen customization methodology differs between the standalone apps and ERPNext. So I guess we disagree on a couple points.

2 Likes

I am not a database expert, but it seems it will be very challenging to maintain a company database of this size, especially with so many duplicate tables and data from different applications…

1 Like

This statement doesn’t make any sense. You are providing a lot of misinformation in this thread. That’s not helpful to anyone.

It seems if the apps were all fully integrated sharing all the same data, and customization were identical in the standalone apps vs. Frappe/ERPNext, we wouldn’t be getting threads like this.

But I’m sure they’re just spreading misinformation also :wink:

I’ve heard there are ongoing efforts to tighten the CRM integration more, and eventually port Frappe (and therefore ERPNext) to the newer Frappe UI framework to make customization and the UI more consistent across applications. That would be a step in the right direction to help keep the ecosystem from getting too fragmented.

But if I were in charge of Frappe’s direction (which I’m not, and it the philosophy sounds like no one is in particular, which is fine…it’s their company!), I would have put more development efforts into trying to “modularize” the monolith, somewhat akin to Odoo-style, and improving the base UI, then you can make an improved CRM within that framework. I think with increasingly disparate code bases on separate projects, maintenance becomes tougher, not easier.

But maybe they’ll eventually bring everything back together and ERPNext will become stronger. Time will tell!

1 Like

You’ll have to explain what the misinformation is here. What’s the point of two apps that don’t share tables being part of the same database? Take ERPNext and the new CRM, for example. To the best of my knowledge, these two apps are currently not connected in any way and yet they share the same DB. In such a case as well as in cases where all that connects two apps is an API, you could just as well have two different databases. I’d argue this would be cleaner.

Maybe it’s easier understood if we talk about doctypes rather than tables. If I install two Frappe apps that don’t allow me to share (doctype) information between them, then it really doesn’t matter if they’re part of the same database. The regular user will not perceive these apps as being integrated in any way.

2 Likes

The misinformation is that (a) Frappe apps don’t share a database, and (b) Frappe instances no longer have a unified UI. Both of those statements are demonstrably incorrect.

I don’t have a lot of interest in or use for standalone apps either. I’ve said as much several times throughout this thread. I don’t speak for Frappe Inc, and I have no idea why they’ve wanted CRM to be standalone.

I will say, however, that it would likely take about 10 minutes in Desk to write a hook that would feed CRM Opportunities into ERPNext Sales Orders, if that’s the thing that’s missing. That’s always been the huge advantage that the Frappe framework offers. The shared data pool and unified UI make it easy to rapidly iterate any business logic you can imagine. None of that is going anywhere.

2 Likes

As I previously mentioned, the apps may technically share the same database, but don’t share all the same data (which you have acknowledged). And I never said Frappe instances don’t have the same UI. I said the standalone Frappe apps use the “Frappe UI” components (Vue 3/tailwind based), which ERPNext doesn’t, which means there is diversity in user experience and customization.

Sorry, I feel a bit like we’re running in circles, hopefully the above clarifies what I was trying to convey.

1 Like

Its for that reaseon, the client-rewrite is in progress. After a lot of processing, it could be a very good thing to separate two interfaces, one for the advanced system user (configurations, parameterisation, etc. and one for the end users/employees), but I don’t quite understand how it will affect essential documents such as invoicing, payments, etc.

Both the new client-rewrite and the convergence of the apps (the discussion of how they will link CRM, Helpdesk, etc.) is supposed to be revealed in October.

3 Likes

Hi all:

Many users can now use CRM easily because it’s a separated app. Fight against the whole “monster” ERPNext would be challenging, so I think is a good decision.

Maybe this new apps are a good “lab” too for FrappeUI and upcoming Frappe Desk client rewriting. Anyway, CRM creator and maintainer, have publicly talked about plans to “connect” CRM with ERPNext. Hope Helpdesk will take the same way.

Other new apps like Insights, Drive, etc … have total sense as separated apps, with proper ERPNext connection.

This is my humble POV.

3 Likes

The move toward a unified interface and more interactivity between modules sounds promising. Hopefully in October the overall product development strategy will become clearer.

If the eventual outcome is that the ERPNext monolith is broken into separate modules, some of which can operate independently, fine by me, as long as there is no duplication of data and the user experience is consistent across modules. There is no technological barrier to applications sharing tables when installed together, or operating independently if not. As I mentioned earlier, that would be more analogous to Odoo’s architecture, which IMHO has been largely responsible for that product’s success.

@avc I want to believe that they are not going to leave it up to each developer who maintains the app to decide how to connect it.

The deeper conversation about how to handle key documents that can converge (contacts, to give an example seen in the discussion) is what Frappe should be proposing. Today there are few apps in this situation (CRM, Helpdesk and not much else) but can you imagine if each one takes this decision separately where we will see Projects, Manufacturing, Credits, HRMS in the near future with this UI and maybe separate?

I have always found it difficult to understand the position of not being transparent in certain aspects towards the community(customers its a better term). You have to understand that the low adoption of CRM and Helpdesk (which already has its time) is that no one can be clear about the horizon (are they integrated? is there a more general position as the one I raise? etc), and no company can take big decisions with this uncertainty.

I know, it’s free software, take it or leave it, but I see this kind of thing as the saying of shooting yourself in the foot. I think this v16 is going to be key, and if this game changer is well organised, the future looks very promising for Frappe.

2 Likes

This is pretty much exactly how Frappe Inc works, though, at least as I understand it.

1 Like

I know, that’s why I want to believe that something that could involve the way everyone connects, could go beyond individual decisions.

I have a confession to make … I’m a (almost) new user. First time I knew Frappe and Frappe’s way to do things I got really scared: Aparently chaos, improvisation and many contradictions … Even I didn’t totally trust, as I thought that was not possible to run (more or less successfully) that way.

After this 3 years, just to say that I’ve never seen more transparency in any company. I think that Frappe Technologies don’t always know what to do. This is exactly I expect, because I don’t always know what to do either.

I love Frappe for what they do and how they do it. Maybe isn’t the canonical way to do business things, probably it will not reach many success on Linkedin :wink: and they are not going to become billionaires (I’m beginning to suspect they don’t want to … :joy: :joy:) But looking at all that they built until now … seems it works. Don’t you?

9 Likes

Up until the last couple years, the answer would be definitely! But I do worry now about fragmentation of the ecosystem and neglect of the flagship ERPNext product.

For that reason, I’m taking a closer look at Odoo for customers. Although they’re not open source to the same degree as ERPNext and have a couple hundred million dollars of venture capital that’s going to need a return on investment sooner or later (i.e. prices will eventually start going up for their enterprise edition), they’ve remained exclusively focused on enhancing and expanding their core ERP offering.

1 Like

So basically you are afraid of many other people’s decisions.

There is no way to fix this.

Unless you want all these other people to submit to decisions of a leader endowed with forcing power. Consequence: Freedom destroyed.

The only solution is to grow up together and learn to love and to trust in order to work together for the common good and joy. That’s the unavoidable cost of the Real Freedom we are made for and, let’s be honest, also long for.

1 Like

This is what we discussed in our last internal team meeting.

The current state of affairs is:

  1. We have Framework Desk UI which is extremely feature rich but offers very little “composability” in terms of layouts / UI
  2. On the other end of the spectrum is “Frappe Builder” which is very composable but not feature rich from an application development framework POV.
  3. We have Frappe UI, which is a component design library that can connect the two - what we need is a new UI platform that will give you the richness of the Desk UI with the composability of the Builder.

The long view

The way software applications are built today is totally broken. You have to learn so much to build a simple app - client side, server side, infra, databases, CSS, auth, permissions, etc. Learning CSS is like learning byte code in the 90s.

What we realise people love about ERPNext is the customisability of the Framework. For us fixing these fundamental problems is very important. Framework is great, but can be so much more better looking at the current crop of low-code (toy like) tools. So we will try and take a stab at fixing the holy grail - “Let’s make it application development simpler” with a visual builder, schema designer, data manager, permissions manager all baked in with a “one click publish” platform.

Also we are not in a hurry. It may take us 10 more years to fix these problems, so be it.

What about ERPNext?

ERPNext continues to be a core focus - we have entered into a partnership with Resilient Tech @snv and @Smit_Vora who are better equipped to build out the ERP features. They are both trained accountants (unlike folks at Frappe) and proved themselves with the amazing India Compliance app. Along with this @nabinhait @rohit_w and @Ruthra from Frappe are committed to take ERPNext forward along with a bunch of new hires. This is also a big change in direction where we are working more closely than ever with the community to build out the product. We would love to work with more folks (making regular contributions is a great way to start) in the community and ideally the “most capable” person should be the one driving the project foward, whether that person is from Frappe or not.

New products

The new products are built without any legacy. We see each of them (Helpdesk, CRM, LMS, Website Builder, Insights BI, Drive, Wiki, Gameplan) as a different product category and they should be built to solve those problems. They are still very “young” and we hope that will soon be drivers of this community as much as ERPNext. Any connectivity to ERPNext will be Phase II. Also there are no plans to remove the basic CRM, Support, Projects modules from ERPNext itself.

From Frappe’s POV, we will try and solve as many problems as we can while building a sustainable + 100% FOSS product. The enhanced focus is probably more on quality than anything else at this point.

In the short run, some things may go fast / slow. But the overall vision is to fix deeper problems in the app development space, while building out ERP and a bunch of other products.

24 Likes

@rmehta Thank you for this summary. For the short term do you plan to finish the migration of the Desk UI to the Frappe UI / Vue based solution (client-rewrite branch)?

4 Likes