Can I make a humble suggestion, which is to actually set up an instance and see for yourself if frappe/erpnext suits your needs? I think there are about 80 different understandings of what “integrated” means floating around in this thread, many of which have no bearing on how Frappe/ERPNext actually works.
A bit of hands on time will go a long way towards understanding if Frappe will suit your needs, in a way that reading these discussions likely won’t.
I love the vision @rmehta. In my opinion, Frappe could be vaulted significantly towards your stated goals, even in its current state, with two additions:
A visual automation tool (think n8n inside Frappe).
Formula fields supporting excel-style syntax for calculations on both forms and lists.
Salesforce provides a fantastic proof of concept for both.
I say this from real-life experience developing apps based on Frappe, where most of the scripting I do on a regular basis would be almost completely resolved if these two features were available.
And while we’re on the subject… formula fields provide an easy illustration of where I hope the platform goes with metadata-based development. A huge portion of the scripting that currently exists in ERPNext doctype-specific scripts (python and javascript) could be consolidated into metadata if the model were extended further. Dynamic visibility/mandatory field conditions, rule validity conditions, child/parent calculations, document states and their definitions, could all be defined in the metadata instead of doctype-specific scripting. Not only could this accelerate development, it could also pave the way to a variety of frontend interfaces on the underlying model (web, mobile/flutter, desktop, TUI, etc) without platform-specific re-implementations of each Frappe app.
[quote=“batonac, post:63, topic:121404”]
A visual automation tool (think n8n inside Frappe).
We are using N8N to connect Frappe with other apps, it will be great to understand your perception of incorporating n8n type UI or N8N sitting inside frappe; what we can achieve with ease will be helpful for the communication across
Well there’s nothing quite like a native tool. I expect that third-party solutions like n8n will continue to excel for integration automations between systems, but a frappe-native tool that’s built around the Frappe document actions and dataset would be swell. Again Salesforce Flows are even closer to what I’d hope for.
Re this issue in general and @rmehta 's post above. One of ERP’s key strenghts is the sheer number of business objects it has. And the relationhsip between them
One option, could be to de-couple the UI from the logic. The back end then becomes business objects communicating with a databse and the front end would be “just another UI” - calling these business objects. Frappe’s UI already allows us to make data calls.
This would mean that the UI, however it’s done technically would be making calls like (psuedo code):
const salesOrder = new SalesOrder(customer)
try {
salesOrder.create()
} catch (CustomerCreditLimitExceededError){
// customer doesn't have enough credit.... handle this case
... and so on ....
I think this type of approach has been tried a few times by various vendors, over the years, but maybe its time has come???