I have been reviewing the main open source ERP products. I require that an ERP provides financial accounting, sales, procurement, manufacturing/warehouse, and inventory features. I have been looking at what is supported within each of those features, interacting briefly with their demos, looking at their high level technical architecture, and sampling some of their source code.
I hope to find a system that is not too bloated with overly complex libraries, exhibits some layering that separates persistence, domain logic, and presentation (MVC as well is optional), is not very cumbersome to customize or extend, and that exhibits a somewhat clean, well thought out relational table structure. Essentially, something half way between primitively organized php or client/server and bloated J2EE. I also favor a well designed system with some features missing over a poorly designed system that covers all the features I need.
Questions I hope to answer below:
OpenERP - elegance and simplicity. Python, Javascript. Very well layered and modularized, yet uses lightweight frameworks. Only wish it didn't use a ORM. Tech overview. Key documents: . Source repos: server, addons, web, or all-in-one. Key source directories: /openerp/addons
erpNext - interesting. Python. a little less modularized than OpenERP. Tech dependencies, structure, web notes framework overview. Key documents: . Source repo and web notes framework repo. Key source directories:
OpenBravo - well layered, somewhat heavyweight frameworks used. Java. Tech overview. Key documents: . Source repo. Key source directories: /src-db/database/model, /src/erpCommon/[info, ad_process, ad_callouts, ad_actionButtons, ad_forms, ad_reports], /src/org/openbravo/erpReports
opentaps - well layered, heavyweight frameworks. Java. Tech overview. Key documents: . Source repo. Key source directories: /application/*/[data, entitydef, servicedef, src, scripts, webapp, widget], /opentaps/[crmsfa, financials, purchasing, warehouse]
PostBooks - somewhat simple implementation, with decent organization, but wish it had more layers. Some nice use of objects in the GUI client. I don't like the heavy use of pgpsql database programming language and inline sql in client code. C++, Pgpsql, Javascript. Tech overview. Key documents: . Source repo. Key source directories: /xtuple/[guiclient, share/reports], /xtuple/[functions, metasql, misc/postbooks_empty.backup, triggers, types, views]
WebERP - really simple implementation, meant for anybody to be able to modify it. That also means its not that well layered or modularized. Procedural PHP, no frameworks. Tech overview foundations and structure. Key documents: . Source repo. Key source directories: /, /includes, /sql/mysql/weberp-new.sql