# Metasfresh

Metasfresh is an open-source, free ERP software designed and developed for SMEs. Metasfresh is an actively maintained fork of ADempiere and can be used and distributed freely. It does not require a contributor license agreement from partners or contributors. While numerous open-source ERP projects exist, Metasfresh was included in the Top 9 Open Source ERPs to Consider by opensource.com.

## History

In September 2006, the founders of Metasfresh started with open-source ERP development as early contributors to the ADempiere ERP Project. They were founding members of the ADempiere Foundation and longtime members of the Functional and Technical Team at ADempiere. In industry-specific ERP projects in the SME sector, they developed several new features based on ADempiere 3.5.4. They rewrote large parts of the ADempiere sourcecode to try to provide more scalable software for midsize companies. These fundamental differences to the original ADempiere codebase were a motivation for the founders to create a fork from ADempiere in 2015 called Metasfresh.
The code was released to the public on October 6, 2015. According to Open Hub statistics, Metasfresh is one of the most active open-source ERP projects worldwide.

## Technology
### Software & Architecture

Metasfresh is written in Java, JavaScript scripting language and works with PostgreSQL database management system. The development repository is publicly available on GitHub. It is composed of Client and Server components. The main Client is a Java Swing User Interface and available for production environments. Currently, a new web interface is under development.
Used Technologies:
* Web-Frontend: HTML5, PostCSS, JavaScript, React, Redux
* Java-Frontend: Java 8, Swing Java
* Application Server: Tomcat, Spring Framework, OpenJDK, JasperReports
* Database: PostgreSQL 9.5
* Integration: ServiceMix, RabbitMQ, ActiveMQ, Camel
* API: REST, JSON, Swagger, Spring Framework, Hazelcast, Elasticsearch, Kibana
* Mobile Application: Vaadin

### Business functionalities/ features

The feature List of Metasfresh covers many requirements of medium-sized enterprises for ERP software.
* Enterprise resource planning
* Contract management
* CRM
* Supply chain management
* Distribution resource planning
* Document automation
* Manufacturing resource planning
* Accounts payable
* Accounts receivable
* General ledger
* Sales
* Purchase
* Inventory
* Bank account management
* Payments management
* Shipping management
* Multi-Tenants
* Multi-Organizations
* Multi-Language
* Multi-Currency
* Multi-Account Schema

## Differences to the ADempiere Project

After the fork from Compiere, the ADempiere community followed the open-source model of the Bazaar described in Eric Raymond's article The Cathedral and the Bazaar. The development mainly relied on the architecture inherited from Compiere, which had a tight coupling to the database. The license of ADempiere is GPL 2. Open-source projects with licenses compatible with GPL 2 are decreasing.
With the fork, metasfresh's main aims for the project are:
* Building a modern architecture and decoupling the application from the data layer to extend automatic testing while also extending functionality.
* Completely rewriting the ADempiere code to allow to switch the license from GPL2 to GPL3 for further incorporation and development.
* Consequent usage of tools to enable efficient work from requirements analysis over development and testing until build and deployment.
* Provide a framework based on a new disposition framework that allows functional extension points to allow external systems to bind with metasfresh ERP.
Currently, the time between stable releases, including bug fixes and new features, is one week, according to the project's release notes.