# ERP5

ERP5 ist ein freies, auf dem Zope Application Server basierendes Enterprise-Resource-Planning-System. Es wird größtenteils in der Programmiersprache Python entwickelt und der Quellcode steht unter der GNU General Public License frei zur Verfügung. Hinter der Entwicklung von ERP5 steht das französische Unternehmen Nexedi, welches auch Consulting, Implementierung und Training zu ERP5 anbietet. ERP5 existiert in zwei Versionen:
* ERP5 Enterprise wird in großen Projekten eingesetzt, in denen vor allem kundenspezifische Anforderungen und Neuentwicklungen im Mittelpunkt des Interesses stehen.
* ERP5 Express ist eine auf die Anforderungen von kleinen Unternehmen zugeschnittene Version von ERP5, welche als Software as a Service für eine monatliche Gebühr bereitgestellt wird. ERP5 Express umfasst HR und CRM, zu Beginn des Jahres 2008 folgten Accounting und DMS-Funktionalitäten.

## Architektur

Die 5 in ERP5 steht für die fünf Grundprinzipien, welche die saubere Abstraktionsschicht von ERP5 realisieren. Diese fünf Grundprinzipien, zu finden in dem Buch Beautiful Code, sind:
* Resource. Eine Ressource (Resource) beschreibt eine abstrakte Ressource in einem Geschäftsprozess wie z. B. die Fähigkeit eines Mitarbeiters, eine Währung, ein Rohmaterial oder ein Produkt.
* Node. Knoten (Nodes) können Ressourcen senden und empfangen. Sie können sich auf physikalische Entities (z. B. eine Werkstatt, die Rohmaterialien erhält, weiterverarbeitet und das so erstellte neue Produkt versendet) oder auch abstrakte Entities wie beispielsweise Konten, die Geld erhalten können, beziehen.
* Movement. Diese Klasse beschreibt Bewegungen (Movements) von Ressourcen zwischen zwei Knoten während eines Zeitpunktes und über eine gegebene Zeitspanne hinweg. Eine Bewegung kann beispielsweise Rohmaterialien aus einem Lager in eine Werkstatt oder auch Geld von einem Konto auf ein anderes senden.
* Path. Ein Pfad (Path) beschreibt einen Weg über den ein Knoten auf eine Ressource, die er benötigt, zugreifen kann. Preise und Profile können an einen Pfad angehängt werden, um den Standardpreis für eine Ressource, die von einem im Profil spezifizierten Hersteller bezogen wird, festzulegen. Pfade können auch festlegen, wie eine Werkstatt die benötigten Materialien aus einem Lager beschafft. Pfade besitzen einen Anfangs- und einen Endtermin und können die temporäre Zuweisung einer Person zu einem Projekt abbilden.
* Item. Ein Element (Item) ist die physikalische Instanz einer Ressource. Eine Bewegung kann über Elemente in eine Serie verfolgbarer Bewegungen erweitert werden. Elemente definieren auch, wie Ressourcen versendet werden (z. B. via Paket oder durch das Auflisten von Seriennummern der Elemente in jedem Container).

## Business Templates
### Funktionalität

ERP5 stellt die Geschäftslogik in Form von so genannten Business Templates bereit. Momentan wird die folgende Funktionalität vom System bereitgestellt:
* Accounting bietet vielfältige Transaktionen im Bereich Buchhaltung und Rechnungswesen wie z. B. multi-key analytical accounting, multidimensional budget accounting, activity based accounting, project accounting, previsional accounting sowie Asset- und Cashmanagement und generische Reports.
* Immobilisation erweitert die Accounting Business Template um Rückstellungen und Abschreibungen.
* Payroll ist eine Erweiterung von Accounting für das automatisierte Erstellen von Gehaltsabrechnungen.
* Budget erweitert Accounting um die Möglichkeit Budgets zu planen, zu erstellen und zu verwalten.
* Product Data Management (PDM) stellt eine transparente Verwaltung von Produkten bereit.
* Trade enthält alle nötigen Elemente um den Ein- und Verkauf abzubilden. Diese Business Template unterstützt unter anderem Lieferlisten, Lieferungen, Transporte und Fracht und Inventarverwaltung.
* Material Requirement Planning (MRP) enthält alle für das Management einer Produktionsstätte benötigten Elemente. Diese Business Template unterstützt Stücklisten, Produktbestellungen, Produktionsreports, Material Requirements Planning und komplexe Supply Chains.
* Customer-Relationship-Management (CRM) stellt alle für das Customer-Relationship-Management notwendigen Funktionalitäten bereit. Enthalten ist unter anderem: Das Verfolgen von Kundenentwicklungen, die Verwaltung von Beziehungen zwischen Kunden und Organisationen, kundenbezogene Ereignisse sowie ein Ticket Management System für Geschäftsmöglichkeiten, Supportanfragen, Beschwerden und Mahnungen.
* Project bietet Unterstützung für die Projektplanung und Projektkostenanalyse sowie projektbezogene Rechnungserstellung.
* DMS stellt unter Verwendung von Workflows alle für das Dokumentenmanagement notwendigen Funktionalitäten bereit. Es wird insbesondere auf die Unterstützung von offenen Dokumentenstandards Wert gelegt. Neben den offenen Standards werden auch alle gängigen proprietären Formate (.doc, .xls etc.) unterstützt.

### Geschäftsfeldspezifische Business Templates

* Das Apparel Business Template bietet eine Erweiterung von ERP5, die auf die Anforderungen der Bekleidungsindustrie zugeschnitten ist. Diese Erweiterung unterstützt unter anderem unterschiedliche Stoffe, Modelle, Farben, Formen, Strukturen und Kollektionen und nutzt dazu das Konzept der Variationen.
* Banking ist auf die Anforderungen einer Zentralbank im täglichen Betrieb zugeschnitten. Dieses Business Template bietet Unterstützung für das Aushändigen und Entgegennehmen von Bargeld, entfernen von Geld aus einem Konto, Transfers zwischen Konten, Bezahlungen per Scheck, Verwendung unterschiedlicher Währungen, sowie die Verwaltung der Lagerbestände von Geld und Goldreserven in unterschiedlichen Tresoren. Unterstützt werden sowohl Konten als auch Geld und Goldreserven in einer oder mehreren Filialen sowie das automatische Erstellen der notwendigen Buchungsfälle über Schnittstellen zu Buchhaltungssoftware von Drittanbietern.

### Business Templates für Entwickler

* ERP5 Web wird für das Veröffentlichen über das Web genutzt und kann verwendet werden um jedes beliebige ERP5-Objekt in einem maßgeschneiderten, webbasierten Design und Layout darzustellen.
* ERP5 XHTML Style stellt die Basis des weborientierten Designs von ERP5 dar und verwaltet die unterschiedlichen Darstellungsarten (list, dialog, view) und den Renderingprozess.
* ERP5 Forge bietet Werkzeuge für Softwareentwickler wie Bugtracking, Subversion-Unterstützung und ein Modul für Uploads. Darüber hinaus gibt es Business Templates für PDF- und OpenOffice.org-basierte Reports und automatisierte funktionale, Regressions- und Benutzerschnittstellen-Tests.

## Internationalität

Die ERP5-Benutzeroberfläche basiert auf dem UTF-8-Standard und bietet eine vollständige Unterstützung von Übersetzungen und Anpassungen an lokale Besonderheiten. Asiatische Sprachen und Regionen werden vollständig unterstützt. Die Standardsprache von ERP5 ist Englisch, es existieren jedoch auch Übersetzungen in Französisch, Japanisch und Polnisch sowie spezielle Anpassungen der Accounting Business Template für den French General Accounting Plan, French M9, French M14 und für indische Gesetze.

## Unabhängigkeit

Da ERP5 Open-Source-Software ist, haben die Benutzer die komplette Kontrolle über ihr System. Ein Risiko von erzwungenen Aktualisierungen existiert nicht und es gibt eine lebenslange Garantie auf die Wartbarkeit. Darüber hinaus ist man nicht gezwungen bei demselben Hersteller oder Dienstleister zu bleiben. Weil ERP5 webbasiert ist und auf dem Zope Application Server aufbaut sind sowohl der Client als auch der Server plattformunabhängig. Alle Datenbanken, die eine ODBC-Schnittstelle bereitstellen, können mit ERP5 verwendet werden.