Integration approach
Having looked at this briefly, I think it could be improved a lot. I really like the embedded page idea (though the Frepple settings URL is not used), but replicating all the data into other doctypes isn't the way to go.
- For Pages that don't have an ERPNext equivalent, create an embedded page. Even better if you can embed the whole frepple site in a single page! You can override the page template if necessary
- For Data that does have an ERPNext equivalent, implement a bidirectional sync (import & export routine) for each type that maps the fields to the correct ones, no need to create any doctypes
- For Data that does not have an ERPNext equivalent, implement a Virtual Doctype though frankly if you're embedding frepple in a page, why bother?
Yeah this isn't really production-ready. It translates the data multiple times:
- Once to copy it from ERPNext doctypes into your Frepple specific doctypes
- Once again on export
Rather than using frappe.db.sql for everything, have a look at the DB API Also you can schedule background sync jobs
HI!
This is definitely an impressive sharing to me because i never thought of such approach before. Virtual Doctype is a feature that I didn't notice and it seem like something that can ease most of my work. To be honest, this custom app work well in a tricky way and it was able to achieve what I want in my working company. Besides, the Frepple integration was also a minor part of my project, and this is why I did not have enough time to think of a better (easier or effective) approach. For future development, i would definitely apply your integration approach as the reference.
Thank you again for the sharing and I am grateful for the ideas!
So is this project finished as far as you are concerned? Are you maintaining it?
I have a client that might want to use it but I think it needs a lot more work. Would you be willing to accept PR's and a complete rewrite? For example I tried it on ERPNext v13 and think there are some serious problems. I think something to do with the urls used for your objects causing circular redirects or something.
Yeah, the project is considered finished (even though there still needs some sort of error checking which I haven't implemented).
Currently, I am not maintaining it anymore as my uni semester has begun. It was actually a project I working on during my winter break. Therefore, I will not be able to maintain this repository until my semester's end.
Regarding the issue you have mentioned, the ERPNext version that I had used was v12 and it work perfectly fine during the implementation in my company. I am not sure whether the ERPNext version causing the bug or is because of the URLs. By the way, which URLs you are referring to?
I continued to look at frepple and decided two things:
I need to look more into what use the community edition actually is. There is a huge difference between the community and enterprise editions and I'm not sure what the planner does and what useful output it produces in each case. The paid version looks awesome, but too expensive. Do you know of a good place to learn about the community edition functionality other than "try it"? Did your company use the enterprise edition and was it on-premise?
The integration would be better (in the long term) as directly with the frepple python module and ignore all the UI and data exchange. I managed to get the python module built and imported, so that could be used directly in ERPNext for running a plan. There are quite a few new views in v13 (calendar, gantt, kanban, charts, dashboards) so fairly sure it could be made very useful. Though really I'd like to port the frepple "solver" to pure python and ditch frepple altogether.
I just noticed navigating to some pages (sorry I don't have an example) the whole of ERPNext would crash. I think it might have triggered some kind of python level routing loop but didn't spend enough time to isolate it. I think it has something to do with your page and doctype objects having the same name, causing the same route.
Do you know of a good place to learn about the community edition functionality other than "try it"?
I think the best way to learn the community edition is trying it. It is quite difficult to find video online that can guide you (even if you found one, most of them is enterprise version). I believe the live demo provided by Frepple is a good place to start with.
Did your company use the enterprise edition and was it on-premise?
Nope, we are using community version only. You are right, from what I found enterprise edition do provide more functionality especially the demand forecast and plan editor. However, the price is quite high, thats why we only fit to the community edition for now.
I think it might have triggered some kind of python level routing loop but didn't spend enough time to isolate it
Sorry that I do not have any free time to check this issue now (kinda busy with my school stuff). I might not be able to debug the issue for you.
I continued to look at frepple and decided two things:
I need to look more into what use the community edition actually is. There is a huge difference between the community and enterprise editions and I'm not sure what the planner does and what useful output it produces in each case. The paid version looks awesome, but too expensive. Do you know of a good place to learn about the community edition functionality other than "try it"? Did your company use the enterprise edition and was it on-premise?
The integration would be better (in the long term) as directly with the frepple python module and ignore all the UI and data exchange. I managed to get the python module built and imported, so that could be used directly in ERPNext for running a plan. There are quite a few new views in v13 (calendar, gantt, kanban, charts, dashboards) so fairly sure it could be made very useful. Though really I'd like to port the frepple "solver" to pure python and ditch frepple altogether.
I just noticed navigating to some pages (sorry I don't have an example) the whole of ERPNext would crash. I think it might have triggered some kind of python level routing loop but didn't spend enough time to isolate it. I think it has something to do with your page and doctype objects having the same name, causing the same route.
Hello. Thank you very much for your feedback and comments. My sincere apologies as I did not pick up this issue that has been shared and I am glad that Drayang has proceeded to address some of your questions.
We have updated this repo with new developments on the frepple and ERPNext integrations here: https://github.com/msf4-0/ERPNext-Frepple-Enhanced-Integration
You could also actually use the docker setup that we have compiled here for integration between ERPNext and Frepple: https://github.com/msf4-0/IRPS-Enhanced-Frepple-Integration
We would be working on an integration for ERPNext V14 soon and not V13. I believe the integration would be very interesting. If you need more support, I would be glad to have a conversation with you. We are located in Malaysia and you can drop me an email at [email protected]. I would be happy to discuss further with you.
Thank you.
demand forecast
Demand forecast is also in the Community Edition with v8 of Frepple.
We would be working on an integration for ERPNext V14 soon and not V13
How did you get on with updates to support v14 @wenshyan ?
Hello everyone, I found you guys discussion very helpful. Including this one here https://github.com/frePPLe/frepple/discussions/444.
I came across a project that need some sort of advanced scheduling. And so, came across Frepple as it seem to be focusing on Odoo integration and see something about ERPNext here. So, I am thinking about using this integration for my ERPNext project.
Your conversation make me question if the community edition of Frepple good enough to use in real life? Do you think Frepple is already the best open source scheduling available?
Thanks for any hint.
By the way, @TurkerTunali good to see you here. :)