Hochschule Deggendorf für angewandte Wissenschaften
-Fachhochschule DeggendorfFakultät Betriebswirtschaft und Wirtschaftsinformatik
(Bachelor-Studiengang Wirtschaftsinformatik)
Evaluation und Implementierung des
Open Source ERP-Systems „OpenERP“
in einem Start-Up-Unternehmen
Evaluation and implementation of the
open source ERP system „OpenERP“
in a startup company
Bachelorarbeit zur Erlangung des akademischen Grades:
Bachelor of Science
an der Hochschule Deggendorf
VORGELEGT VON:
PRÜFER:
Stefan Feilmeier
Prof. Dr. Josef Schneeberger
geboren am 8. Juni 1986
Donaulände 19, 94544 Hofkirchen
AM: 28. September 2012
Dieses Werk bzw. Inhalt steht unter
einer Creative Commons
Namensnennung Weitergabe unter gleichen
Bedingungen 3.0 Unported Lizenz.
Kurzfassung
Anhand des Start-Up-Unternehmens FENECON GmbH & Co. KG dokumentiert diese Bachelorarbeit die Evaluation und anschließende Implementierung des Open Source ERP-Systems
OpenERP.
Traditionell waren hochintegrierte Sowaresysteme, sogenannte ERP-Systeme, aufgrund ihrer
Komplexität und der hohen Kosten nur Mielständlern und Großunternehmen vorbehalten.
Das heißt, dass in diesen Unternehmen mindestens einmal – sobald sie die kritische Größe ür
ein ERP-System erreicht haen – eine aufwendige ERP-Sowareimplementierung mit Datenmigration erforderlich war. Diese Projekte bergen neben enormen Kosten auch ein nicht zu
verachtendes betriebswirtschaliches Risiko, wie die Insolvenz des Unternehmens American
LaFrance1 zeigt.
Die Open-Source-Soware „OpenERP“ stellt diesbezüglich eine interessante Alternative dar.
Das freie Lizenzmodell ermöglicht es, in einem neu gegründeten Unternehmen mit geringem
Budget schon von Beginn an grundlegende Geschäsvorälle in einem ERP-System abzubilden,
welches im Laufe der Zeit modular mit dem Unternehmen wachsen kann.
Nach einer gründlichen Begriffsdefinition und -abgrenzung sowie einer Abwägung der Sowarealternativen wird das System anhand von betriebswirtschalichen und informationstechnischen Parametern analysiert und die anschließende Implementierung von OpenERP beschrieben. Ein beispielhaer Ablauf „Vertriebsprozess eines LED-Projekts“ und ein abschließendes
Resümee runden die Arbeit ab.
1
2
vgl. Computerwoche (ERP-Migration fehlgeschlagen: Mit Blaulicht in die Insolvenz)
Inhaltsverzeichnis
I.
Einleitung
6
1. Zielsetzung und thematischer Aufbau der Arbeit
7
2. Die Firma FENECON GmbH & Co. KG
8
II. Theoretische Grundlagen
9
3. Begriffsdefinition und -abgrenzung
3.1. ERP-System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Open-Source- und Closed-Source-Soware . . . . . . . . . . . . . . . . .
3.3. On-Premise-Installation und Soware-as-a-Service . . . . . . . . . . . .
3.4. Abgrenzung von Start-Up-Unternehmen zu anderen Unternehmenstypen
4. Soware zur Steuerung eines Start-Up-Unternehmens
4.1. Anforderungskatalog an ein Sowaresystem . . . . . . . . . . . . . . .
4.1.1. Anforderungskatalog bei Unternehmensgründung . . . . . . .
4.1.2. Zukünige Anforderungen an die Unternehmenssoware der
FENECON GmbH & Co. KG . . . . . . . . . . . . . . . . . . . .
4.2. Sowarealternativen . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1. Office-Paket . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.2. Kaufmännische Soware ür Kleinst- und Kleine Unternehmen
4.2.3. Mielstandssoware . . . . . . . . . . . . . . . . . . . . . . . .
4.2.4. Open Source ERP-Systeme . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
10
10
11
13
14
. . . .
. . . .
16
16
17
.
.
.
.
.
.
17
19
19
20
22
23
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
III. Evaluation von OpenERP
5. Funktionalität
5.1. Abdeckung unternehmerischer Funktionsbereiche
5.2. Konkrete Anwendungsälle . . . . . . . . . . . . .
5.2.1. Im Vertrieb . . . . . . . . . . . . . . . . .
5.2.2. In der Buchhaltung . . . . . . . . . . . . .
25
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
26
26
29
30
31
3
5.2.3. In der Lagerverwaltung . . . . .
5.3. Anpassung von Geschäsprozessen . . .
5.4. Erweiterungen im „Enterprise App Store“
5.4.1. Reporting . . . . . . . . . . . . .
5.4.2. E-Business . . . . . . . . . . . . .
5.5. Referenzen . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
32
33
35
35
36
36
6. Implementierungsunterstützung und Support
6.1. OpenERP s.a. in Belgien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2. Dienstleistungspartner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3. Online-Community . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
38
38
39
7. Systemarchitektur
7.1. Sowarekonzeption . . . . . . . . . . . . . . . . . . . .
7.1.1. Client-Server- und Drei-Schichten-Architektur
7.1.2. Objektrelationaler Mapper . . . . . . . . . . . .
7.1.3. Modularität . . . . . . . . . . . . . . . . . . . .
7.1.4. Mehrbenutzerähigkeit . . . . . . . . . . . . . .
7.1.4.1. Transaktionssicherheit . . . . . . . .
7.1.4.2. Sperrverfahren . . . . . . . . . . . .
7.1.4.3. Berechtigungssystem . . . . . . . . .
7.1.5. Schnistellen . . . . . . . . . . . . . . . . . . .
7.1.5.1. CSV . . . . . . . . . . . . . . . . . . .
7.1.5.2. XML-RPC . . . . . . . . . . . . . . .
7.1.5.3. Direkter Datenbank-Zugriff . . . . .
7.1.5.4. E-Mail-Gateway . . . . . . . . . . . .
7.2. Basistechnologien . . . . . . . . . . . . . . . . . . . . .
7.2.1. Datenbank: PostgreSQL . . . . . . . . . . . . .
7.2.2. Programmiersprache: Python . . . . . . . . . .
7.2.3. Auszeichnungssprache: XML . . . . . . . . . .
7.3. Anpassungs- und Erweiterungstechnologien . . . . . .
7.3.1. Personalisierung und Customizing . . . . . . .
7.3.2. Module . . . . . . . . . . . . . . . . . . . . . .
7.3.3. Modifikation des ellcodes . . . . . . . . . . .
40
40
41
42
42
43
43
44
44
45
45
45
46
47
47
47
48
48
49
50
50
51
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
IV. Implementierung
8. Installation
8.1. Datenbank (PostgreSQL) . . .
8.2. Applikationsserver (OpenERP)
8.3. Reporting (LibreOffice) . . . .
8.4. Client-PCs . . . . . . . . . . .
4
52
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
53
53
54
56
57
9. Vorbereitung zur Inbetriebnahme
9.1. Anpassung des Reportings an das Corporate Design . . . . . . . . . . . . . . .
9.2. Anpassung der Nummernkreise . . . . . . . . . . . . . . . . . . . . . . . . . .
58
59
60
10. Workflow: Vertriebsprozess für ein LED-Projekt
10.1. Angebot und Aurag . . . . . . . . . . . . . . .
10.2. Lieferung . . . . . . . . . . . . . . . . . . . . . .
10.3. Rechnung . . . . . . . . . . . . . . . . . . . . .
10.4. Bezahlung . . . . . . . . . . . . . . . . . . . . .
61
62
64
64
65
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
V. Resümee
66
11. Zusammenfassung
66
12. Ausblick
67
VI. Verzeichnisse
68
Literaturverzeichnis
69
Abbildungsverzeichnis
73
Tabellenverzeichnis
75
VII. Anhang
76
A. Die Definition quelloffener Soware („Open Source Soware“)
77
B. OpenERP Startskript (/etc/init.d/openerp-server)
80
C. LibreOffice Startskript (/etc/init.d/libreoffice-headless)
82
D. Rechnungserstellung mit Aeroo Reports
D.1. Ausschnie des Report-Parsers (parser.py) . . . . . . . . . . . . . . . . . . . .
D.2. LibreOffice-Vorlage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
84
84
84
E. Belege im Vertriebsprozess
E.1. Verkaufsaurag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
E.2. Lieferschein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
E.3. Rechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
87
87
87
87
5
Teil I.
Einleitung
Integrierte Sowaresysteme können ein entscheidender Baustein ür langfristig erfolgreiches
unternehmerisches Handeln sein. Richtig eingesetzt erhöhen Sie die Effizienz und verringern
die Fehleranälligkeit betriebswirtschalicher Prozesse. Das Fraunhofer PMI schreibt dazu in
einer Studie:
„Nowadays, information technology is unavoidable in every part of life and business management is also not an exception. One of the most widespread solutions is
the use of enterprise resource planning (ERP) systems that has proved to support
the integration and automation of the processes, the improvement of the performance, and the reduction of costs.“2
Aufgrund der komplexen Einührung und Wartung in Verbindung mit den erheblichen Kosten waren sie aber traditionell nur den großen Konzernen vorbehalten. Seit einigen Jahren
versuchen die großen Sowareanbieter neue Absatzmärkte zu erschließen und sprechen daher zunehmend auch mielständische Unternehmen an. Für Unternehmensgründer stellt sich
trotzdem weiterhin die Frage, mit welchem System der Geschäsbetrieb gestartet werden soll.
Die Studie ergänzt:
„Yet, several mostly small and medium enterprises (SME) cannot afford the time,
the uncertainty and the resources that are required by the implementation of an
ERP system.“3
Diese Arbeit beschäigt sich daher mit der Frage, inwieweit sich ein ERP-System ür StartUp-Unternehmen eignen kann und propagiert die Idee, von Beginn an ein Open Source ERPSystem als Unternehmenssoware ür Start-Up-Unternehmen einzusetzen.
2
3
6
Schatz, Egri und Sauer (Open source ERP - Reasonable tools for manufacturing SMEs?, Seite 7)
Schatz, Egri und Sauer (ebd., Seite 7)
1
Kapitel 1.
Zielsetzung und thematischer Aufbau
der Arbeit
Ziel ist, dem neu gegründeten Unternehmen FENECON GmbH & Co. KG von Beginn an die
Basisfunktionalitäten einer integrierten Soware zur Verügung zu stellen. Zu den erhoen
Vorteilen zählt zum einen, dass bereits ab dem Zeitpunkt der Gründung eine einheitliche Datenbasis zur Verügung steht, mit der Auräge, Kunden- und Artikeldaten, Lagerbestände usw.
zentral verwaltet werden können. Darüber hinaus soll das System mit dem Unternehmen wachsen können, um somit eine später notwendige, aufwendige „Operation am offenen Herzen“4
vermeiden zu können.
Die Struktur der Arbeit teilt sich konzeptionell in die Abschnie „eoretische Grundlagen“,
„Evaluation von OpenERP“ und „Implementierung“. Im Teil „eoretische Grundlagen“ wird
das große Feld kaufmännischer Soware, möglicher Lizenzmodelle und unterschiedlicher Unternehmenstypen so weit auf den vorliegenden Fall abgegrenzt und eingeschränkt, dass eine
sinnvolle, anforderungsnahe Evaluation ermöglicht wird. Auf dieser Basis werden neben der
betriebswirtschalichen Funktionalität im Teil „Evaluation von OpenERP“ auch die externen
Supportmöglichkeiten und die Architektur der Soware analysiert. Der Abschni „Implementierung“ stellt schließlich die notwendigen Schrie zur Installation und Inbetriebnahme dar
und zeigt beispielha die Abbildung eines Vertriebsprozesses im System. Das „Resümee“ am
Ende der Arbeit bietet eine Zusammenfassung und einen Ausblick auf die zukünige Entwicklung von OpenERP.
4
Hoppe (Soware ür den Überblick - Am offenen Herzen)
7
2
Kapitel 2.
Die Firma FENECON GmbH & Co. KG
Das Start-Up-Unternehmen FENECON GmbH & Co. KG
mit Sitz im niederbayerischen Deggendorf wurde vor dem
Hintergrund einer politisch und gesellschalich geforderten
Energiewende nach den Reaktorunällen in Japan im März
2011 gegründet.
Das kleine Team verfolgt die Vision einer „dezentralen Selbst-
Abb. 1.: Logo der FENECON
GmbH & Co. KG
versorgung“ auf den drei Säulen Energieerzeugung, -effizienz
und -speicherung. Dabei steht „Energieerzeugung“ ür eine dezentrale, erneuerbare und günstige Stromerzeugung
durch Photovoltaik, „Energieeffizienz“ ür die Reduzierung
der Stromnachfrage zu Nicht-Sonnenzeiten, vor allem durch LED-Beleuchtung, und „Energiespeicherung“ ür die kurzfristige (Tag/ Nacht) und langfristige (Jahreszeiten) Verteilung von
Stromlasten durch Stromspeichersysteme.
Für dieses ganzheitliche Konzept, mit dem der Wandel zu einer erneuerbaren und dezentralen
Energieversorgung unterstützt werden soll, wurde das Unternehmen im Jahr 2012 mit dem
Niederbayerischen Gründerpreis ausgezeichnet.
Die Firma FENECON vertreibt ihre Produkte über Mitarbeiter im Außendienst, den eigenen
Onlineshop unter www.leds-go-home.de und über die Verkaufsplaform „Amazon Marketplace“ und tri dabei sowohl als Einzel- als auch als Großhändler auf. Außerdem bestehen
intensive internationale Geschäsbeziehungen nach China, Bulgarien und in den Senegal.
8
Teil II.
Theoretische Grundlagen
Im Teil „eoretische Grundlagen“ werden die Hauptbegriffe, die in dieser Arbeit Verwendung
finden, definiert und insofern eingeschränkt und abgegrenzt, als dass im darauf folgenden Teil
eine sinnvolle und anforderungsnahe Evaluation ermöglicht wird.
Eine Abgrenzung ist deshalb erforderlich, weil neben ERP-Systemen verschiedenste Methoden zur IT gestützten Unternehmenssteuerung existieren, die sich bezüglich ihrer Komplexität
und Spezialisierung enorm unterscheiden. Einige ausgewählte Alternativen zum ERP-System
werden kurz mit ihren jeweiligen Stärken und Schwächen vorgestellt. Darüber hinaus sollen
kurz die wesentlichen Eigenschaen, Vor- und Nachteile von Open-Source-Soware dargestellt werden.
Um den Rahmen der Bachelorarbeit nicht zu sprengen, ist es außerdem unabdingbar, einige Einschränkungen vorzunehmen. So wird hier davon ausgegangen, dass eine Installation
„On-Premise“, also auf einem eigenen Server des Unternehmens, erfolgt, und nicht auf die
Dienstleistungen eines Soware-as-a-Service-Anbieters zurückgegriffen wird. Ebenso ist die
Arbeit klar auf „Start-Up-Unternehmen“ ausgerichtet, die sich in ihren Anforderungen an ein
Sowaresystem deutlich von anderen Unternehmenstypen unterscheiden.
9
3
Kapitel 3.
Begriffsdefinition und -abgrenzung
3.1. ERP-System
„Ein ERP-System ist eine komplexe Anwendungssoware zur Unterstützung der
Ressourcenplanung eines gesamten Unternehmens.“5
So kurz und verständlich erscheint die Definition des Begriffs „ERP-System“ in Wikipedia.
Deutlich detaillierter definiert Gablers Wirtschaslexikon:
„Ein Enterprise Resource Planning-System oder kurz ERP-System dient der
funktionsbereichsübergreifenden Unterstützung sämtlicher in einem Unternehmen ablaufenden Geschäsprozesse. Entsprechend enthält es Module ür die Bereiche Beschaffung, Produktion, Vertrieb, Anlagenwirtscha, Personalwesen, Finanzund Rechnungswesen usw., die über eine (in Form einer relationalen Datenbank
realisierte) gemeinsame Datenbasis miteinander verbunden sind. Durch die unternehmensweite Konsolidierung der Daten ist eine Unterstützung der Planung über
sämtliche Unternehmensebenen hinweg (von der Konzernebene über verschiedene Werke, Sparten und Abteilungen bis hin zu einzelnen Lagerorten) möglich.“6
Ein ERP-System ist demnach also eine mehrbenutzerähige, an unternehmerischen Geschäsprozessen ausgerichtete Anwendungssoware zur umfassenden, strukturierten Verwaltung
der Ressourcen eines Unternehmens auf Basis einer gemeinsamen Datenbank. Diese wesentlichen Punkte sind es auch, die ein ERP-System von den in Abschni 4.2 aufgezählten Sowarealternativen unterscheiden.
5
6
Wikipedia contributors (Enterprise-Resource-Planning)
Gabler Wirtschaslexikon (Definition: Enterprise Resource Planning-System)
10
3.2. Open-Source- und Closed-Source-Soware
Im Gegensatz zu sogenannter Closed-Source- oder Proprietärer Soware, dazu zählen die gängigen Programme wie z. B. „Microso Office“, deren Nutzung, Neuvertrieb oder Modifizierung
untersagt oder stark eingeschränkt ist, bezeichnet „Freie Soware […] Soware, die jedem die
Berechtigung gewährt, sie zu nutzen, zu kopieren und/ oder zu verbreiten, entweder unverändert oder mit Modifizierungen, gratis oder gegen ein Entgelt. Im Besonderen bedeutet das, dass
der ellcode verügbar sein muss.“7
Die Open Source Initiative (OSI) hat dazu einige Kritierien als verbindliche Merkmale von
Open-Souce-Soware8 (OSS) festgelegt.9
Freie Weitergabe: Die Lizenz darf niemanden in seinem Recht einschränken, die Soware
als Teil eines Soware-Paketes, das Programme unterschiedlichen Ursprungs enthält, zu
verschenken oder zu verkaufen. […]
ellcode: Das Programm muss den ellcode beinhalten. […]
Abgeleitete Soware: Die Lizenz muss Veränderungen und Derivate zulassen. […]
Unversehrtheit des ellcodes des Autors: […] Die Lizenz muss die Weitergabe von Soware, die aus verändertem ellcode entstanden ist, ausdrücklich erlauben. […]
Keine Diskriminierung von Personen oder Gruppen: Die Lizenz darf niemanden benachteiligen.
Keine Einschränkungen bezüglich des Einsatzfeldes: Die Lizenz darf niemanden daran
hindern, das Programm in einem bestimmten Bereich einzusetzen. […]
Weitergabe der Lizenz: Die Rechte an einem Programm müssen auf alle Personen übergehen, die diese Soware erhalten. […]
Die Lizenz darf nicht auf ein bestimmtes Produktpaket beschränkt sein: Die Rechte an
dem Programm dürfen nicht davon abhängig sein, ob das Programm Teil eines bestimmten Soware-Paketes ist. […]
7
Free Soware Foundation (Kategorien freier und unfreier Soware)
Der Ausdruck „Open-Source-Soware“ wird in dieser Arbeit bewusst synonym zum Begriff „Freie Soware“ im
Sinne ihrer eigentlichen, gemeinsamen Bedeutung verwendet.
9
Englische Originalfassung der Open Source Initiative (e Open Source Definition) bzw. deutsche Übersetzung
von Ronneburg (Debian GNU/Linux Anwenderhandbuch); Die Beschreibungen sind an dieser Stelle auf das Wesentliche gekürzt. Die vollständige Open Source Definition befindet sich in Anhang A.
8
11
Die Lizenz darf die Weitergabe zusammen mit anderer Soware nicht einschränken:
Die Lizenz darf keine Einschränkungen enthalten bezüglich anderer Soware, die zusammen mit der lizenzierten Soware weitergegeben wird. […]
Bekannte Beispiele ür Freie Soware, die diese Bedingungen erüllen, sind der Browser „Mozilla Firefox“, die Bürosoware „LibreOffice“ bzw. „OpenOffice“ und die vielen weiteren Anwendungen, die das Rückgrat des Internets bilden, wie z. B. der Webserver „Apache“.
Obwohl aus den Kriterien nicht hervorgeht, dass Open-SourceSoware notwendigerweise kostenlos bereitgestellt werden
muss, bleibt der bekannteste und offensichtlichste Vorteil ür die
Nutzer quelloffener Soware in den meisten Fällen die Einsparung von Lizenzkosten. Doch die umfangreichen Rechte, die dem
Nutzer von Open-Source-Soware zugesprochen werden, besitzen nicht nur unmielbare positive Wirkung, sondern bringen
auch eine Reihe von mielbaren Vorteilen mit sich. Ist nämlich
Abb. 2.: Logo der Open Sour„der ellcode vorhanden und die Weiterentwicklung durch jece Initiative
den hinreichend versierten Drien möglich, verliert die Insolvenz
eines Sowareherstellers oder Wartungsdienstleisters viel von ihrem Schrecken.“10 Studien von
Reasoning11 und Coverity12 bescheinigen Freier Soware außerdem eine hohe Codequalität. In
ihrer Begründung „given enough eyeballs, all bugs are shallow“13 folgen Sie der Argumentation
aus Eric S. Raymond’s Standardwerk „e Cathedral and the Bazaar“, in der dieser das collaborative Basar-Entwicklungsmodell als dem Kathedralen-Modell klassischer Sowarehersteller
überlegen ansieht.
Da die klassischen Vertriebsmodelle im Open-Source-Umfeld kaum Erfolg versprechend waren, haben sich im Laufe der Zeit einige innovative, alternative Geschäsmodelle entwickelt.
Raphael Leiteritz listet in seinem Beitrag zum Open Source Jahrbuch 200414 unter anderem das
Geschäsmodell der OSS-Applikationsanbieter, wie z. B. Apache (ehemals SUN bzw. Oracle)
mit OpenOffice oder der OSS-Dienstleister, wie z. B. OpenERP s.a. mit dem hier thematisierten
ERP-System. Dass die wirtschaliche Relevanz quelloffener Soware immer mehr an Bedeutung zunimmt, zeigt die Statistik in Abbildung 3.
10
BBS Rechtsanwälte (Open-Source-Soware im Unternehmen: Verpflichtung ür beide Seiten)
vgl. Reasoning LLC (How Open Source and Commercial Soware Compare, Seite 12)
12
vgl. Coverity Inc. (Open Source Code ality On Par with Proprietary Code in 2011 Coverity Scan Report)
13
Raymond (e Cathedral and the Bazaar: Musings On Linux And Open Source By An Accidental Revolutionary,
Seite 41)
14
vgl. Leiteritz (Open Source-Geschäsmodelle, Seite 139)
11
12
Abb. 3.: Prognostizierter Umsatz mit Open Source Soware in Europa in den Jahren 2008 bis 2020
3.3. On-Premise-Installation und Soware-as-a-Service
Ein Trend, der in den vergangenen Jahren entstanden ist, ist das sogenannte Cloud Computing.
Es „erlaubt die Bereitstellung und Nutzung von IT Infrastruktur, von Plaformen und von Anwendungen aller Art als im Web elektronisch verügbare Dienste. Der Begriff Cloud soll dabei
andeuten, dass die Dienste von einem Provider im Internet (bzw. im Intranet eines größeren
Unternehmens) erbracht werden.“15 Ein Teilbereich des Cloud Computing ist Soware-as-aService (SAAS), bei dem eine spezifische Sowareanwendung als Dienst vom Provider zur
Verügung gestellt wird.
Da das Angebot an hochwertiger, als SAAS bereitgestellter Unternehmenssoware ständig
wächst, ist es sinnvoll, über eine Auslagerung von Diensten in die Cloud nachzudenken. Dabei
müssen jedoch die Vor- und Nachteile16 sorgältig gegeneinander abgewogen werden.
Zu den Vorteilen von Soware-as-a-Service zählen:
Geringes Investitionsrisiko da ür die Sowareeinührung keinerlei IT-Hardware benötigt
wird und ausschließlich die Einührungsberatung berechnet wird
15
16
Baun u. a. (Cloud Computing: Web-basierte dynamische IT-Services, Seite 1)
vgl. Wikipedia contributors (Soware as a Service)
13
Transparente IT-Kosten da in der Regel nur ür die tatsächliche Nutzung der Soware bezahlt wird
Beschleunigte Implementierung durch die Standardisierung der SAAS-Lösung
Verringerung der IT-Prozesskomplexität indem Wartungsarbeiten, Updates und weitere
IT-Aufgaben durch den Servicegeber übernommen werden
Mobilität durch zeit- und ortsunabhängigen Zugriff über das Internet
Konzentration auf das Kerngeschä durch die Abtretung „lästiger IT-Aufgaben“
Die Nachteile dürfen aber gerade bei geschäskritischen Anwendungen nicht außer Acht gelassen werden:
Abhängigkeit von Servicegebern und damit die Gefahr, dass das System aus einem bestimmten Grund (z.B. Insolvenz, Ausfall der Internetanbindung) ausällt
Langsamere Datenübertragungsgeschwindigkeit als bei On-Premise-Lösungen im lokalen Netzwerk
Geringere Anpassungsmöglichkeiten durch hohen Standardisierungsgrad der SAAS-Lösung
Daten- und Transaktionssicherheit müssen geltenden Vorschrien und Gesetzen entsprechen und durch angemessene Sicherheitsmaßnahmen geschützt werden
Das ERP-System OpenERP wird von diversen Dienstleistern, unter anderem der Herstellerfirma selbst, als Soware-as-a-Service angeboten. Für die in dieser Arbeit betrachtete Implementierung wurde allerdings eine On-Premise-Installation auf einem lokalen Server vorgezogen, um eine intensivere Evaluation des Systems zu ermöglichen.
3.4. Abgrenzung von Start-Up-Unternehmen zu anderen
Unternehmenstypen
Üblicherweise werden Unternehmen anhand der Anzahl der beschäigten Personen, ihres
Jahresumsatzes und ihrer Jahresbilanzsumme in Unternehmensklassen eingeordnet. Die Kommission der Europäischen Union17 sieht folgende Einteilung vor:
17
EU-Kommission (Empfehlung der Kommission vom 6. Mai 2003 betreffend die Definition der Kleinstunternehmen
sowie der kleinen und mileren Unternehmen. (2003/361/EG)), Artikel 2 des Anhangs
14
Unternehmensklasse
Beschäigte
Personen
Jahresumsatz oder
Jahresbilanzsumme
Kleinstunternehmen
< 10
< 2 Mio €
Kleine Unternehmen
< 50
< 10 Mio €
Milere Unternehmen
< 250
< 50 bzw. < 43 Mio €
Tab. 1.: Mitarbeiterzahlen und finanzielle Schwellenwerte zur Definition der Unternehmensklassen
Diese Einordnung bezieht sich jedoch nur auf den aktuellen Zeitpunkt und lässt eine zeitliche Entwicklung außen vor. Damit eignet sie sich nicht ür die umfassende Charakterisierung
eines Start-Up-Unternehmens, wie sich aus dem Blogeintrag des erfolgreichen Unternehmensgründers Steve Blank aus dem Silicon Valley ableiten lässt:
„A startup is an organization formed to search for a repeatable and scalable
business model.“18
Dieses „skalierbare Geschäsmodell“ impliziert ein schnelles Wachstum des Unternehmens
sowohl finanziell als auch personell. Damit unterscheidet sich die Gründung eines Start-UpUnternehmens substanziell von Existenzgründungen mit dem Ziel einer beruflichen Selbstständigkeit, wie sie z. B. typischerweise im Handwerk aureten, obwohl beide in die Klasse
der Kleinstunternehmen eingeordnet werden.
Gerade bei Investitionen in die unternehmerische Infrastruktur ist es wichtig, die erwartete zukünige Entwicklung der Firma mit in den Entscheidungsprozess einfließen zu lassen, um das
Unternehmen auf eine adäquate Basis zu stellen und um die Investitionssicherheit zu erhöhen.
Diese Arbeit beschränkt sich auf die Betrachtung von Start-Up-Unternehmen mit ihrem im
Vergleich zu anderen Kleinstunternehmen abweichenden Anforderungsprofil. Da in der Literatur keine eindeutigen, quantitativen Kriterien ür Start-Up-Unternehmen existieren, ist es
dem Unternehmensgründer selbst überlassen, seine Firma einzuordnen. In der Praxis könnte
z. B. ein geplanter Personalbestand von mehr als 10 Beschäigten innerhalb der ersten beiden
Jahre nach Gründung ein Indikator ür die Existenz eines Start-Up-Unternehmens sein.
18
Blank (What’s A Startup? First Principles.)
15
4
Kapitel 4.
Soware zur Steuerung eines
Start-Up-Unternehmens
Insbesondere ür die betriebliche Soware ist die Abgrenzung von Start-Up-Unternehmen zu
anderen Kleinstunternehmen, die im vorangegangenen Abschni (3.4 Abgrenzung von StartUp-Unternehmen zu anderen Unternehmenstypen) diskutiert wurde, entscheidend. Sowareanbieter nutzen o die Einordnung in Unternehmensklassen, um ihre Produkte zielgruppengerecht zu bewerben. Dabei ist darauf zu achten, dass spezielle Soware ür Kleinstunternehmen schon nach kurzer Zeit mit den Anforderungen eines Start-Up-Unternehmens überfordert
sein kann, was einen kurzfristigen, aufwendigen Wechsel zu einem umfangreicheren Sowaresystem erfordern würde.
4.1. Anforderungskatalog an ein Sowaresystem
Bevor mit der Auswahl einer Soware begonnen werden kann, muss als eine der ersten Aufgaben im Rahmen einer Anforderungsanalyse ein Soll-Konzept mit den fachlichen Anforderungen an Funktionen und Prozesse entwickelt werden. Ebenso sind systemtechnische Anforderungen und Restriktionen zu berücksichtigen und Schnistellen zu Nachbarsystemen
und Fremdsoware zu definieren und zu analysieren.19 In Start-Up-Unternehmen ist es dabei zweckmäßig, einen zweiteiligen Anforderungskatalog zu erstellen. Der erste Teil umfasst
die grundlegenden betriebswirtschalichen Geschäsprozesse, die notwendigerweise schon
19
vgl. Jungebluth (Das ERP-Pflichtenhe, Seite 82)
16
zum Zeitpunkt der Aufnahme des Geschäsbetriebes verügbar sein müssen. Im zweiten Teil
können die absehbaren zukünige Anforderungen aufgelistet werden. Die folgenden Unterabschnie beschreiben die wesentlichen Punkte, die dabei durch eine betriebliche Soware
erüllt werden müssen.
4.1.1. Anforderungskatalog bei Unternehmensgründung
Es gilt der Grundsatz, dass zum Zeitpunkt der Unternehmensgründung nur die grundsätzlichen
Geschäsprozesse im System abgebildet werden sollen, um dadurch die Kosten ür Einührung
und Anpassung der Soware zu begrenzen. Zu den daraus resultierenden wesentlichen Anforderungen zählen:
Zentrale, redundanzfreie Datenhaltung der Stammdaten von Kunden, Lieferanten und Produkten
Abbildung eines einfachen Vertriebsprozesses mit der Funktionalität Angebote, Lieferscheine und Rechnungen zu erstellen, Zahlungen zu registrieren, Lagerbestände zu korrigieren, usw.
Benutzerfreundlichkeit der Soware sowohl in der Anwendung als auch in der Administration
Hilfe und Support bei Eingabe- und Programmfehlern sowie bei Fragen zu Bedienung und
Verhalten der Soware
Überschaubare Investitionssumme um das junge Unternehmen nicht zu überfordern und
das geringe zur Verügung stehende Kapital in den Kernprozessen verwenden zu können
Ziel in dieser Phase ist es nicht, das Unternehmen als Ganzes miels einer Unternehmenssoware abzubilden, sondern lediglich vorwiegend die kundenorientierten Kernprozesse zu
unterstützen.
4.1.2. Zukünige Anforderungen an die Unternehmenssoware der
FENECON GmbH & Co. KG
Die Liste der Anforderungen bei Unternehmensgründung zählt ür gewöhnlich auch bereits
zum Leistungsumfang einfacherer, auf Kleinstunternehmen ausgerichteter Sowarealternativen.
17
Wie oben angedeutet sollten jedoch insbesondere auch die erst zukünig zu erwartenden Anforderungen im Auswahlprozess beachtet werden, um Investitionssicherheit zu erreichen. Eine
zukunsgerichtete Anforderungsanalyse der FENECON GmbH & Co. KG ergab folgende wichtige Funktionalitäten:
Internationalisierung sowohl in Bezug auf die Benutzeroberfläche als auch die vollständige Übersetzbarkeit der Standardbelege (Rechnung, Lieferschein,…), Produktbeschreibungen, usw.
Integration mit E-Commerce-Anwendungen wie dem „Amazon Marketplace“ und dem
eigenen, auf der Open-Source-E-Commerce-Plaform Magento basierenden, Webshop.
Dabei sind unterschiedliche Stufen der Integration, von der einfachen Übernahme neuer Bestellungen, bis hin zur vollständig integrierten Produkt-, Bestands- und Auragsverwaltung, denkbar.
DATEV-Integration zum Austausch von Buchhaltungsdaten mit der Steuerkanzlei.
Flashlistenmanagement gehört zu den sehr spezifischen Anforderungen an eine Unternehmenssoware in der Photovoltaikbranche. In sogenannten Flashlisten sind dem Kunden
die eindeutigen Kennnummern sowie weitere Leistungsdaten der gelieferten Photovoltaikmodule auszuhändigen.
Projekt- und Dokumentenmanagement ür die Abwicklung des LED-, Stromspeicher- und
Photovoltaikvertriebs, da dieser häufig in Form von Projekten mit zahlreichen Planungsund Angebotsschrien erfolgt.
Liquiditätsplanung um jederzeit Informationen über den aktuellen und zukünigen Zahlungsfluss erhalten zu können.
Service, Wartung und Ersatzteilmanagement um den hohen Ansprüchen gerecht zu werden, die bei Produkten mit Garantielaufzeiten bis zu zehn Jahren bzw. einer Gesamteinsatzdauer von 30 Jahren und mehr aureten.
Anpassungs- und Erweiterungsfähigkeit um Eigenentwicklungen in die Soware zu integrieren und nicht abgedeckte Funktionalitäten zu ergänzen.
Umfangreiches Berechtigungskonzept zur Absicherung von Unternehmenskennzahlen vor
unberechtigten Zugriffen
18
4.2. Sowarealternativen
Nachdem der Anforderungskatalog ür die betriebliche Soware definiert wurde, kann eine
Marktanalyse durchgeührt werden. Dieser Abschni stellt die verschiedenen Kategorien der
am Markt verügbaren Soware vor und analysiert Chancen und Schwachstellen der jeweiligen
Lösungen in Bezug auf den Anforderungskatalog bei Unternehmensgründung (siehe Unterabschni 4.1.1) und ihre Zukunsähigkeit.
Die aufgelisteten Anwendungsprogramme und Sowarepakete verstehen sich als beispielha
ür die jeweilige Kategorie und erheben keinen Anspruch auf Vollständigkeit.
4.2.1. Office-Paket
Zur Kategorie der Office-Pakete zählen Anwendungen wie Microso Office20 , Apache OpenOffice21 , LibreOffice22 (e Document Foundation) und Corel WordPerfect Office23 . Für die
Soware ist ein finanzieller Aufwand von 0 € bis maximal ungeähr 300 € einzuplanen.
Abb. 4.: Office-Paket: Microso Word
Eine naheliegende Option ür jeden Unternehmensgründer ist die Verwendung eines OfficePaketes ür die Verwaltung von Stammdaten, das Schreiben von Angeboten, Rechnungen, usw.
Der Einstieg ällt hier besonders leicht, weil entsprechende Soware meist sowieso vorhanden
20
hp://office.microso.com
hp://www.openoffice.org
22
hp://www.libreoffice.org/
23
hp://www.corel.com/corel/product/index.jsp?pid=prod4720105
21
19
ist, da sie auch ür weitere Aufgabenbereiche benötigt wird, und ür gewöhnlich Vorerfahrungen im Umgang mit der Soware existieren. Somit können ohne zusätzliche Investitionen und
mit nur geringem Lernaufwand gute Erfolge erzielt werden.
So sind Office-Anwendungen nicht auf die Bewältigung von „Workflows“, also die Abarbeitung von festen Arbeitsschrien in einem komplexen Arbeitsprozess, ausgerichtet. Durch die
vielen manuellen Tätigkeiten, die deshalb notwendig werden, wie etwa das Korrigieren des
Lagerbestandes, nachdem eine Lieferung durchgeührt wurde, können schnell Fehler in der
Datenintegrität aureten. Da die Daten nicht formalisiert und strukturiert, sondern unstrukturiert abgelegt werden, ist außerdem eine spätere, automatisierte Migration in eine Datenbank
wenn überhaupt nur mit sehr hohem Aufwand möglich.
Bei den wenigen „handgeschriebenen“ Rechnungen, die im Rahmen der Implementierung von
OpenERP bei FENECON zu migrieren waren, traten z. B. mit regelmäßiger Häufigkeit fehlerhae Berechnungen, uneinheitliche Layouts, falsche Lagerbestände, usw. auf.
4.2.2. Kaufmännische Soware für Kleinst- und Kleine Unternehmen
In diesen Bereich fallen unter anderem die Produkte der Haufe-Lexware GmbH & Co. KG24
(„Warenwirtscha pro“, „Büro easy“, „Handwerk plus“), der DATA BECKER GmbH & Co. KG25
(„finance to date“, „Aurag & Rechnung“, Handwerker PRO“), die Lösungen ür Kleinunternehmen der Sage Soware GmbH26 („GS-Office, „PC-Kaufmann“) und andere Programme wie „microtech büro+“27 , „CTO Warenwirtscha Business“28 , „MonKey Office“29 und „Win-HaBu“30 .
Das Sowarespektrum reicht von kostenloser Freeware bis hin zu Sowarepaketen ür ca.
2.000 €.
Den Einstieg in den Bereich integrierter, auf betriebliche Geschäsvorälle ausgerichteter Soware bildet kaufmännische Soware ür Selbstständige, Freiberufler sowie ür Kleinst- und
Kleine Unternehmen. Im Allgemeinen erüllen die Anwendungen aus dieser Kategorie uneingeschränkt die Punkte aus Unterabschni 4.1.1 (Anforderungskatalog bei Unternehmensgründung), scheitern jedoch häufig an den zukünigen Anforderungen, die insbesondere in Start24
hp://www.lexware.de
hp://www.databecker.de
26
hp://www.sage.de/sb
27
hp://www.microtech.de/produkte/bueroPlus
28
hp://www.ctosoware.de
29
hp://www.monkey-office.de
30
hp://mcrichter.macbay.de
25
20
Abb. 5.: Kaufmännische Soware: CTO Warenwirtscha Business
Up-Unternehmen aureten. Beispielsweise sind in dieser Sowareklasse die Integration eigener Individualprogrammierung zur Erweiterung der Grundfunktionalitäten, der direkte Zugriff
auf die zugrunde liegende Datenbank mit den Geschäsdaten und Möglichkeiten zur Internationalisierung keine Selbstverständlichkeit.
Demzufolge können diese Programme im unternehmerischen Alltag schnell an ihre Grenzen
stoßen, wie einige Beispiele, die in der Firma FENECON schon nach kurzer Zeit auraten, zeigen. So war es ür Auslandsgeschäe im Senegal notwendig, französische Produktbeschreibungen vorzuhalten, Rechnungen in französischer Sprache zu erstellen und Steuersätze entsprechend anzupassen. Ebenso wurde es mit zunehmender Anzahl an Mitarbeitern immer wichtiger, den Zugriff auf sensible Daten nur ür bestimmte Mitarbeitergruppen freizugeben, was nur
durch ein in die Soware integriertes Authentifizierungs- und Berechtigungssystem möglich
war.
21
4.2.3. Mielstandssoware
Die bekannten, auf branchenorientierte Mielstandssoware ausgerichteten, Anbieter wie Sage Soware GmbH31 („Office Line Evolution“, „New Classic“, „ERP b7“, „ERP X3“), DATEV eG32
(„Mielstand classic pro“, „Unternehmen online“), IFS33 („Applications“) und ABAS Soware AG34
(„abas-ERP“) bekommen in den letzten Jahren vermehrt Konkurrenz durch die Mielstandsoffensiven der großen, traditionellen ERP-Systemhäuser SAP35 („Business One“), Oracle36 („JD Edwards EnterpriseOne“) und Microso37 („Dynamics NAV“). Als Investitionssumme ür Mielstandssoware sollten niedrige ünfstellige Beträge eingeplant werden, wobei sich die endgültigen Kosten stark projektbezogen unterscheiden können.
Abb. 6.: Mielstandssoware: Sage New Classic
In Bezug auf Branchenorientierung und -optimierung, Funktionalität, Benutzerfreundlichkeit
und Anpassungsähigkeit sind die Sowarepakete aus dieser Kategorie das Maß der Dinge.
Ausschlusskriterium ür den Einsatz in einem Start-Up-Unternehmen ist jedoch die zu erwartende Investitionshöhe, die den finanziellen Rahmen dieser Unternehmensklasse übersteigt.
Mit Produkten wie „Sage New Classic“ finden sich in dieser Kategorie auch Anwendungen,
die ür Start-Up-Unternehmen geeignet sein können. Über den Ansatz, eine Basissoware erst
31
hp://www.sage.de/smb
hp://www.datev.de
33
hp://www.ifsworld.com
34
hp://www.abas.de
35
hp://www.sap.com/germany/sme
36
hp://www.oracle.com/de/products/applications/jd-edwards-enterpriseone
37
hp://www.microso.com/de-de/dynamics/erp-nav-ubersicht.aspx
32
22
bei Bedarf über Module individuell und flexibel an neue Anforderungen anzupassen, lassen
sich hohe Initialkosten zeitlich entzerren. Als Einstiegslösung ür ein Start-Up-Unternehmen
stellen sie aber weiterhin eine enorme Investition dar.
4.2.4. Open Source ERP-Systeme
Abb. 7.: Open Source ERP-Systeme: OpenZ
Im Markt der Warenwirtschassysteme unter Open-Source-Lizenz existieren viele Projekte
mit unterschiedlichsten Ausrichtungen und Hintergründen. Tabelle 2 listet daraus die wesentlichen, auf den deutschen Raum angepassten Anwendungen. Die Pfeile (→) in der Tabelle symbolisieren jeweils einen Fork38 .
Open Source ERP-Systeme bieten gerade ür Start-Up-Unternehmen einen interessanten Gegenvorschlag zu den in den vorherigen Unterabschnien vorgestellten Sowarealternativen.
Die aufgelisteten Systeme befinden sich in einem fortgeschrienen und bewährten Entwicklungsstadium und sind grundsätzlich mit der Funktionstiefe von Mielstandssoware (Unterabschni 4.2.3) vergleichbar. Ihr wesentlicher Vorteil im direkten Vergleich sind die sehr günstigen Anfangsinvestitionskosten, da ür die Freie Soware keine Lizenzgebühren anfallen.
Dennoch darf nicht übersehen werden, dass hinter den meisten Open Source ERP-Systemen
Unternehmen stehen, ür die die Veröffentlichung des ellcodes Teil der Geschässtrategie ist
und die ihre Umsätze meist mit Komplementärprodukten und -dienstleistungen erzielen. Gerade bei ERP-System stellen die im Laufe der Zeit älligen Kosten ür Anpassung und Erweiterung
38
„Ein Fork bezeichnet in der Sowareentwicklung die Aufspaltung eines Projektes in zwei oder mehrere Folgeprojekte, wobei Teile des ellcodes kopiert werden und dann unabhängig von dem ursprünglichen Projekt
weiterentwickelt werden. Gründe ür einen Fork können verschiedene Ziele ür das Projekt, Uneinigkeiten in
der technischen Ausührung oder persönliche Unstimmigkeiten zwischen den Entwicklern sein.“ Neubert (Betriebswirtschaliche Anwendungssoware auf Basis Freier Soware – eine Auswahl, Seite 6)
23
ERP-System
Hersteller
Programmiersprache
Internet
Java
oiz.apache.org
Java
www.compiere.com
Java
www.adempiere.com
Openbravo s.l. (Spanien)
Java
www.openbravo.com
Zimmermann-Soware (Deutschland)
Java
www.openz.de
conceptERP
mm-concept GbR (Deutschland)
PHP
www.concepterp.de
ERP5
Nexedi s.a. (Frankreich)
Python
www.erp5.com
IntarS
IntarS GmbH (Deutschland)
Objective-C
www.intars.de
Nuclos
Novabit GmbH (Deutschland)
Java
www.nuclos.de
OpenERP
OpenERP s.a. (Belgien)
Python
www.openerp.com
Python
www.tryton.org
Apache OFBiz
Compiere
Consona Corporation (USA)
→ ADempiere
→ Openbravo
→ OpenZ
→ Tryton
SQL-Ledger
DWS Systems Inc. (Kanada)
Perl
www.sql-ledger.com
→ Kivitendo
LINET Services GmbH (Deutschland)
Perl/ PHP
www.kivitendo.de
PHP
www.weberp.org
webERP
Tab. 2.: Übersicht über Open Source ERP-Systeme
des Funktionsumfangs, sowie notwendige Schulungen einen hohen Anteil der Gesamtkosten
dar. Es ist also unrealistisch anzunehmen, die Einührung einer Open-Source-Lösung könne
vollständig kostenfrei durchgeührt werden – trotzdem sind die „Total Cost of Ownership“
häufig deutlich geringer als bei vergleichbaren Alternativlösungen.
24
Teil III.
Evaluation von OpenERP
Grundlage dieser Bachelorarbeit ist die Idee, in einem Start-Up-Unternehmen ab der Gründung
mit einem vollwertigen, erweiterbaren ERP-System zu arbeiten. Zu diesem Zweck erscheint
Open-Source-Soware aufgrund der günstigen Anschaffungs- und Inbetriebnahmekosten besonders gut geeignet. Nachdem nun im vorangegangenen Teil „eoretische Grundlagen“ gelegt wurden und die möglichen Sowarealternativen in Hinblick auf aktuelle und zukünige
Anforderungen des Unternehmens FENECON GmbH & Co. KG diskutiert wurden, folgt in diesem Teil die konkrete „Evaluation von OpenERP“. Dazu werden in jeweils eigenen Kapiteln die
„Funktionalität“, Varianten von „Implementierungsunterstützung und Support“ und die „Systemarchitektur“ der derzeit aktuellen Version 6.1 analysiert.
Abb. 8.: Startbildschirm von OpenERP
25
5
Kapitel 5.
Funktionalität
Die möglichst vollständige und umfangreiche Abbildung und Unterstützung der Geschäsprozesse eines Unternehmens ist das Ziel der Implementierung eines ERP-Systems. Um die Funktionalität einer Soware zu bewerten, ist deshalb sowohl die Breite des abgedeckten Funktionsportfolios, als auch die Funktionstiefe der einzelnen Module zu betrachten. Im Folgenden
werden dazu die Funktionsbereiche von OpenERP kurz vorgestellt und anschließend beispielha die Abbildung einiger konkreter Anwendungsälle im System nachvollzogen.
5.1. Abdeckung unternehmerischer Funktionsbereiche
OpenERP wirbt auf der eigenen Internetpräsenz mit der Abdeckung folgender betrieblicher
Funktionsbereiche:39
CRM (Customer Relationship Management)
•
•
•
•
•
•
•
39
Durchührung von Marketingkampagnen
Unterstützung der Kundenakquise
Planung von Besprechungen und Telefonanrufen
Management von Kundenkontakten und Verkaufschancen
Angebots- und Auragsverwaltung
Echtzeit-Auswertungen
Anbindung an Microso Outlook und Mozilla underbird
OpenERP s.a. (OpenERP - Open Source Business Applications)
26
Buchhaltung und Finanzen
• Eingabeoptimierte Benutzeroberfläche
• Integriertes, analytisches Rechnungswesen
• Automatischer und manueller Zahlungsabgleich mit Online Banking Schnistelle
• Multiwährungsähigkeit
• Mehrfirmenähigkeit
• Rechnungsverfolgung
• Automatisches Mahnwesen
• Angepasste Lokalisierung an viele Staaten
• Definierbare Dashboards und Leistungskennzahlen
Kassenterminal
• Basierend auf Webtechnologie
• Bedienerfreundlich
• Leistungsähige Artikelsuchmaschine mit Unterstützung ür Barcode-Scanner
• Offlineähig
• Parallele Warenkörbe
• Leistungsähiges Back-End (Öffnen und Schließen von Registrierkassen, Mehrbenutzerähigkeit, verschiedene Zahlungsarten,…)
Projektmanagement
• Integrierte Kollaborationswerkzeuge (Texteditor, Chat, E-Mail)
• Einsatzplanung der Mitarbeiter
• Auswerungen und Analysen (z. B. Gan-Diagramme)
• Issue-Tracking-System
Lagerverwaltung
• Abbildung komplexer Warenströme
• Doppelte Lagerbuchührung
• Wareneingangs-, -ausgangs- und -wertanalyse
• Integration mit Bestellwesen (Mindest- und Meldebestände)
27
Personalwesen
• Zentrale Mitarbeiterdatenbank
• Anwesenheits- und Arbeitszeiterfassung
• Urlaubsplanung
• Personalbeschaffungsmanagement
• Aufstellung von Mitarbeiterentwicklungsplänen
Einkauf
• Wareneingangsverfolgung
• alitätsmanagement
• Lieferantenbewertung
Produktion, Planung und Steuerung
• Optimierte automatische und manuelle Ablaufplanung
• Ablaufverfolgung mit Barcode-Unterstützung
• Ressourcenplanung ür Personal und Material
• Unterstützung ür komplexe Stücklisten und Produktionsprozesse
Marketing
• Durchührung von Kampagnen per E-Mail und Post
• Test-Modus
• Integration mit CRM ür Nachfassaktionen usw.
Fakturierung
• Einfache, benuterfreundliche Erstellung von Rechnungen
• Detaillierte Auswertungen
Gehaltsabrechnung
• Noch nicht auf den deutschen Markt angepasst
28
Abb. 9.: Screenshot: www.evaluation-matrix.com
OpenERP s.a. versucht mit der Internetseite www.evaluation-matrix.com (Abbildung 9) einen
objektiven, detaillierten Vergleich mit den Konkurrenten Open Bravo, Sage, Microso Dynamics NAV und SAP R/3 auf funktionaler Ebene. Leider befindet sich die Seite noch im Auau
und ist aufgrund der starken Ausrichtung auf OpenERP auch nur bedingt aussagekräig.
Dabei ist ein direkter Vergleich beispielsweise zwischen OpenERP und SAP R/3 eigentlich nicht
sinnvoll. Dies liegt zum einen an der grundsätzlich unterschiedlichen Zielgruppe und der ungleich längeren Entwicklungszeit von SAP R/3, zum anderen verfolgt OpenERP in vielen Bereichen einen vollkommen anderen Ansatz. So zeigt das Buch „OpenERP evaluation with SAP
as reference“40 anschaulich (Abbildung 10), wie sich die Grundphilosophie zur Anpassung der
Soware an den Bedarf des Kunden in den beiden Systemen unterscheidet. Während SAP im
Regelfall die Anforderungen der Unternehmen deutlich übersteigt und ür den Einsatz ein aufwendiges Customizing erforderlich ist, verfolgt OpenERP die Idee, nur die Basisfunktionalität
anzubieten, die ür die jeweiligen Ansprüche individuell erweitert wird.
5.2. Konkrete Anwendungsfälle
Ein bewährtes Miel zur Analyse und Bewertung der Funktionalität von IT-Systemen ist das
„Requirements Engineering“41 . Mithilfe konkreter „Use Cases“42 werden dabei aus der Sicht
des Anwenders Aufgaben definiert, die durch das System abzubilden sind. Im Folgenden sollen
jeweils beispielhae Anwendungsälle in den Bereichen Vertrieb, Buchhaltung und Lagerverwaltung aufgestellt und die Umsetzung durch OpenERP betrachtet werden.
40
vgl. Delsart, Yves und Van Nieuwenhuysen, Christelle (OpenERP evaluation with SAP as reference, Seite 38)
vgl. Partsch (Requirements-Engineering systematisch: Modellbildung ür sowaregestützte Systeme, Seite 19)
42
vgl. Cockburn (Use Cases effektiv erstellen, Seite 15)
41
29
Abb. 10.: Grundphilosophie zur Anpassung der Soware an den Bedarf des Kunden: SAP im Vergleich
zu OpenERP
5.2.1. Im Vertrieb
Im Vertrieb steht die Interaktion mit den Kunden im Vordergrund. Aus den dabei anfallenden
Aufgaben resultiert eine Reihe von Anwendungsällen, die sich ür den Vertriebsmitarbeiter
im System ergeben:
Kontaktdaten verwalten
Kundenbesuch planen
Angebot erstellen
Kontakt nachfassen
Vertriebsmitarbeiter
Auftrag verwalten
Abb. 11.: Anwendungsälle im Vertrieb
Abb. 12.: Menüpunkt „Verkau“
OpenERP bildet die geforderte Funktionalität mithilfe der Module CRM (crm)43 und Verkaufsmanagement (sale) im zentralen Menüpunkt „Verkau“ ab.
Zur Kontaktdatenverwaltung stehen die Menüunterpunkte „Verkauf | Verkaufskontakte“ und
„Partnerverzeichnis | Kunden“ zur Verügung – je nachdem ob es sich nur um eine Verkaufschance bzw. eine Rückmeldung aus Marketingaktivitäten oder um einen Kunden, der bereits
43
Die interne Bezeichnung des Moduls ist jeweils in Klammern dahinter angegeben.
30
in der Kundendatenbank abgelegt wurde, handelt. Kundenbesuche und Nachfassaktionen, wie
z. B. Telefonanrufe, können ebenfalls in der Kundenverwaltung oder unter „Kundenanrufe |
Geplante Anrufe“ geplant werden. Angebote und Auräge werden über den Punkt „Verkauf |
Verkaufsauräge“ erfasst.
5.2.2. In der Buchhaltung
Die Buchhaltung bearbeitet die im Rahmen der finanziellen Geschäsvorälle eines Unternehmens auretenden Tätigkeiten. Mögliche Use-Cases in Bezug auf das ERP-System sind:
Rechnung erstellen
Zahlungsfluss registrieren
Warenauslieferung freigeben
Gutschrift erstellen
Buchhalter
Mahnung schreiben
Abb. 13.: Anwendungsälle in der Buchhaltung
Abb. 14.: Menüpunkt „Finanzen“
Die entsprechenden Funktionalitäten befinden sich bei OpenERP sowohl unter dem bereits
bekannten Menüpunkt „Verkau“ als auch unter dem Überbegriff „Finanzen“, der durch die
Module „eInvoicing“ (account), „eInvoicing & Payments“ (account_voucher) und „Buchhaltung
und Finanzen“ (account_accountant) abgedeckt wird.
Der Standardprozess zur Erstellung einer Rechnung und zur Freigabe der Warenauslieferung
wird angestoßen, indem ein bestehender Verkaufsaurag bestätigt wird. Miels der angegebenen Fakturierungsregel wird dabei der Prozessablauf gesteuert. Der Prozess ür einen Verkauf auf Vorkasse wird mit der Option „Zahle vor Lieferung“ angestoßen. Dabei wird direkt
eine Rechnung erstellt, die Auslieferung der Waren jedoch erst freigegeben, nachdem der Zahlungseingang registriert wurde. Der Menüpunkt „Kunden | Ausgangsrechnungen“ ermöglicht
31
in diesem Zusammenhang einen ständigen Überblick über den aktuellen Status der Ausgangsrechnungen und bietet auch den Einstiegspunkt zur Erfassung eines Zahlungseingangs und zur
Erstellung einer Gutschri im Falle einer Rücksendung. Die Funktion „Periodische Buchungen |
Zahlungserinnerungen | Sende Zahlungserinnerung“ aus dem Modul „Followup Management“
(account_followup) unterstützt den Buchhalter darüber hinaus bei der automatisierten Erstellung von Mahnungen aufgrund unbezahlter Rechnungen, bei denen das angegebene Zahlungsziel überschrien wurde.
5.2.3. In der Lagerverwaltung
Ein gut funktionierendes Lagermanagement kann die Kapitalbindung reduzieren und die Lieferquote erhöhen. Das Bereitstellen der daür notwendigen, gesicherten Informationen über
den aktuellen und zukünigen Lagerbestand ist die zentrale Aufgabe der Lagerverwaltung.
Wareneingang registrieren
Ware ausgeben
Lagerverwalter
Bestand verwalten
Abb. 15.: Anwendungsälle in der Lagerverwaltung
Abb. 16.: Menüpunkt „Lager“
OpenERP setzt intern auf eine Methode, die sich an die doppelte Buchührung anlehnt und
die einzelnen Lagerorte wie Konten in der Buchhaltung ührt. Eine Warenlieferung entspricht
dabei einem Buchungssatz mit Soll- und Habenkonto, sodass zu jeder Warenlieferung immer
auch eine Buchung auf einem Gegenkonto erfolgt. Das System arbeit dazu mit echten, physischen Lagern, wie „Hauptlager“ und „alitätskontrolle“, mit Konten ür Lager bei Kunden und
Lieferanten und mit virtuellen Lagern, wie „Eigene Produktion“, „Lagerschwund“ und „Ausschussware“.44
44
vgl. Pinckaers und Van Vossel (Integrate Your Logistic Processes with Openerp, Seiten 103)
32
Die entsprechenden Eingabeoberflächen ür Anwendungsälle der Lagerverwaltung sind der
Kategorie „Lager“ zugeordnet, das mit dem Modul „Lager & Logistik“ (stock) mitgeliefert wird.
„Lagerbuchhaltung | Wareneingang“ listet die, durch Beschaffungsauräge ausgelösten, zu erwartenden Wareneingänge auf, um sie an dieser Stelle zu überprüfen und zu bestätigen. Analog dazu erfolgt die Auslieferung der geplanten Warenausgänge inklusive der Erstellung eines
Lieferscheines unter „Lagerbuchhaltung | Warenauslieferung“. Zur Überprüfung des Lagerbestandes im Rahmen einer Stichtagsinventur steht der Punkt „Bestandsverwaltung | Inventurauräge“ zur Verügung.
5.3. Anpassung von Geschäsprozessen
In 4.2.1 wurde bereits beschrieben, dass Office-Anwendungen ür komplexere Geschäsprozesse ungeeignet sind, weil sie aufeinander folgende Arbeitsschrie nicht unterstützen. Ein
ERP-System lebt davon, Aufgaben anhand von vordefinierten, mit Parametern gesteuerten Prozessen abzuarbeiten, wie das Beispiel eines Verkaufs auf Vorkasse (Unterabschni 5.2.2) kurz
angedeutet hat.
OpenERP kennt zwei verschiedene Perspektiven auf Geschäsprozesse. Mithilfe der Ansicht
„User Process“ kann der aktuelle Status eines konkreten Dokuments in einem „Workflow“ betrachtet werden. Abbildung 17 zeigt beispielsweise in einem Verkaufsprozess den Weg des Angebots VA0102, aus dem ein Verkaufsaurag mit zugehöriger Rechnung (RE12172) und eine
Warenauslieferung wurde.
Abb. 17.: User Process
33
Als „Workflow“ bezeichnet OpenERP die technische Definition zur Abarbeitung von Prozessschrien. Obwohl in ERP-Systemen grundsätzlich eine Reihe vordefinierter „best-practice Workflows“ existieren, ist es häufig notwendig, Anpassungen vorzunehmen oder vollständig neue
Arbeitsprozesse zu entwerfen. Somit lässt sich die ERP-Soware vollständig an die betrieblichen Abläufe des Unternehmens anpassen. Im Menüpunkt „Einstellungen | Personalisierung |
Workflowdesign | Workflowdesign“ steht dazu ein leistungsähiger, grafischer Editor zur Verügung. Abbildung 18 zeigt den Verkaufsprozess erneut, jedoch diesmal in der formal vollständigen, technischen Darstellung als Zustandsdiagramm. In dieser Ansicht werden die möglichen
Zustände und die jeweiligen Transitionen deutlich. Dabei stellen die grauen Ellipsen Start- und
Endzustände dar; das Rechteck um „invoice“ deutet auf einen eigenen Subworkflow zur Abwicklung der Rechnungsstellung hin.
Abb. 18.: Workflowdesigner
34
5.4. Erweiterungen im „Enterprise App Store“
OpenERP s.a. verfolgt den Ansatz, ein stabiles, hochwertiges ERP-System zur Abdeckung der
Basisfunktionalitäten zu entwickeln und zu pflegen.45 Nach dem Vorbild der App-Stores ür
Android- und Apple-Smartphones, soll das Grundsystem mit Apps erweitert werden, die durch
externe Partner erstellt werden. Vorteil dieser Strategie ist die Nutzung der Open-Source-Community
als Entwickler von Erweiterungen sowie eine Stärkung der OpenERP-Partner, die sich als Spezialisten positionieren können. Ein wesentlicher Nachteil ist, dass o sehr viel Zeit zwischen
dem Erscheinen neuer OpenERP-Versionen und der Verügbarkeit der Apps ür diese Version
verstreicht.
Derzeit sind im „Enterprise App Store“ auf hp://apps.openerp.com ca. 2500 Module verügbar, wobei sowohl Umfang als auch alität der angebotenen Erweiterungen stark schwanken. Hinter dem großen Angebot verbergen sich eine Vielzahl sehr brauchbarer und wichtiger
Werkzeuge, wie die verschiedenen „Reporting-Engines“ zur Erstellung von Auswertungen und
Ausdrucken und die Konnektoren ür E-Business-Anwendungen.
5.4.1. Reporting
OpenERP setzt auf das gut integrierte „ReportLab PDF Toolkit“46 , das auf der Auszeichnungssprache RML (Report Markup Language) basiert, die jedoch sehr tief ansetzt und relativ schwer
anzupassen ist. Obwohl mit dem „OpenOffice Report Designer“ ein Konverter existiert, der
Office-Dokumente in RML übersetzt, ist dieser mit komplexeren Aufgabenstellungen o überfordert. Von Partnern wurden deshalb einige gute Alternativen entwickelt:
Aeroo Reports (report_aeroo) setzt ähnlich wie der „OpenOffice Report Designer“ auf die
Funktionalität von OpenOffice bzw. LibreOffice um die Vorlagen ür Dokumente zu erstellen. Im Gegensatz zum Original arbeitet es jedoch nicht als Konverter, sondern verwendet zum Ausdruck eine im Hintergrund laufende Office-Instanz. Für die Druckdokumente der FENECON GmbH & Co. KG kommt Aeroo Reports zum Einsatz; siehe dazu
auch die Beschreibung der Installation des Reportings in Abschni 8.3.
Webkit Report Engine (report_webkit) verwendet zur Erstellung seiner Ausdrucke die HTMLRendering-Engine Webkit, die unter anderem auch in Apple’s Browser Safari zum Einsatz
45
46
vgl. Pansaers, Xavier (Vision & Update on Channel Strategy, Folie 13)
hp://www.reportlab.com/soware/opensource/rl-toolkit
35
kommt. Nachteil der Auszeichnungssprache HTML zur Erstellung von PDF-Dokumenten
ist, dass eine exakte Positionierung und Seitenumbrüche nur schwer zu realisieren sind.
Darüber hinaus existieren unter anderem noch Anbindungen an die spezialisierten BerichtsWerkzeuge „JasperReports“ und „Pentaho Business Analytics“.
5.4.2. E-Business
Unter dem Projektnamen „Magento OpenERP Connector“47 entwickeln einige OpenERP-Partner
gemeinsam eine offene und flexible Schnistelle zur Anbindung von E-Business-Plaformen
wie „Magento“, „Amazon Marketplace“ und „eBay“. Leider sind diese Module in den derzeit
frei verügbaren Versionen noch nicht tauglich ür einen Produktivbetrieb. Eine Integration
der verschiedenen Shop-Systeme ist deshalb momentan nur in Verbindung mit darauf spezialisierten OpenERP-Partnern sinnvoll.
Im Projekt FENECON wird deshalb die automatisierte Anbindung an die eigenen Online-Shops
Magento und Amazon so lange ausgesetzt, bis die manuelle Bearbeitung der Bestellungen unverhältnismäßig wird.
5.5. Referenzen
Die oben dargestellten, abgedeckten unternehmerischen Funktionsbereiche, die beispielhaen
Anwendungsälle und verügbare Erweiterungen geben einen Hinweis darauf, wie umfangreich die Funktionstiefe von OpenERP ist. Da es nicht möglich ist, die Abdeckung jedes aktuell und zukünig notwendigen Betriebsprozesses zu analysieren, lohnt sich darüber hinaus
ein Blick auf die Unternehmen und Branchen, in denen die Soware bereits im Einsatz ist.
OpenERP s.a. listet in seinen Referenzen48 über 100 Unternehmen aus den Bereichen Handel,
Bau, Fertigung, Dienstleistung usw. auf und zählt auch einige namhae Firmen wie „Danone“
und „Canonical“, den Sponsor der Linux-Distribution „Ubuntu“, zu seinen Kunden. Wichtig ür
einen Einsatz in Deutschland ist außerdem, dass die Soware auch den hiesigen Anforderungen
genügt. Dazu sei auf die Referenzen49 der „big-consulting GmbH“ aus Cloppenburg verwiesen,
in denen zahlreiche Implementierungen in Deutschland, insbesondere auch im rechtlich kritischen Bereich Finanzbuchhaltung, gelistet sind.
47
hps://launchpad.net/magentoerpconnect
OpenERP s.a. (Customers References)
49
big-consulting GmbH (OpenERP Referenzen)
48
36
6
Kapitel 6.
Implementierungsunterstützung und
Support
Ein ERP-System ist ein komplexes Sowarepaket, das auf die
Anforderungen jedes einzelnen Unternehmens individuell angepasst werden muss und das sich in jeder Implementierung
etwas unterscheidet. OpenERP ist milerweile verhältnismäßig
einfach zu installieren und eine interne Inbetriebnahme ist, wie
in dieser Arbeit dargestellt, gerade bei Start-Up-Unternehmen
durchaus sinnvoll.
Das Geschäsmodell hinter dem Open Source ERP-System sieht
vor, dass sich mit OpenERP s.a. der Hersteller der Soware um
die Weiterentwicklung des Frameworks und der grundlegenden
ERP-Funktionalität, sowie um den Langzeitsupport kümmert,
während Dienstleistungspartner die Implementierung und Anpassung vor Ort übernehmen. Darüber hinaus soll die Community, also auch jeder nicht-zahlende Benutzer der Soware, sich
aktiv in den Entwicklungsprozess einbringen können und die Abb. 19.: Partnerstrategie des Herstellers
Soware dauerha als kostenlose Open-Source-Soware unter
OpenERP s.a.
der AGPL-Lizenz zur Verügung gestellt werden. Dabei behält
sich OpenERP s.a. die Vorgabe der strategischen Ausrichtung der Soware vor und bestimmt
quasi im Alleingang die grundlegende Ausrichtung, Anpassungen im Framework und anstehende Releasewechsel.
37
Dieses Kapitel stellt die Protagonisten im Ökosystem um OpenERP dar, also das Zusammenspiel zwischen OpenERP s.a., den Dienstleistungspartnern und der Online-Community.
6.1. OpenERP s.a. in Belgien
Ein wesentlicher, im Unternehmensumfeld vielleicht entscheidender, Unterschied zu anderen
Open Source ERP-Systemen wie „Apache OfBiz“ oder dem OpenERP-Ableger „Tryton“, ist die
Tatsache, dass im Falle von OpenERP ein gut etabliertes Unternehmen hinter der Soware
steht. Das belgische Unternehmen „OpenERP s.a.“50 wurde im Jahr 2005 von Fabien Pinckaers
mit der Vision gegründet, mit einer Open-Source-Soware der Markt der ERP-Systeme zu verändern. Die milerweile mehr als 180 Mitarbeiter in den Standorten Belgien und Indien zeigen,
dass das Geschäsmodell aufgegangen ist.
Bei Open-Source-Soware im Unternehmenseinsatz drängt sich immer die Frage auf: „Wer
haet, wenn es schief geht?“51 In der AGPL-Lizenz etwa, nach der OpenERP lizenziert ist, steht
unter Paragraf 15: „THERE IS NO WARRANTY FOR THE PROGRAM“52 . Auch wenn dieser
Haungsausschluss in Deutschland gesetzlich umstrien ist53 – ein Unternehmen, das OpenSource-Soware in kritischen Bereichen einsetzt, benötigt eine kompetente Anlaufstelle ür
Unterstützung und Support. Mit dem Supportmodell „OpenERP Enterprise“54 bietet OpenERP
s.a. Unterstützung und Produktgarantie durch den Hersteller sowie kostenlose Migrationen auf
die neueste Version bei einem Releasewechsel. Die Kosten ür diesen Servicevertrag belaufen
sich auf 1.950 € im Jahr bei bis zu zehn Benutzern. Zu beachten gilt es dabei, dass der Support
durch den Hersteller nur in französischer und englischer Sprache verügbar ist.
6.2. Dienstleistungspartner
Mit über 400 Partnern in mehr als 70 Ländern existiert außerdem ein weltweites Netzwerk aus
„Gold-“, „Silver-“ und „Ready-Partnern“55 . Diese regionalen und fachlichen Spezialisten pflegen
50
„s.a.“ steht ür „société anonyme“, eine belgische Rechtsform ür Aktiengesellschaen
Sobola, Sabine (Open Source: Wer haet, wenn es schief geht? - manager magazin - Unternehmen)
52
Free Soware Foundation (GNU Affero General Public License (AGPL))
53
vgl. Bundesministerium ür Wirtscha und Technologie (Open-Source-Soware: Ein Leitfaden ür kleine und milere Unternehmen, Kapitel 5. Rechtliche Fragen und Geschäsmodelle)
54
vgl. OpenERP s.a. (e OpenERP Publisher Warranty)
55
vgl. OpenERP s.a. (Partner Program)
51
38
den persönlichen Kontakt zum Kunden im Rahmen von Produktpräsentationen, Projektdurchührungen, Mitarbeitertrainings, Wartung und laufender Betreuung und passen die Soware
an regionale Erfordernisse, wie z. B. geltende Gesetze, und die Anforderungen des Kunden an.
Für den Raum Deutschland sind derzeit 13 lokale Partner gelistet. Deren Araktivität als Supportdienstleister liegt darin,
dass sie den deutschen Wirtschasraum mit den hier geltenden rechtlichen Anforderungen an Unternehmenssoware
sehr gut kennen, örtlich nahe am Kunden sind und nicht zuletzt eine Kommunikation in deutscher Sprache möglich ist.
6.3. Online-Community
Auf verschiedenen Plaformen wie den öffentlichen Foren auf openerp.com, der Entwicklungsplaform Launchpad,
dem Hashtag #OpenERP auf Twier, dem Programmiererforum stackoverflow.com, privaten Blogs und dem sozialen
Netzwerk Facebook, existiert eine weitläufige, unübersicht-
Abb. 20.: OpenERP-Partner in Deutschland
liche Community. Auch wenn dadurch Informationen nicht
immer einfach zu finden sind, findet sich doch eine große Vielfalt an Wissen und Unterstützung zu OpenERP. Eine erste Anlaufstelle bietet die Communityseite56 von OpenERP s.a.
Für die hier diskutierte Einührung in einem Start-Up-Unternehmen wurde der Weg mithilfe
der Online-Community anstelle eines Dienstleistungspartners gewählt. Auch wenn eines der
erklärten Ziele von OpenERP eine möglichst einfache Installation ist, hat sich doch herausgestellt, dass ein hohes Maß an IT-Know-how und viel Geduld bei der Suche nach funktionierenden Lösungen eine Voraussetzung ür diese Variante der Implementierung ist.57
Wie oben bereits erwähnt, sind Migrationen und die schnelle Korrektur von Programmfehlern
durch den Hersteller nur durch einen „OpenERP Enterprise“-Vertrag abgedeckt. Wer darauf
verzichten kann, findet in der Community häufig ebenfalls gute, kostenlose Lösungen, wie
etwa das Projekt OpenUpgrade, mit dem Migrationen von einem Release zum nächsten möglich
werden.58
56
hp://www.openerp.com/community
In Kapitel 8 finden sich deshalb die ersten Schrie zu einer grundlegenden, zukunsähigen Installation.
58
vgl. OpenUpgrade team (OpenUpgrade’s documentation)
57
39
7
Kapitel 7.
Systemarchitektur
Für eine Soware, die weltweit
von Tausenden Programmierern
weiterentwickelt wird, die in geschäskritischen, sicherheitsrelevanten Unternehmensbereichen
eingesetzt wird und die sich flexibel an aktuelle und zukünige Anforderungen, wie z. B. den
Zugriff auf Unternehmensdaten
über Smartphone und Tablet-PC,
Abb. 21.: Client-Server-Architektur
von OpenERP
anpassen soll, ist eine moderne, skalierbare Systemarchitektur
entscheidend.
Anhand der Kriterien Sowarekonzeption, verwendete Basistechnologien sowie Anpassungsund Erweiterungstechnologien erfolgt in diesem Kapitel eine eingehende, technische Analyse
von OpenERP.
7.1. Sowarekonzeption
Die Sowarekonzeption beschäigt sich mit den Fragen zum grundsätzlichen Auau der Soware. Welche Programmierparadigmen im OpenERP-Framework zum Einsatz kommen, erläutern die folgenden Unterabschnie.
40
Abb. 22.: Detaillierte Architektur von OpenERP
7.1.1. Client-Server- und Drei-Schichten-Architektur
Die Abbildungen 21 und 22 zeigen in unterschiedlichen Detailstufen die Architektur von OpenERP.
Diese setzt mit der Trennung von Präsentationsschicht („OpenERP Client“), Anwendungsschicht („OpenERP Server“) und Persistenzschicht („PostgreSQL-Datenbank“) konsequent auf
eine Drei-Schichten-Architektur59 . Neben der Übersichtlichkeit durch die klare Struktur ergeben sich aus den klar definierten Schnistellen zwischen den Schichten einige Vorteile:
Die Präsentationsschicht ist ür die Darstellung der Informationen auf dem Endgerät und
damit ür ein einheitliches, benutzerfreundliches Bedienkonzept innerhalb der gesamten
Anwendung zuständig. Sie verwendet dazu in der Auszeichnungssprache XML definierte
Benutzeroberflächen mit Diagrammen, Eingabeformularen, usw. Der Standardclient in
aktuellen Versionen ist der „OpenERP Web-Client“, der mithilfe eines Internetbrowsers
bedient wird. Er wird zwar neben dem Applikationsserver installiert, technisch gesehen
bildet er trotzdem als unabhängige Einheit eine eigene Schicht. Daneben existieren noch
der GTK-Client, der sich wie eine Desktopanwendung bedienen lässt, und weitere Clients, die als Apps ür Android und iPhone bzw. iPad umgesetzt sind.
Die Anwendungsschicht realisiert die eigentliche Applikationslogik der Anwendung durch
ihre Geschäsobjekte („Business Objects“) und Geschäsprozesse („Workflow Engine“).
In den in der Programmiersprache Python verfassten Modulen im „OpenERP Server“
finden die Berechnungen und Auswertungen sta, deren Ergebnis an die übergeordnete
Präsentationsschicht über Schnistellen weitergeleitet wird.
59
vgl. Dunkel und Holitschke (Sowarearchitektur Für Die Praxis, Seite 18)
41
Die Persistenzschicht sorgt mit ihrem integrierten objektrelationalen Mapper daür, dass die
in Python definierten Geschäsobjekte dauerha in der Datenbank abgelegt werden.
7.1.2. Objektrelationaler Mapper
OpenERP wurde von Grund auf und durchgehend nach dem Paradigma der objektorientierten Programmierung entwickelt. Um
diese Objekte möglichst komfortabel in der
zugrunde liegenden, relationalen Datenbank
PostgreSQL abzulegen, ist ein sogenannter „objektrelationaler Mapper“ erforderlich.
Dieser sorgt daür, dass mit wenig Aufwand
persistente Geschäsobjekte erstellt, bearbeitet und verwaltet werden können und dabei das relationale Datenmodell in den Hintergrund rückt. Abbildung 23 zeigt am Beispiel der Definition des Objektes „Partner“,
dass das Beerben der Klasse „Object Service“
(osv.osv) ausreicht, um ein neues, persistenAbb. 23.: Definition des Objektes „Partner“
tes Geschäsobjekt zu definieren. Mit weiteren Anweisungen können darüber hinaus
unter anderem Aribute und ihre Standard-
werte definiert werden und Nebenbedingungen (Constraints) in der Datenbank angelegt werden.
7.1.3. Modularität
Im Gegensatz zu vielen klassischen ERP-Systemen, die als monolithische Strukturen aufgebaut
sind, besteht OpenERP nur aus einem allgemeinen Applikationsframework, das mit den entsprechenden Modulen zum ERP-System wird. Jede Funktionalität, egal ob komplexes Produktionsplanungs- und -steuerungssystem oder die einfache Erweiterung eines Geschäsobjektes um
ein Eingabefeld, ist zu einem Baustein gekapselt. Diese Module können voneinander abhängen,
sich gegenseitig flexibel erweitern und Eigenschaen und Methoden erben und vererben.
42
Weitere Informationen zur Modularität befinden sich im entsprechenden Unterabschni 7.3.2
auf Seite 50 unter den Anpassungs- und Erweiterungstechnologien.
7.1.4. Mehrbenutzerfähigkeit
Ein ERP-System kann von vielen Benutzern gleichzeitig verwendet werden, die möglicherweise zur gleichen Zeit die gleichen Objekte bearbeiten oder deren Operationen sich gegenseitig beeinflussen. In diesem Zusammenhang ist die Umsetzung der Transaktionssicherheit und
des Sperrverfahrens ausschlaggebend. Darüber hinaus sind in einem Mehrbenutzersystem verschiedene Benutzerrollen mit unterschiedlichen Zugriffsrechten notwendig.
Mit der durchgängigen Drei-Schichten-Architektur und dem objektrelationalen Mapper sind
in OpenERP die Grundlagen ür eine übergreifende Mehrbenutzerähigkeit gegeben, die automatisch bei allen Modulen Anwendung findet. Programme, die an diesen Schichten vorbei
operieren, wie etwa durch einen direkten Zugriff auf die Datenbank per SQL-Anweisung, können diese Sicherheitsvorkehrungen jedoch umgehen.
7.1.4.1. Transaktionssicherheit
Eine Transaktion bezeichnet „eine Folge von Programmschrien, die als eine logische Einheit betrachtet werden.“60 Sie ist „ein abgeschlossener Vorgang, der die Datenbank von einem
konsistenten Zustand in einen neuen konsistenten Zustand überührt“61 und somit die Datenintegrität gewährleistet. Das Transaktionssystem stellt dabei die Einhaltung der sogenannten
ACID-Eigenschaen62 sicher:
Atomarität (Atomicity): Eine Transaktion wird entweder ganz oder gar nicht ausgeührt.
Transaktionen sind also „unteilbar“. Wenn eine atomare Transaktion abgebrochen wird,
ist das System unverändert.
Konsistenz (Consistency): Nach Ausührung der Transaktion muss der Datenbestand in einer konsistenten Form sein, wenn er es bereits zu Beginn der Transaktion war.
Isolation (Isolation): Bei gleichzeitiger Ausührung mehrerer Transaktionen dürfen sich diese nicht gegenseitig beeinflussen. (Siehe dazu auch 7.1.4.2 Sperrverfahren)
60
Wikipedia contributors (Transaktion (Informatik))
Gabler Wirtschaslexikon (Definition: Transaktion)
62
Wikipedia contributors (Transaktion (Informatik))
61
43
Dauerhaigkeit (Durability): Die Auswirkungen einer Transaktion müssen im Datenbestand dauerha bestehen bleiben. Die Effekte von Transaktionen dürfen also nicht „mit
der Zeit verblassen“ oder „aus Versehen verloren gehen“. Eine Verschachtelung von Transaktionen ist wegen dieser Eigenscha streng genommen nicht möglich, da ein Zurücksetzen (Rollback) einer äußeren die Dauerhaigkeit einer inneren, bereits ausgeührten
Transaktion verletzen würde.
Das OpenERP-Framework bündelt automatisch alle Anweisungen, die an die Anwendungsschicht mithilfe eines Funktionsaufrufs (RPC)63 übergeben werden, zu Transaktionen. Dies betri sowohl alle Anfragen durch OpenERP-Clients als auch über externen Aufruf von Webservices.
7.1.4.2. Sperrverfahren
Falls mehrere Operationen auf dieselben Ressourcen zugreifen, sind Sperrverfahren notwendig,
um gegenseitiges Überschreiben von Änderungen zu verhindern. OpenERP verwendet hierzu die Strategie der „Optimistischen Sperren“64 . Im Gegensatz zum „Pessimistischen Locking“
werden dabei gleichzeitige Zugriffe nicht grundsätzlich blockiert, sondern Transaktionen nur
bei tatsächlichen Konflikten zurückgesetzt. Um inkonsistente Daten zu erkennen, bedient sich
das OpenERP-Framework der „Snapshot Isolation“ der zugrunde liegenden Datenbank PostgreSQL65 . Diese vergleicht die Daten in der Datenbank zu Beginn der Transaktion mit den
Daten zu deren Ende und überprü, ob von parallelen Transaktionen gleichzeitig dieselben
Daten verändert wurden.
7.1.4.3. Berechtigungssystem
In einem Mehrbenutzersystem, das sensible Unternehmensdaten verwaltet, sind unterschiedliche Lese- und Schreibrechte ür die unterschiedlichen Anwenderrollen erforderlich. Als Grundvoraussetzung ist dazu eine Anmeldung am System erforderlich, die die Benutzerauthentifizierung erledigt. Anhand der definierten individuellen und gruppenspezifischen Zugriffsrechte
entscheidet das OpenERP-Framework über die ür den Benutzer geltenden Berechtigungen im
System.
63
vgl. OpenERP s.a. (OpenERP Coding Guidelines)
vgl. Dony (Comment #3 : Bug #992525 : OpenERP Server)
65
vgl. PostgreSQL Global Development Group (PostgreSQL: Documentation: 9.1: Transaction Isolation)
64
44
In OpenERP finden sich einige, nach typischen Anwendungsszenarien vordefinierte, Benutzerrollen, wie „Verantwortlicher Mitarbeiter im Bereich Finanzen & Controlling“ oder „Einfacher
Mitarbeiter im Personalwesen“, die den Benutzern über das Menü „Einstellungen | Benutzer |
Benutzer“ im Reiter „Zugriffsrechte“ zugewiesen werden können. In der Detaildefinition unter
„Einstellungen | Sicherheit | Rechte ür Daten“ bzw. „Rechte ür Anwendungen“ können diese
Rechte sehr exakt näher spezifiziert werden, wobei daür einiges an technischem Hintergrundwissen über den Auau von OpenERP erforderlich ist.66
7.1.5. Schnistellen
Eine komplexe Unternehmenssoware kann nicht sinnvoll vollkommen autark und unabhängig von anderen IT-Systemen arbeiten. OpenERP bietet aufgrund seiner Architektur und der
Tatsache, dass es Freie Soware ist, eine Vielzahl an Integrationsmöglichkeiten. Diese reichen
vom einfachen, manuellen Import von CSV-Dateien bis hin zum automatisierten Zugriff auf
die Anwendungsschicht per XML-RPC oder die Datenbank. Darüber hinaus ist die Einbindung
über ein E-Mail-Gateway Kernbestandteil des Systems.
7.1.5.1. CSV
Im Web-Client findet sich überall dort, wo Daten dargestellt
werden die Möglichkeit, diese als „comma-separated values“Datei zu exportieren oder externe Daten zu importieren. Diese
CSV-Dateien lassen sich leicht mit Microso Excel oder LibreOffice erstellen und bieten somit eine einfache, benutzerfreund- Abb. 24.: Import- und Exportliche Möglichkeit, die Daten aus dem ERP-System extern weiter-
funktion
zubearbeiten oder neue und geänderte Daten halb automatisiert
in die Datenbank einzuügen.
7.1.5.2. XML-RPC
Das Drei-Schichten-Modell von OpenERP sieht vor, dass die Präsentations- und die Anwendungsschicht über definierte, netzwerktransparente Webservices kommunizieren. Externe Anwendungen können diese XML-RPC-Aufrufe auch direkt ansprechen und Geschäsobjekte in
66
vgl. Modi und Collet (Security in OpenERP)
45
der gleichen Integrationstiefe wie der Client bearbeiten, wobei die oben genannten Funktionalitäten der Mehrbenutzerähigkeit und der objektrelationale Mapper ohne Einschränkungen
genutzt werden.
Für Programmierer stehen Bibliotheken wie „OpenObject on Python“ (OOOP)67 und der „OpenERPRails connector“ (OOOR)68 zur Verügung, die die einfache Verwendung des XML-RPC-Protokoll
in Drianwendungen ermöglichen. Miels der Erweiterung „TerminatOOOR“ kann auch die
spezielle ETL-Anwendung (Extraktion, Transformation, Laden) Kele69 zur Massendatenverarbeitung benutzt werden.
Abbildung 25 zeigt beispielha die Änderung des Status eines Produktes auf „Ende Produktlebenszyklus“ aus einer externen Python-Anwendung. Wie am Beispiel ersichtlich wird, erfordert XML-RPC ebenso wie der Web-Client eine Authentifizierung am Anwendungsserver mit
Benutzername und Passwort und erlaubt anschließend die direkte Bearbeitung des Geschäsobjektes.
Abb. 25.: Die Bibliothek OOOP
7.1.5.3. Direkter Datenbank-Zugriff
Nicht empfohlen, aber aufgrund der offenen Architektur möglich, ist der direkte Zugriff auf die
Datenbank des ERP-Systems. Zu bedenken gilt, dass auf diesem Weg sämtliche Sicherheitsvorkehrungen und Konsistenzprüfungen umgangen werden und berechnete Felder nicht zur Verügung stehen. Trotzdem kann der lesende Zugriff auf die Datenbank manchmal sinnvoll sein,
da damit komplexe Anfragen, ohne den Umweg über den „Flaschenhals“ Anwendungsserver,
direkt ausgeührt werden können.
Über die Funktionalität Office-Anwendungen per ODBC-Schnistelle („Open Database Connectivity“) direkt mit Datenbanken zu verbinden, besteht außerdem eine interessante und einfache Möglichkeit, Daten extern weiter zu bearbeiten.
67
hps://github.com/lasarux/ooop
hp://www.akretion.com/en/products-and-services/openerp-ooor-connector
69
hp://kele.pentaho.com
68
46
7.1.5.4. E-Mail-Gateway
Da ein Großteil der Kommunikation in einem Unternehmen per E-Mail erfolgt, ist eine Integration in das ERP-System sinnvoll. OpenERP verügt über eine leistungsähige E-Mail-Schnistelle,
die aus eingehenden E-Mails automatisch Datensätze erstellen und E-Mails versenden kann.
Ein möglicher Anwendungsbereich dieser Funktionalität ist die automatische Erstellung von
Verkaufschancen im Customer Relationship Management aus E-Mails an die Adresse „sales@fenecon.de“
oder die Verwaltung von Stellenbewerbungen an „jobs@fenecon.de“ über das Modul „Human
Ressources Recruitment Process“ (hr_recruitment). Ebenso können Liefer- und Bestellbestätigungen bei hinterlegter E-Mail-Adresse des Kunden direkt aus dem System an ihn versendet
werden.
Für weitergehende Integration der E-Mail-Kommunikation mit dem ERP-System stehen Erweiterungen ür Microso Outlook und Mozilla underbird zur Verügung.
7.2. Basistechnologien
Ausschlaggebende Kriterien ür die Zukunsähigkeit und Skalierbarkeit einer Soware sind
nicht nur die sinnvolle Sowarearchitektur, sondern auch die Eigenschaen der verwendeten
Basistechnologien. Deren Vor- und Nachteile sollen in diesem Abschni diskutiert werden.
7.2.1. Datenbank: PostgreSQL
PostgreSQL bezeichnet sich selbst als „the world’s most advanced open source database“70 . Mit
diesem Selbstverständnis verügt das freie, objektrelationale Datenbankmanagementsystem
über zahlreiche fortgeschriene Funktionen, die traditionell nur den Produkten großer, kommerzieller Anbieter wie Oracle oder Microso vorbehalten waren. Vom bekannteren OpenSource-Rivalen „MySQL“ unterscheidet es sich insbesondere durch den höheren Funktionsumfang und die weitgehende Konformität mit dem SQL-Standard ANSI-SQL 200871 , während
MySQL eher als benutzerfreundliche Datenbank ür Webentwickler gilt.72
70
PostgreSQL Global Development Group (PostgreSQL: e world’s most advanced open source database)
vgl. PostgreSQL Global Development Group (PostgreSQL: Documentation: 9.2: SQL Conformance)
72
vgl. PostgreSQL Global Development Group (PostgreSQL: Frequently Asked estions, Q: How does PostgreSQL
compare to MySQL?)
71
47
Aufgrund des objektrelationalen Mappers, über den das OpenERP-Framework jegliche Datenbankzugriffe abwickelt, ist es grundsätzlich möglich, auch andere Datenbankmanagementsysteme, insbesondere MySQL, einzusetzen – wobei offiziell nur PostgreSQL unterstützt wird.
7.2.2. Programmiersprache: Python
Als Programmiersprache, sowohl ür das OpenERP-Framework als auch ür die Module, wird
Python verwendet. Die, erst in den 1990er Jahren entwickelte, dynamisch typisierte und interpretierte Sprache wurde mit dem Ziel entworfen, möglichst einfach und benutzerfreundlich
zu sein.73 Sie eignet sich daher besonders ür den in OpenERP angestrebten „agilen“ Sowareentwicklungsprozess, der „mit geringem bürokratischen Aufwand, wenigen Regeln und meist
einem iterativen Vorgehen“74 auskommt. Die Sprache zeichnet sich unter anderem durch ihre Plaformunabhängigkeit, die vollständige Umsetzung objektorientierter Paradigmen und
einen enormen Fundus an verügbaren Bibliotheken aus. Ihr sichtbarstes Merkmal ist, dass
Code-Blöcke durch ihre Einrückung und nicht, wie in anderen Sprachen, durch Klammern
oder Schlüsselwörter begrenzt werden, wie das Beispiel in Abbildung 23 auf Seite 42 zeigt.
Python findet in den letzten Jahren mit Unternehmen wie Canonical, Google und YouTube75 eine immer professionellere Nutzerscha und taucht auch in den Programmiersprachen-Rankings
seit Jahren auf den vordersten Rängen auf. So sieht TIOBE76 die Sprache derzeit auf Platz acht,
während sie bei RedMonk77 sogar auf Platz vier der beliebtesten Programmiersprachen rangiert.
Mit Python 3.0 wurde vor einigen Jahren eine neue, nicht vollständig abwärtskompatible Version eingeührt. Die Anpassung des Codes von OpenERP auf die neue Version steht noch aus.
7.2.3. Auszeichnungssprache: XML
Die Auszeichnungssprache XML wird in OpenERP zur Vorgabe von Konfigurationsdaten und
vor allem zur Definition der Benutzeroberflächen in der Präsentationsschicht verwendet (siehe 7.1.1 Client-Server- und Drei-Schichten-Architektur). Die „Extensible Markup Language“
73
vgl. Wikipedia contributors (Python (Programmiersprache))
Wikipedia contributors (Agile Sowareentwicklung)
75
vgl. Python Soware Foundation (otes about Python)
76
vgl. TIOBE Soware BV (TIOBE Programming Community Index for September 2012)
77
vgl. O’Grady (e RedMonk Programming Language Rankings: September 2012)
74
48
gilt als sehr universelle Möglichkeit, hierarchische Daten strukturiert in Form von Elementen
(siehe Abbildung 26, Zeile 4: <field[…]>res.partner</field>) und Aributen
(name="model") abzulegen. Sie wird milerweile ür unterschiedlichste Zwecke, wie z. B.
Internetseiten (XHTML), Vektorgrafiken (SVG) und Textdokumente (OpenDocument und Microso Office mit OOXML), eingesetzt.78
Abb. 26.: Erweiterung des Views „Partner“ durch das CRM-Modul
Da sich der Auau von Benutzeroberflächen sehr gut als Hierarchie beschreiben lässt, ist XML
insbesondere ür diesen Zweck geeignet. In Anlehnung an die objektorientierte Programmierung ermöglicht OpenERP auch die Vererbung von Views mit der expliziten Möglichkeit, einzelne Felder zu ersetzen, zu entfernen oder neu hinzuzuügen79 – eine Funktionalität, die insbesondere in der Erweiterung von Stammdatenoberflächen durch Module Verwendung findet.
So ügt beispielsweise das „Customer Relationship Management“-Modul den Reiter „Historie“
in die Oberfläche „Partner“ ein.
7.3. Anpassungs- und Erweiterungstechnologien
ERP-Systeme sind ein Ansatz, unternehmerische Prozesse in einer Standardsoware abzubilden. Dennoch unterscheiden sich die spezifischen Ausprägungen der Geschäsprozesse in verschiedenen Unternehmen teilweise deutlich und stellen o gerade die entscheidenden Vorteile
gegenüber der Konkurrenz dar. Aus diesem Grund müssen ERP-Systeme Möglichkeiten bieten,
um sie an die jeweilige Unternehmung anzupassen.
Die folgenden Unterabschnie stellen Anpassungs- und Erweiterungstechnologien vor, die
OpenERP zu diesem Zweck vorsieht.
78
79
vgl. Wikipedia contributors (Extensible Markup Language)
vgl. Open Object Press (Technical Memento v0.6.5, Seite 9)
49
7.3.1. Personalisierung und Customizing
Im Allgemeinen erfolgt das Customizing über den zentralen Menüpunkt „Einstellungen“, der z. B. die Konfiguration der Nummernkreise (siehe 9.2) und die Verwaltung der Benutzer und des Berechtigungskonzeptes ermöglicht.
Weitere weniger komplexe Anpassungen werden ebenfalls direkt
im Client über die entsprechenden Menüpunkte durchgeührt; so
können etwa Eingabefelder direkt über den „Entwicklermodus“
hinzugeügt oder ausgeblendet werden.80 Darüber hinaus bietet jedes Eingabeformular die Möglichkeit, ür Felder Standardwerte zu
definieren. Auch der unter 5.3 „Anpassung von GeschäsprozesAbb. 27.: Menüpunkt
„Einstellungen“
sen“ vorgestellte Workflowdesigner zählt in diese Kategorie.
Alle diese Änderungen können mithilfe des „Module recorder“
(base_module_record)81 aufgezeichnet und zu wiederverwendbaren Modulen zusammengefasst werden.
7.3.2. Module
Tiefer gehende Eingriffe in die Funktionsweise des Systems und komplexe Individualprogrammierungen werden über Module in das System integriert. Die umfangreiche Unterstützung
objektorientierter Programmierparadigmen wie Vererbung und Delegation ermöglicht dabei
umfassende Anpassungen, ohne dass der vorhandene ellcode angetastet werden muss. Um
den Austausch von Erweiterungen in der Community zu ördern, stellt OpenERP den in Kapitel
5.4 vorgestellten „Enterprise App Store“ zur Verügung.
Jedes Modul wird innerhalb der OpenERP-Installation im Ordner „addons“ als eigenes Verzeichnis mit den entsprechenden Python-Programmen, XML-Dateien und weiteren Ressourcen geührt.
80
81
vgl. OpenERP s.a. (OpenERP 6.1. Functional Demo, ab Minute 06:30)
vgl. Open Object Press (Technical Memento v0.6.5, Seite 16)
50
7.3.3. Modifikation des ellcodes
Falls die oben genannten Eingriffsmöglichkeiten nicht ausreichen, um die Funktionsweise von
OpenERP hinreichend zu beeinflussen, steht als letzte Möglichkeit immer noch die direkte Modifikation des ellcodes zur Verügung. Zu beachten ist, dass in diesem Fall die Upgradeähigkeit der Soware eingeschränkt wird, da diese Änderungen bei jeder neuen Sowareversion manuell überprü und unter Umständen angepasst werden müssen. Die Installation von
OpenERP mithilfe des Versionsverwaltungssystems Bazaar, wie unter Abschni 8.2 beschrieben, kann diesen Prozess deutlich erleichtern, da jegliche Änderungen automatisch mitprotokolliert und dadurch nachvollziehbar werden.
51
Teil IV.
Implementierung
Die Evaluation im vorangegangenen Teil zeigt, dass die unter Kapitel 4.1 „Anforderungskatalog an ein Sowaresystem“ diskutierten Eigenschaen durch OpenERP erüllt werden. Teil IV
dokumentiert daher nun die Implementierung von OpenERP im Start-Up-Unternehmen FENECON GmbH & Co. KG. Sie untergliedert sich in die Phasen „Installation“, „Vorbereitung zur
Inbetriebnahme“ und den beispielhaen „Workflow: Vertriebsprozess ür ein LED-Projekt“.
52
8
Kapitel 8.
Installation
Dieses Kapitel beschreibt die Einrichtung der Datenbank (PostgreSQL), des OpenERP-Applikationsservers, des Reportings (LibreOffice) und der Client-PCs. Die Anleitung setzt dabei ein bestehendes, auf der Distribution Ubuntu 12.0482 basierendes Linux-Betriebssystem mit administrativem Zugriff auf die Konsole voraus. Im konkreten Fall wird der „Zentyal Linux Small Business
Server“83 in Version 3.0 auf einem „HP ProLiant N40L Microserver“84 verwendet, da sich diese
Kombination gut als Basis ür die Infrastruktur eignet, um eine gemeinsame Datenablage und
zentrale Benutzerauthentifizierung in einem kleinen Unternehmensnetzwerk zu realisieren.
8.1. Datenbank (PostgreSQL)
Das Installieren des Datenbankservers und der notwendigen Abhängigkeiten erledigt das folgende Kommando:
sudo a p t −g e t i n s t a l l p o s t g r e s q l
Im Anschluss müssen noch der Benutzer und die Datenbank ür OpenERP angelegt werden:
sudo su − p o s t g r e s
c r e a t e u s e r −−c r e a t e d b −−username p o s t g r e s −−no−c r e a t e r o l e \
82
hp://www.ubuntu.com
hp://www.zentyal.org
84
hp://h10010.www1.hp.com/wwpc/de/de/sm/WF06b/15351-15351-4237916-4237917-4237917-42480095163346.html
83
53
−−no−s u p e r u s e r −−pwprompt o p e n e r p
E n t e r p a s s w o r d f o r new r o l e : [ OpenERP−D a t e n b a n k p a s s w o r t ]
E n t e r i t a g a i n : [ OpenERP−D a t e n b a n k p a s s w o r t ]
exit
8.2. Applikationsserver (OpenERP)
Um das Betriebssystem ür den OpenERP-Applikationsserver vorzubereiten, müssen erst einige zusätzliche Programme installiert werden:
sudo a p t −g e t i n s t a l l b z r python−d a t e u t i l python−f e e d p a r s e r \
python−g d a t a python−l d a p python− l i b x s l t 1 python−l x m l \
python−mako python−o p e n i d python−p s y c o p g 2 python−p y b a b e l \
python−p y c h a r t python−p y d o t python−p y p a r s i n g \
python−r e p o r t l a b python−s i m p l e j s o n python−t z \
python−vatnumber python−v o b j e c t python−webdav \
python−werkzeug python−x l w t python−yaml python−z s i
Nun wird ein Benutzer „openerp“ angelegt, mit dessen Privilegen und in dessen Home-Verzeichnis
der OpenERP-Applikationsserver später ausgeührt wird:
sudo a d d u s e r −−s y s t e m −−home = / o p t / o p e n e r p −−group o p e n e r p
Mit einem weiteren Befehl kann man sich nun als „openerp“ einloggen:
sudo su − o p e n e r p −s / b i n / b a s h
Nun werden die ellcodes zur aktuellen Version 6.1 mithilfe des Versionskontrollsystems Bazaar (bzr) in das lokale Verzeichnis „/opt/openerp/version-control-6.1“ heruntergeladen. Dieses Verzeichnis dient in dieser Konfiguration von nun an als zentrale Ablage
ür alle Downloads.
mkdir v e r s i o n −c o n t r o l −6.1
cd v e r s i o n −c o n t r o l −6.1
b z r b r a n c h l p : o p e n o b j e c t −s e r v e r / 6 . 1 o p e n o b j e c t −s e r v e r
b z r b r a n c h l p : openerp −web / 6 . 1 openerp −web
b z r b r a n c h l p : o p e n o b j e c t −ad dons / 6 . 1 o p e n o b j e c t −addons
54
Die Dateien des OpenERP-Applikationsservers (openobject-server) werden nun mithilfe symbolischer Links unter dem Namen „/opt/openerp/server-6.1“ zusammengeügt, da
dieser die Erweiterungsmodule (z. B. diejenigen aus openobject-addons und openerp-web) im
Unterordner „./openerp/addons“ erwartet.
cd . .
l n −s v e r s i o n −c o n t r o l − 6 . 1 / o p e n o b j e c t −s e r v e r / s e r v e r −6.1
cd s e r v e r − 6 . 1 / o p e n e r p / ad dons /
l n −s ~ / v e r s i o n −c o n t r o l − 6 . 1 / o p e n o b j e c t −ad dons / * .
l n −s ~ / v e r s i o n −c o n t r o l − 6 . 1 / openerp −web / addons / * .
exit
Abschließend muss noch das Startskript aus Anhang B85 übernommen, die mitgelieferte OpenERPKonfigurationsdatei kopiert und angepasst und die Protokollierung eingerichtet werden.
cd / o p t / o p e n e r p / s e r v e r − 6 . 1 / i n s t a l l /
sudo nano / e t c / i n i t . d / openerp −s e r v e r
[ hier Inhalt einfügen ]
sudo chmod 7 5 5 / e t c / i n i t . d / openerp −s e r v e r
sudo chown r o o t : / e t c / i n i t . d / openerp −s e r v e r
sudo u p d a t e −r c . d openerp −s e r v e r d e f a u l t s
sudo cp openerp −s e r v e r . c o n f / e t c / openerp −s e r v e r . c o n f
sudo chmod 6 4 0 / e t c / openerp −s e r v e r . c o n f
sudo chown o p e n e r p : / e t c / openerp −s e r v e r . c o n f
sudo nano / e t c / openerp −s e r v e r . c o n f
d b _ p a s s w o r d = [ OpenERP−D a t e n b a n k p a s s w o r t ]
admin_passwd = [ OpenERP−A d m i n i s t r a t i o n s p a s s w o r t ]
l o g f i l e = / v a r / l o g / o p e n e r p / openerp −s e r v e r . l o g
sudo mkdir / v a r / l o g / o p e n e r p /
sudo chown o p e n e r p : r o o t / v a r / l o g / o p e n e r p /
Der OpenERP-Applikationsserver mit dem integrierten Webclient wird nun bei jedem Systemstart automatisch ausgeührt. Mit dem Befehl
sudo s e r v i c e openerp −s e r v e r s t a r t
85
vgl. Open Sourcerer, e (How to install OpenERP 6.1 on Ubuntu 10.04 LTS)
55
steht er auch ohne Neustart des Systems unter der Adresse »hp://[IP-Adresse des Servers]:8069«
zur Verügung. Über den Link „Manage Databases“ kann dort eine neue Datenbank angelegt
werden:
Abb. 28.: Erstellen einer OpenERP-Datenbank
Darauin steht eine leere aber vollwertige OpenERP-Instanz zur Verügung. Die internen Abläufe in der Protokolldatei können währenddessen mit diesem Befehl verfolgt werden:
t a i l −f / v a r / l o g / o p e n e r p / openerp −s e r v e r . l o g
8.3. Reporting (LibreOffice)
Als Reporting-Engine (vgl. 5.4.1 Reporting auf Seite 35) wird das Aeroo-Modul verwendet. Es
erfordert ein im „Headless“-Modus laufendes OpenOffice oder LibreOffice, deshalb ist dessen
Installation und die Einrichtung des Startskriptes (C) erforderlich.86
sudo a p t −g e t i n s t a l l
l i b r e o f f i c e −w r i t e r python−s e t u p t o o l s
sudo nano / e t c / i n i t . d / l i b r e o f f i c e −h e a d l e s s
sudo chmod 7 5 5 / e t c / i n i t . d / l i b r e o f f i c e −h e a d l e s s
sudo chown r o o t : / e t c / i n i t . d / l i b r e o f f i c e −h e a d l e s s
sudo u p d a t e −r c . d l i b r e o f f i c e −h e a d l e s s d e f a u l t s
86
vgl. Alistek Ltd. (Aeroo Reports Linux server)
56
Nun muss das Aeroo-Modul in die Installation integriert werden:
sudo su − o p e n e r p −s / b i n / b a s h
cd v e r s i o n −c o n t r o l − 6 . 1 /
bzr branch lp : aeroo / openerp6 . 1 . x aeroo
bzr branch lp : a e r o o l i b a e r o o l i b
cd ~ / s e r v e r − 6 . 1 / o p e n e r p / ad don s /
l n −s ~ / v e r s i o n −c o n t r o l − 6 . 1 / a e r o o / * .
exit
cd / o p t / o p e n e r p / v e r s i o n −c o n t r o l − 6 . 1 / a e r o o l i b / a e r o o l i b /
sudo python . / s e t u p . py i n s t a l l
Anschließend kann das Reporting-Modul über den OpenERP-Webclient installiert werden. Nach
der Aktivierung der erweiterten Schnistelle in den persönlichen Einstellungen („Zahnrad“ am
oberen rechten Bildrand) wird der Menüpunkt „Einstellungen | Übersicht Module | Update der
Module“ verügbar, mit dem die Liste der im Addons-Verzeichnis vorhandenen Module neu
geladen werden kann.
Im Fenster „Einstellungen | Übersicht Module“ können nun die Module „Aeroo Reports“ (report_aeroo) und „Aeroo Reports - OpenOffice Helper Addon“ (report_aeroo_ooo) installiert und
eine Verbindung zum LibreOffice-Dienst hergestellt werden. Zur Erstellung der Angebots- und
Rechnungsvorlagen ür Aeroo wird an dieser Stelle auf Abschni 9.1 „Anpassung des Reportings an das Corporate Design“ weiter unten verwiesen.
8.4. Client-PCs
Abb. 29.: Aufruf des OpenERP-Webclients
Aufseiten der Client-PCs sind ür gewöhnlich keine Anpassungen erforderlich. Dank der verwendeten Webtechnologien können sie einfach per Webbrowser auf den OpenERP-Server zugreifen:
h t t p : / / [ IP−A d r e s s e d e s S e r v e r s ] : 8 0 6 9
57
9
Kapitel 9.
Vorbereitung zur Inbetriebnahme
Nachdem die Installation von OpenERP im vorangegangenen Kapitel durchgeührt wurde,
steht nun das Customizing, also die Anpassung des ERP-Systems an das Unternehmen, an.
Wichtig ist auch hier wieder, wie in der gesamten Bachelorarbeit, die Einschränkung auf den
Einsatz in einem Start-Up-Unternehmen. Dies reduziert den Umfang der Inbetriebnahme deutlich im Vergleich zur Einührung eines ERP-Systems in einem bestehenden kleinen oder mittelständischen Unternehmen; insbesondere ist weder eine aufwendige Migration bestehender
Daten erforderlich, noch müssen komplexe bestehende Workflows im System abgebildet werden.
Im Falle der FENECON GmbH & Co. KG konnten die, bis zur Einührung von OpenERP angefallenen, Geschäsvorälle mit vertretbarem Aufwand manuell im System nacherfasst werden.
Für den Import größerer Datenmengen stellt OpenERP eine Reihe von Technologien bereit, die
im Unterabschni 7.1.5 „Schnistellen“ näher betrachtet werden. Außerdem waren die vordefinierten best-practice Prozesse ausreichend, sodass die Installation des Moduls „Verkaufsmanagement“ (sale) ausreichte, um die im „Anforderungskatalog bei Unternehmensgründung“
(Unterabschni 4.1.1) geforderte „Abbildung eines einfachen Vertriebsprozesses“ zu ermöglichen.
Die weiteren individuell notwendigen und gewünschten Anpassungen unterscheiden sich naturgemäß je nach Firma sehr. Zwei der Customizing-Maßnahmen, die ür die FENECON erforderlich waren, werden im Folgenden kurz vorgestellt.
58
9.1. Anpassung des Reportings an das Corporate Design
Die in OpenERP vordefinierten Reports sind zwar zweckmäßig, eine Anpassung an das Corporate Design des Unternehmens ist jedoch aufgrund der verwendeten Auszeichnungssprache
RML sehr aufwendig. Aus diesem Grund wurden die Vorlagen ür Dokumente, die an den Kunden gerichtet sind, wie etwa Angebote, Rechnungen und Lieferscheine, miels Aeroo Reports
neu erstellt. Andere Berichte, die nur intern verwendet werden, wie z. B. die Bestandsvorschau
der Produkte, wurden im Original belassen.
Abb. 30.: Definition einer Dokumentenvorlage mit Aeroo Reports
Um eine neue Dokumentenvorlage mit Aeroo Reports anzulegen, wird im Menüpunkt „Einstellungen | Personalisierung | Aeroo Reports | Reports“ mit „Anlegen“ ein neuer Datensatz
mit den Angaben aus Abbildung 30 erstellt. Der bestehende RML-Report ür Rechnungen wird
dabei durch die Namensgleichheit im Feld „Dienst Name“ ersetzt. Im „Template path“ muss
der Pfad zu einer Vorlagendatei angegeben werden; ein Beispiel dazu findet sich in Anhang
D.2. Mithilfe eines Parsers, der im entsprechenden Reiter angegeben wird, können dem Report über eigene Programmierung weitere Umgebungsvariablen und Hilfsfunktionen zur Verügung gestellt werden. Der hier verwendete ellcode befindet sich in Anhang D.1 und im
Modul „fenecon_aeroo_reports“ in der Bazaar-Versionsverwaltung auf Launchpad87 .
87
hp://bazaar.launchpad.net/∼sfeilmeier/coreser-addons/trunk/files/head:/fenecon_aeroo_reports
59
9.2. Anpassung der Nummernkreise
Im Standard vergibt OpenERP eindeutige Nummern wie „VK/2012/0001“ ür die erste Rechnung im Jahr 2012 oder „SO001“ ür den ersten Verkaufsaurag. Um diese Nummernkreise
anzupassen, ist ein Eingriff in die „Sequenzen“ unter „Einstellungen | Konfiguration | Sequenzen und Identifizierungsmerkmale“ erforderlich. Die Vorgaben ür Rechnungen und Auräge
befinden sich in den Journalen „Verkau“ und „Sales Order“.
Um etwa das Format ür Rechnungsnummern als „RE“ gefolgt von einer zweistelligen Jahreszahl und einer fortlaufenden, dreistelligen Nummer vorzugeben, sind die Angaben wie in
Abbildung 31 geeignet. Das Ergebnis ist eine eindeutige Nummer der Form „RE12001“ ür die
nächste erstellte Rechnung.
Abb. 31.: Defintion eines Nummernkreises
60
10
Kapitel 10.
Workflow: Vertriebsprozess für ein
LED-Projekt
Abb. 32.: Vereinfachtes BPMN-Diagramm eines Vertriebsprozesses
Als Teil der Schulung ür die Mitarbeiter der FENECON GmbH & Co. KG zeigt dieses Kapitel einen einfachen Geschäsprozess zur Abwicklung des Vertriebs von LED-Leuchtmieln.
Gleichzeitig dient es der Demonstration der Eingabe- und Ausgabeparadigmen im OpenERPWebclient, wie z. B. der Möglichkeiten zum Anlegen neuer Datensätze. Abbildung 32 stellt
einen Teil des Vertriebsprozesses als BPMN-Diagramm (Business Process Model and Notation)
so dar, wie er in OpenERP abgebildet wird.
61
10.1. Angebot und Aurag
Angebote und Auräge verwaltet OpenERP unter dem Menüpunkt „Verkauf | Verkauf | Verkaufsauräge“ (siehe Abbildung 12 auf Seite 30). Abbildung 33 zeigt den Anzeigemodus „Liste“
zur Übersicht über den Status der aktuellen Verkaufsauräge. Er bietet die Möglichkeit einen
neuen Datensatz anzulegen (①) oder bestehende zu bearbeiten (②).
Abb. 33.: Liste der Verkaufsauräge
Ein Klick auf den Buon „Anlegen“ (①) erzeugt einen neues Angebot in der „Formular“-Ansicht.
OpenERP vergibt automatisch eine eindeutige Nummer (①) und trägt das aktuelle Datum (②)
ein. Im Feld „Kunde“ wird der Name des Geschäspartners eingetragen, der, sollte er noch
nicht im System erfasst sein, auch direkt aus dem Angebot heraus angelegt (③) werden kann.
In diesem Fall öffnet sich ein Fenster zur Erfassung eines neuen Kunden. Aus dessen Stammdaten werden im Anschluss unter anderem die Felder Rechnungsadresse, Lieferadresse und
Preisliste, aber auch die Sprache des Druckdokumentes, Steuerschlüssel, Zahlungsziele, usw.
vorbelegt. Mit dem Buon „Verkaufsauragpositionen Anlegen“ (④) öffnet sich das Fenster
aus Abbildung 36 zur Erfassung der einzelnen Artikel.
Entscheidend ür den weiteren Verlauf des Geschäsprozesses ist die Konfiguration der Fakturierungsregel. In diesem Beispiel wird die Regel „Lieferung und Fakturierung nach Abru“
verwendet, die dem oben dargestellten Workflow entspricht. Dabei werden im Anschluss Rechnung und Lieferschein nach Bedarf erstellt. Alternativ ist gerade im Onlinehandel o die Methode „Zahle vor Lieferung“ passend, die mit Bezahlung der Rechnung automatisch eine Warenauslieferung einplant.
Sobald alle Daten erfasst wurden, kann das Angebot als PDF-Datei exportiert und gedruckt
(⑤) werden. Nach einer positiven Rückmeldung durch den Kunden wird es im Anschluss per
„Bestätige Aurag“ (⑥) in einen Aurag (Anhang E.1) umgewandelt. Die Statusmeldungen
(Abbildung 37) geben Auskun darüber, welche Schrie durch den Prozess ausgelöst wurden.
62
Abb. 34.: Neuer Verkaufsaurag
Abb. 35.: Neuer Verkaufsaurag: Andere Informationen
Abb. 36.: Neue Verkaufsauragposition
Abb. 37.: Statusmeldung: Verkaufsaurag bestätigt
63
10.2. Lieferung
Mit einem Klick auf „Lieferaurag … ist geplant ür …“ oder über den entsprechenden Eintrag im Reiter „Historie“ des Aurags, kann nun die Warenauslieferung bestätigt werden. Sie
dient dazu, die physische Entnahme aus dem Lager zu buchen und so z. B. den Lagerbestand zu
aktualisieren. Nach den Schrien „Prüfe Verügbarkeit“ (⑧), „Bestätigen“ und „Validiere Produktlieferung“ verbucht OpenERP den Warenausgang. Der Buon „Lieferaurag“ erstellt bei
Bedarf einen Lieferschein wie in Anhang E.2.
Abb. 38.: Warenauslieferung bestätigen
10.3. Rechnung
Auf Basis des Verkaufsaurags wird mit dem Buon „Erstelle Schlussrechnung“ (⑨) eine neue
Rechnung als Entwurf erstellt. Sofern sich seit dem Verkaufsaurag keine Änderungen ergeben
haben, kann diese nun validiert (⑩) und als Rechnung (⑪, Anhang E.3) an den Kunden versandt
werden.
Abb. 39.: „Erstelle Schlussrechnung“ aus einem Verkaufsaurag
64
Abb. 40.: Kundenrechnung im Status „Entwur“
10.4. Bezahlung
Um nun den Vertriebsprozess abzuschließen, wird über den Buon „Zahlung“ (⑫) der Ausgleich
des offenen Postens verbucht. Dazu wird eine Einzahlung des Kunden erstellt, die nach ihrer
Bestätigung die Rechnung in der Buchhaltung ausgleicht.
Abb. 41.: Rechnung drucken und Bezahlung einleiten
65
Teil V.
Resümee
11
Kapitel 11.
Zusammenfassung
Ziel dieser Bachelorarbeit und des dahinterstehenden Projektes »Evaluation und Implementierung des Open Source ERP-Systems „OpenERP“ in einem Start-Up-Unternehmen« war, die neu
gegründete Firma FENECON GmbH & Co. KG auf eine solide, zukunsähige Sowarebasis zu
stellen. Außerdem sollte der Beweis angetreten werden, dass Open-Source-Soware ür den
Einsatz in unternehmerischen Kernbereichen geeignet ist. Beide Ansprüche können durchaus
als erüllt betrachtet werden. Zwar ist OpenERP noch lange nicht das leicht zu installierende,
„Out of the box“ System, als das es die Marketingabteilung von OpenERP s.a. gerne darstellt.
Trotzdem ist die Installation und Einrichtung mit guten IT-Kenntnissen, etwas Geduld und
den richtigen Anleitungen sehr wohl möglich. Wer den Aufwand nicht scheut, wird mit einem
System belohnt, das über beachtliche Funktionalität, Integration und Flexibilität verügt und
eine gute Basis ür Unternehmenswachstum und zukünige Anforderungen an die Soware
darstellt.
66
12
Kapitel 12.
Ausblick
Die vorliegende Arbeit beschäigt sich mit Version 6.1 von OpenERP. Auf dem „OpenERP
Community, Customers and Partners Summit“ in Brüssel im April 2012 verriet Fabien Pinckaers, Gründer und Geschäsührer der OpenERP s.a., mit welcher strategischen Ausrichtung
das Unternehmen in die Zukun geht. Als auälligste Änderung in der kommenden Version
7.0, die ür das vierte artal 2012 geplant ist, stellte er die intuitivere Benutzeroberfläche des
Webclient vor, der in Anlehnung an Plaformen wie salesforce88 und facebook89 stark auf Web
2.0 Technologie setzt. Durch die Konzentration auf benutzerfreundliche, anwenderorientierte
Bedienung sollte sich die Soware zukünig noch besser ür Start-Up-Unternehmen eignen.
Ein Ziel des Herstellers lautet:
„With OpenERP 7.0, new users should be productive in no time“90
Für das Unternehmen FENECON wird sich mit dem Erscheinen der neuen Version die Frage stellen, wann und ob ein Upgrade notwendig und sinnvoll erscheint. Die Antwort darauf
kann nur eine Evaluation der Änderungen in Version 7.0 ergeben, sobald diese freigegeben
ist. Gegen eine sofortige Aktualisierung des Systems spricht jedoch neben den üblichen Risiken bei Hauptversionen mit vielen Neuerungen, dass auch einige Module aus dem Enterprise
App Store verwendet werden, die erst von den jeweiligen Programmierern migriert werden
müssen. Es ist aber nicht davon auszugehen, dass ein Upgrade auf Version 7.0 - entweder mit
„OpenERP-Enterprise“-Vertrag oder mit dem freien OpenUpgrade - in einigen Monaten eine
große Herausforderung darstellen wird.
88
hp://www.salesforce.com
hp://www.facebook.com
90
OpenERP s.a. (OpenERP - Using 7.0. is as easy as 10 clicks)
89
67
Teil VI.
Verzeichnisse
68
Literaturverzeichnis
Alistek Ltd. Aeroo Reports Linux server. : http://www.alistek.com/wiki/index.php/
Aeroo_Reports_Linux_server (besucht am 17. 09. 2012).
Baun, Christian u. a. (Okt. 2009). Cloud Computing: Web-basierte dynamische IT-Services. de.
Springer DE. : 9783642015939.
BBS Rechtsanwälte (Feb. 2011). Open-Source-Soware im Unternehmen: Verpflichtung ür beide Seiten. : http : / / bbs - law . de / 2011 / 02 / open - source - software - im unternehmen-verpflichtung-fuer-beide-seiten/ (besucht am 31. 08. 2012).
big-consulting GmbH. OpenERP Referenzen. : http : / / www . openbig . org / openerp referenzen (besucht am 09. 09. 2012).
Blank, Steve (Jan. 2010). What’s A Startup? First Principles. : http://steveblank.com/
2010/01/25/whats-a-startup-first-principles/ (besucht am 28. 06. 2012).
Bundesministerium ür Wirtscha und Technologie, Hrsg. (März 2001). Open-Source-Soware:
Ein Leitfaden ür kleine und milere Unternehmen. : http://oss- broschuere.
berlios.de/broschuere/broschuere-de.html (besucht am 10. 09. 2012).
Cockburn, Alistair (Feb. 2008). Use Cases effektiv erstellen. de. Hüthig Jehle Rehm. :
9783826617966.
Computerwoche (Jan. 2008). ERP-Migration fehlgeschlagen: Mit Blaulicht in die Insolvenz. :
http : / / www . computerwoche . de / software / erp / 1854252/ (besucht am
29. 08. 2012).
Coverity Inc. (Feb. 2012). Open Source Code ality On Par with Proprietary Code in 2011 Coverity Scan Report. : http : / / coverity . com / html / press / open - source code-quality-on-par-with-proprietary-code-in-2011-coverity-scan-
(besucht am 31. 08. 2012).
Delsart, Yves und Van Nieuwenhuysen, Christelle (Dez. 2011). OpenERP evaluation with SAP as
reference. : 978-2-960-08764-2.
Dony, Olivier. Comment #3 : Bug #992525 : OpenERP Server. : https://bugs.launchpad.
net/openobject-server/+bug/992525/comments/3 (besucht am 12. 09. 2012).
Dunkel, Jürgen und Andreas Holitschke (2003). Sowarearchitektur Für Die Praxis. de. Springer
DE. : 9783540002215.
report.html
69
EU-Kommission (Mai 2003). Empfehlung der Kommission vom 6. Mai 2003 betreffend die Definition der Kleinstunternehmen sowie der kleinen und mileren Unternehmen. (2003/361/EG).
: http://eur- lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:
2003:124:0036:0041:DE:PDF (besucht am 01. 09. 2012).
Free Soware Foundation. Kategorien freier und unfreier Soware. : http : / / www . gnu .
org/philosophy/categories.de.html (besucht am 31. 08. 2012).
—
(2007). GNU Affero General Public License (AGPL). : http : / / www . gnu . org /
licenses/agpl-3.0.de.html (besucht am 10. 09. 2012).
Gabler Wirtschaslexikon. Definition: Enterprise Resource Planning-System. : http : / /
wirtschaftslexikon . gabler . de / Definition / enterprise - resource -
(besucht am 30. 08. 2012).
—
Definition: Transaktion. : http : / / wirtschaftslexikon . gabler . de /
Definition/transaktion.html (besucht am 11. 09. 2012).
Hoppe, Till (Aug. 2006). Soware ür den Überblick - Am offenen Herzen. : http : / /
planning-system.html
www . handelsblatt . com / unternehmen / mittelstand / software - fuer - den -
(besucht am 01. 09. 2012).
Jungebluth, Volker (2008). Das ERP-Pflichtenhe. 4., überarb. Aufl. Heidelberg: mitp, REDLINE.
: 978-3-8266-5962-1.
Leiteritz, Raphael (2004). Open Source-Geschäsmodelle. Bd. 2004. : http://citeseerx.
ueberblick-am-offenen-herzen/2697732.html
ist.psu.edu/viewdoc/download?doi=10.1.1.83.6372&rep=rep1&type=pdf#
(besucht am 31. 08. 2012).
Modi, Harshad und Raphael Collet (Apr. 2012). Security in OpenERP. : http : / / de .
slideshare . net / openobject / openerp - security - in - openerp (besucht am
12. 09. 2012).
Neubert, Falk (Sep. 2011). Betriebswirtschaliche Anwendungssoware auf Basis Freier Soware
– eine Auswahl. : http://www.wt- os.de/fileadmin/user_upload/alle/
reco/erp/Broschüre_ERP_web.pdf (besucht am 05. 09. 2012).
O’Grady, Stephen. e RedMonk Programming Language Rankings: September 2012. : http:
//redmonk.com/sogrady/2012/09/12/language-rankings-9-12/ (besucht am
16. 09. 2012).
Open Object Press (Jan. 2011). Technical Memento v0.6.5. : http://doc.openerp.com/
memento/OpenERP_Technical_Memento_v0.6.5_A4_draft.pdf.
Open Source Initiative. e Open Source Definition. : http://opensource.org/docs/osd
(besucht am 10. 08. 2012).
Open Sourcerer, e (Feb. 2012). How to install OpenERP 6.1 on Ubuntu 10.04 LTS. : http:
page=153
//www.theopensourcerer.com/2012/02/how-to-install-openerp-6-1-onubuntu-10-04-lts/
70
(besucht am 16. 09. 2012).
OpenERP s.a. Customers References. : http : / / www . openerp . com / products / new references (besucht am 09. 09. 2012).
—
OpenERP - Open Source Business Applications. : http : / / www . openerp . com /
products/ (besucht am 05. 09. 2012).
—
OpenERP Coding Guidelines. : http://doc.openerp.com/v6.0/contribute/
15_guidelines/coding_guidelines_framework.html#never- commit- the-
(besucht am 11. 09. 2012).
—
Partner Program. : http://www.openerp.com/partners/partner- program
(besucht am 10. 09. 2012).
—
e OpenERP Publisher Warranty. : http://www.openerp.com/catalog/146
(besucht am 10. 09. 2012).
—
(Sep. 2012a). OpenERP - Using 7.0. is as easy as 10 clicks. : http://www.openerp.
com/node/1225 (besucht am 25. 09. 2012).
—
(März 2012b). OpenERP 6.1. Functional Demo. : http : / / www . youtube . com /
watch ? v = ElussgP7OcQ & feature = youtube _ gdata _ player (besucht am
16. 09. 2012).
OpenUpgrade team. OpenUpgrade’s documentation. : http : / / openupgrade - server .
readthedocs.org/en/latest/index.html (besucht am 10. 09. 2012).
Pansaers, Xavier (Apr. 2012). Vision & Update on Channel Strategy. Business & Management.
: http://de.slideshare.net/openobject/openerp-vision-update-onchannel-strategy (besucht am 09. 09. 2012).
Partsch, Helmuth (Juni 2010). Requirements-Engineering systematisch: Modellbildung ür sowaregestützte Systeme. de. Springer DE. : 9783642053573.
Pinckaers, Fabien und Els Van Vossel (Juli 2011). Integrate Your Logistic Processes with Openerp.
Tiny Sprl. : 2960087623.
PostgreSQL Global Development Group. PostgreSQL: Documentation: 9.2: SQL Conformance.
: http : / / www . postgresql . org / docs / current / static / features . html
(besucht am 13. 09. 2012).
—
PostgreSQL: Frequently Asked estions. : http://www.postgresql.org/about/
press/faq (besucht am 13. 09. 2012).
—
PostgreSQL: e world’s most advanced open source database. : http : / / www .
postgresql.org/ (besucht am 13. 09. 2012).
—
(2012). PostgreSQL: Documentation: 9.1: Transaction Isolation. : http : / / www .
postgresql . org / docs / 9 . 1 / static / transaction - iso . html (besucht am
12. 09. 2012).
Python Soware Foundation. otes about Python. : http://www.python.org/about/
quotes/ (besucht am 13. 09. 2012).
transaction
71
Raymond, Eric S. (Feb. 2001). e Cathedral and the Bazaar: Musings On Linux And Open Source
By An Accidental Revolutionary. O’Reilly Media. : 0596001088. : http://www.
catb.org/esr/writings/homesteading/cathedral-bazaar/ar01s04.html.
Reasoning LLC (Feb. 2003). How Open Source and Commercial Soware Compare. : http:
//www.reasoning.com/pdf/Open_Source_White_Paper_v1.1.pdf (besucht am
20. 08. 2012).
Ronneburg, Frank. Debian GNU/Linux Anwenderhandbuch. : http : / /
debiananwenderhandbuch . de / freiesoftware . html # osid (besucht am
10. 08. 2012).
Schatz, Anja, Péter Egri und Marcus Sauer. Open source ERP - Reasonable tools for manufacturing
SMEs? : http://www.ipa.fraunhofer.de/fileadmin/www.ipa.fhg.de/
pdf/Studien/OpenSource-ERP_Study_2011.pdf.
Sobola, Sabine. Open Source: Wer haet, wenn es schief geht? - manager magazin - Unternehmen.
: http://www.manager-magazin.de/unternehmen/it/0,2828,322293,00.
html (besucht am 10. 09. 2012).
TIOBE Soware BV. TIOBE Programming Community Index for September 2012. : http :
//www.tiobe.com/index.php/content/paperinfo/tpci/index.html (besucht
am 16. 09. 2012).
Wikipedia contributors (Sep. 2012a). Agile Sowareentwicklung. de. Page Version ID: 107404032.
: http : / / de . wikipedia . org / w / index . php ? title = Agile _
Softwareentwicklung&oldid=107404032 (besucht am 13. 09. 2012).
—
(Juni 2012b). Enterprise-Resource-Planning. de. Page Version ID: 104297053. : http:
//de.wikipedia.org/w/index.php?title=Enterprise-Resource-Planning&
(besucht am 27. 06. 2012).
(Sep. 2012c). Extensible Markup Language. de. Page Version ID: 107429881. : http:
oldid=104297053
—
//de.wikipedia.org/w/index.php?title=Extensible_Markup_Language&
—
oldid=107429881 (besucht am 16. 09. 2012).
(Sep. 2012d). Python (Programmiersprache). de. Page Version ID: 108009097. : http:
//de.wikipedia.org/w/index.php?title=Python_(Programmiersprache)
(besucht am 13. 09. 2012).
(Juli 2012e). Soware as a Service. de. Page Version ID: 105704135. : http://de.
&oldid=108009097
—
wikipedia . org / w / index . php ? title = Software _ as _ a _ Service & oldid =
(besucht am 31. 08. 2012).
(Juli 2012). Transaktion (Informatik). de. Page Version ID: 106066896. : http://
105704135
—
de.wikipedia.org/w/index.php?title=Transaktion_(Informatik)&oldid=
106066896
72
(besucht am 11. 09. 2012).
Abbildungsverzeichnis
1.
Logo der FENECON GmbH & Co. KG . . . . . . . . . . . . . . . . . . . . . . .
2.
Logo der Open Source Initiative
(hp://opensource.org/trademarks/opensource/print/opensource-rgb.ti) . . . . . . . . .
3.
8
12
Prognostizierter Umsatz mit Open Source Soware in Europa in den Jahren
2008 bis 2020
(PAC, ”D3 – Baseline Scenario for 2020: Economic and Social Impact of Soware & SowareBased Services” (2010)) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
4.
Office-Paket: Microso Word . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
5.
Kaufmännische Soware: CTO Warenwirtscha Business
(hp://www.ctosoware.de/images/phocagallery/Produkte/eho/thumbs//
phoca_thumb_l_ScreenshotWAWI4.jpg)
6.
. . . . . . . . . . . . . . . . . . . . . . . .
Mielstandssoware: Sage New Classic
(hp://www.sage.de/images/smb/screenshots/startseite-gross.jpg) . . . . . . . . . . . .
7.
21
22
Open Source ERP-Systeme: OpenZ
(hp://www.heise.de/soware/screenshots/g104473.jpg) . . . . . . . . . . . . . . . . .
23
8.
Startbildschirm von OpenERP . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
9.
Screenshot: www.evaluation-matrix.com . . . . . . . . . . . . . . . . . . . . .
29
10.
Grundphilosophie zur Anpassung der Soware an den Bedarf des Kunden: SAP
im Vergleich zu OpenERP
(Delsart, Yves und Van Nieuwenhuysen, Christelle (OpenERP evaluation with SAP as
reference, Seite 38)) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
11.
Anwendungsälle im Vertrieb . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
12.
Menüpunkt „Verkau“ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
13.
Anwendungsälle in der Buchhaltung . . . . . . . . . . . . . . . . . . . . . . .
31
14.
Menüpunkt „Finanzen“ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
15.
Anwendungsälle in der Lagerverwaltung . . . . . . . . . . . . . . . . . . . .
32
73
16.
Menüpunkt „Lager“ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
17.
User Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
18.
Workflowdesigner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
19.
Partnerstrategie des OpenERP-Herstellers OpenERP s.a.
(Pansaers, Xavier (Vision & Update on Channel Strategy, Folie 18)) . . . . . . . . . .
20.
37
OpenERP-Partner in Deutschland
OpenStreetMap und Mitwirkende, CC BY-SA
hp://www.openstreetmap.org und hp://creativecommons.org/licenses/by-sa/2.0 . . . .
21.
Client-Server-Architektur von OpenERP
. . . . . . . . .
40
(Nicos Interests (hp://en.wikipedia.org/wiki/OpenERP)) . . . . . . . . . . . . . . . .
41
23.
Definition des Objektes „Partner“ . . . . . . . . . . . . . . . . . . . . . . . . .
42
24.
Import- und Exportfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
25.
Die Bibliothek OOOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
26.
Erweiterung des Views „Partner“ durch das CRM-Modul . . . . . . . . . . . .
49
27.
Menüpunkt
(Stéphane Tteyssier (hp://blog.octo.com/en/first-steps-with-openerp))
22.
74
39
Detaillierte Architektur von OpenERP
„Einstellungen“ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
28.
Erstellen einer OpenERP-Datenbank . . . . . . . . . . . . . . . . . . . . . . . .
56
29.
Aufruf des OpenERP-Webclients . . . . . . . . . . . . . . . . . . . . . . . . . .
57
30.
Definition einer Dokumentenvorlage mit Aeroo Reports . . . . . . . . . . . .
59
31.
Defintion eines Nummernkreises . . . . . . . . . . . . . . . . . . . . . . . . . .
60
32.
Vereinfachtes BPMN-Diagramm eines Vertriebsprozesses . . . . . . . . . . . .
61
33.
Liste der Verkaufsauräge . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
34.
Neuer Verkaufsaurag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
35.
Neuer Verkaufsaurag: Andere Informationen . . . . . . . . . . . . . . . . . .
63
36.
Neue Verkaufsauragposition . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
37.
Statusmeldung: Verkaufsaurag bestätigt . . . . . . . . . . . . . . . . . . . . .
63
38.
Warenauslieferung bestätigen . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
39.
„Erstelle Schlussrechnung“ aus einem Verkaufsaurag . . . . . . . . . . . . . .
64
40.
Kundenrechnung im Status „Entwur“ . . . . . . . . . . . . . . . . . . . . . . .
65
41.
Rechnung drucken und Bezahlung einleiten . . . . . . . . . . . . . . . . . . .
65
Tabellenverzeichnis
1.
2.
Mitarbeiterzahlen und finanzielle Schwellenwerte zur Definition der Unternehmensklassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
Übersicht über Open Source ERP-Systeme . . . . . . . . . . . . . . . . . . . .
24
75
Teil VII.
Anhang
76
A
Anhang A.
Die Definition quelloffener Soware
(„Open Source Soware“)91
Einführung
„elloffen“ („Open Source“) bedeutet nicht nur freien Zugang zum ellcode. Bei quelloffener
Soware müssen die Lizenzbestimmungen in Bezug auf die Weitergabe der Soware folgenden
Kriterien entsprechen:
1. Freie Weitergabe
Die Lizenz darf niemanden in seinem Recht einschränken, die Soware als Teil eines SowarePaketes, das Programme unterschiedlichen Ursprungs enthält, zu verschenken oder zu verkaufen. Die Lizenz darf ür den Fall eines solchen Verkaufs keine Lizenz- oder sonstigen Gebühren
festschreiben.
2. ellcode
Das Programm muss den ellcode beinhalten. Die Weitergabe muss sowohl ür den ellcode als auch ür die kompilierte Form zulässig sein. Wenn das Programm in irgendeiner Form
ohne ellcode weitergegeben wird, so muss es eine allgemein bekannte Möglichkeit geben,
91
Ronneburg (Debian GNU/Linux Anwenderhandbuch, Version 1.9)
77
den ellcode zum Selbstkostenpreis zu bekommen, vorzugsweise als gebührenfreien Download aus dem Internet. Der ellcode soll die Form eines Programms sein, die ein Programmierer vorzugsweise bearbeitet. Absichtlich unverständlich geschriebener ellcode ist daher
nicht zulässig. Zwischenformen des Codes, so wie sie etwa ein Präprozessor oder ein Konverter
(„Translator“) erzeugt, sind unzulässig.
3. Abgeleitete Soware
Die Lizenz muss Veränderungen und Derivate zulassen. Außerdem muss sie es zulassen, dass
die solcherart entstandenen Programme unter denselben Lizenzbestimmungen weitervertrieben werden können wie die Ausgangssoware.
4. Unversehrtheit des ellcodes des Autors
Die Lizenz darf die Möglichkeit, den ellcode in veränderter Form weiterzugeben, nur dann
einschränken, wenn sie vorsieht, dass zusammen mit dem ellcode so genannte „Patch files“
weitergegeben werden dürfen, die den Programmcode bei der Kompilierung verändern. Die
Lizenz muss die Weitergabe von Soware, die aus verändertem ellcode entstanden ist, ausdrücklich erlauben. Die Lizenz kann verlangen, dass die abgeleiteten Programme einen anderen
Namen oder eine andere Versionsnummer als die Ausgangssoware tragen.
5. Keine Diskriminierung von Personen oder Gruppen
Die Lizenz darf niemanden benachteiligen.
6. Keine Einschränkungen bezüglich des Einsatzfeldes
Die Lizenz darf niemanden daran hindern, das Programm in einem bestimmten Bereich einzusetzen. Beispielsweise darf sie den Einsatz des Programms in einem Geschä oder in der
Genforschung nicht ausschließen.
78
7. Weitergabe der Lizenz
Die Rechte an einem Programm müssen auf alle Personen übergehen, die diese Soware erhalten, ohne dass ür diese die Notwendigkeit bestünde, eine eigene, zusätzliche Lizenz zu
erwerben.
8. Die Lizenz darf nicht auf ein bestimmtes Produktpaket beschränkt sein
Die Rechte an dem Programm dürfen nicht davon abhängig sein, ob das Programm Teil eines
bestimmten Soware-Paketes ist. Wenn das Programm aus dem Paket herausgenommen und
im Rahmen der zu diesem Programm gehörenden Lizenz benutzt oder weitergegeben wird, so
sollen alle Personen, die dieses Programm dann erhalten, alle Rechte daran haben, die auch in
Verbindung mit dem ursprünglichen Soware-Paket gewährt wurden.
9. Die Lizenz darf die Weitergabe zusammen mit anderer Soware nicht
einschränken
Die Lizenz darf keine Einschränkungen enthalten bezüglich anderer Soware, die zusammen
mit der lizenzierten Soware weitergegeben wird. So darf die Lizenz z. B. nicht verlangen, dass
alle anderen Programme, die auf dem gleichen Medium weitergegeben werden, auch quelloffen
sein müssen.
79
B
Anhang B.
OpenERP Startskript
(/etc/init.d/openerp-server)
#!/bin/sh
### BEGIN INIT INFO
# Provides:
# Required-Start:
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start:
# Default-Stop:
# Short-Description:
# Description:
### END INIT INFO
openerp-server
$remote_fs $syslog
$remote_fs $syslog
$network
$network
2 3 4 5
0 1 6
Enterprise Resource Management software
Open ERP is a complete ERP and CRM software.
PATH=/bin:/sbin:/usr/bin
DAEMON=/opt/openerp/server-6.1/openerp-server
NAME=openerp-server
DESC=openerp-server
# Specify the user name (Default: openerp).
USER=openerp
# Specify an alternate config file (Default: /etc/openerp-server.conf).
CONFIGFILE="/etc/openerp-server.conf"
# pidfile
PIDFILE=/var/run/$NAME.pid
# Additional options that are passed to the Daemon.
DAEMON_OPTS="-c $CONFIGFILE"
80
[ -x $DAEMON ] || exit 0
[ -f $CONFIGFILE ] || exit 0
case "${1}" in
start)
echo -n "Starting ${DESC}: "
start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
--chuid ${USER} --background --make-pidfile \
--exec ${DAEMON} -- ${DAEMON_OPTS}
echo "${NAME}."
;;
stop)
echo -n "Stopping ${DESC}: "
start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \
--oknodo
echo "${NAME}."
;;
restart|force-reload)
echo -n "Restarting ${DESC}: "
start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \
--oknodo
sleep 1
start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
--chuid ${USER} --background --make-pidfile \
--exec ${DAEMON} -- ${DAEMON_OPTS}
echo "${NAME}."
;;
*)
N=/etc/init.d/${NAME}
echo "Usage: ${NAME} {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
81
C
Anhang C.
LibreOffice Startskript
(/etc/init.d/libreoffice-headless)
#!/bin/sh
### BEGIN INIT INFO
# Provides:
# Required-Start:
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start:
# Default-Stop:
# Short-Description:
# Description:
### END INIT INFO
libreoffice-headless
$remote_fs $syslog
$remote_fs $syslog
$network
$network
2 3 4 5
0 1 6
LibreOffice Headless Server
LibreOffice Headless Server
PATH=/bin:/sbin:/usr/bin
DAEMON=/usr/bin/loffice
NAME=libreoffice-headless
DESC=libreoffice-headless
# Specify the user name (Default: openerp).
USER=openerp
# pidfile
PIDFILE=/var/run/$NAME.pid
[ -x $DAEMON ] || exit 0
82
case "${1}" in
start)
echo -n "Starting ${DESC}: "
start-stop-daemon --chuid ${USER} --start --name soffice.bin \
--background --startas /usr/bin/soffice \
-- -headless -nologo -nofirststartwizard -norestore \
-accept='socket,host=localhost,port=8100;urp'
echo "${NAME}."
;;
stop)
echo -n "Stopping ${DESC}: "
start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \
--oknodo
echo "${NAME}."
;;
restart|force-reload)
echo -n "Restarting ${DESC}: "
start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \
--oknodo
sleep 1
start-stop-daemon --chuid ${USER} --start --name soffice.bin \
--background --startas /usr/bin/soffice \
-- -headless -nologo -nofirststartwizard -norestore \
-accept='socket,host=localhost,port=8100;urp'
echo "${NAME}."
;;
*)
N=/etc/init.d/${NAME}
echo "Usage: ${NAME} {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
83
D
Anhang D.
Rechnungserstellung mit Aeroo
Reports
D.1. Ausschnie des Report-Parsers (parser.py)
from report import report_sxw
from report.report_sxw import rml_parse
from osv.orm import browse_null
class Parser(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
super(Parser, self).__init__(cr, uid, name, context)
objekt = self.pool.get(name).browse(cr,uid,context["active_id"],context)
## Bank: Ermittelt die für die Rechnung gültigen Kontodaten
# [...]
## Kontext: Erstellt den gültigen Kontext für die Reporting-Engine
self.localcontext.update({
'get_formatted_address': self.get_formatted_address,
'get_gender': self.get_gender,
'get_person_name': self.get_person_name,
'bank': self.bank,
})
# Gibt den Namen der Person zurück
def get_person_name(self, address):
# [...]
# Gibt eine formatierte Adresse zurück
def get_formatted_address(self, address):
# [...]
D.2. LibreOffice-Vorlage
84
<OBJECTS[0].COMPANY_ID.PARTNER_ID.NAME>
<OBJECTS[0].COMPANY_ID.PARTNER_ID.TITLE.NAME> •
<A["NAME"]><
<FOR EACH="A IN GET_FORMATTED_ADDRESS(OBJECTS[0].ADDRESS_INVOICE_ID)">
TEST="A.NAME2">
IF
<A["NAME2"]></ >
<A["STREET"]>< =" .
<A["STREET2"]></ >
IF
<_("IHR ANSPRECHPARTNER:")>
A STREET2">
IF TEST
<OBJECTS[0].USER_ID.EMPLOYEE_IDS[0].NA
ME>
IF
<_("TEL.")>:
<OBJECTS[0].USER_ID.EMPLOYEE_
IDS[0].WORK_PHONE><IF
<A["CITY"]>
<A["COUNTRY"]></
TEST="OBJECTS[0].USER_ID.EMPLOYEE_IDS[0].MOBILE_PHONE">
FOR>
<_("MOBIL")>:
<OBJECTS[0].USER_ID.EMPLOYEE_
IDS[0].MOBILE_PHONE></IF>
<_("FAX")>:
<OBJECTS[0].COMPANY_ID.FAX>
<_("E-MAIL")>:
<OBJECTS[0].USER_ID.EMPLOYEE_
<
S
E
T
L
A
N
G
(
O
.
P
A
T
E
S
T
= "
O
B
J
E
C
T
S
[ 0 ] .
T
Y
P
E
T
E
S
T
= "
O
B
J
E
C
T
S
[ 0 ] .
S
T
A
T
R
T
N
E
R
_
I
.
D
L
A
N
= =
G
'
= =
E
O
R
O
U
T
_
'
O
P
E
'
D
E
_ D E ' ) >
I
N
V
O
N
'
O
I
C
R
<
' " > <
E
O
B
J
E
C
C
C
T
H
H
S
O
O
O
O
S
S
[ 0 ] .
> <
E
> <
E
S
T
A
W
W
T
H
H
E
E
N
N
= =
E
'
P
A
I
<_("RE
' " >
D
")> <_("NR.")>
<OBJECTS[0].NUMBER>
<_("PROFORMARECHNUNG")>
<_("RECHNUNG
(ENTWURF)")>
<_("RECHNUNG (STORNIERT)")>
<_("GUTSCHRIFT")>
<_("NR.")> <OBJECTS[0].NUMBER>
<_("EINGANGSRECHNUNG"
)> <_("NR.")> <OBJECTS[0].NUMBER>
<_("EINGANGSGUTSCHRIFT
")> <_("NR.")> <OBJECTS[0].NUMBER>
C H N U N G
< /
'
P
R
O
F
O
R
M
A
T
E
S
T
= "
O
B
J
W
H
E
> <
N
W
H
E
N
T
E
S
= "
T
E
C
T
[ 0 ] .
S
E
N
T
E
S
T
= "
O
S
T
A
T
= =
E
'
W
D
H
R
E
A
F
T
E
S
T
= "
O
B
J
E
C
T
B
S
E
C
> <
N
J
E
C
T
S
[ 0 ] .
T
Y
P
= =
E
'
W
O
[ 0 ] .
T
Y
P
E
= =
'
I
N
_
I
N
V
T
W
H
E
N
H
E
N
T
E
S
= "
T
O
B
J
E
C
T
T
A
T
E
> < /
C
U
_
T
R
E
F
U
N
D
[ 0 ] .
S
W
O
I
C
E
H
E
N
S
E
S
T
= "
O
B
J
E
C
T
S
[ 0 ] .
T
Y
P
E
= =
'
I
N
_
R
E
F
> <
S
T
A
T
W
H
E
N
= =
E
U
N
D
= =
H
O
O
S
W
H
E
E
N
> <
'
E
C
A
N
> < /
C
E
L
' " >
W
H
E
N
> <
' " >
W
H
E
> <
N
N
' " >
< /
T
[ 0 ] .
S
' " >
< /
T
J
< /
< /
H
B
2 ' " >
< /
W
O
W
H
W
H
E
N
' " >
< /
W
H
E
N
> < /
C
H
O
O
S
E
>
<_("SEHR GEEHRTER HERR")>
<GET_PERSON_NAME(OBJECTS[0].ADDRESS_INVOICE_ID)>,</ ><
=" _
(
[0].
_
_ ) == 'F '"><_("SEHR GEEHRTE FRAU")>
<GET_PERSON_NAME(OBJECTS[0].ADDRESS_INVOICE_ID)>,</ ><
><_("SEHR GEEHRTE DAMEN UND HERREN,")></
></
>
<CHOOSE><WHEN TEST="GET_GENDER(OBJECTS[0].ADDRESS_INVOICE_ID) == 'HERR'">
WHEN
WHEN TEST
WHEN
OTHERWISE
GET GENDER OBJECTS
ADDRESS INVOICE ID
RAU
OTHERWISE
<_("HIERMIT STELLEN WIR IHNEN FOLGENDE ARTIKEL IN RECHNUNG:")></
'"><_("HIERMIT BESTÄTIGEN WIR DIE FOLGENDE GUTSCHRIFT:")></
></
>
<CHOOSE><WHEN TEST="OBJECTS[0].TYPE == 'OUT_INVOICE'">
'OUT_REFUND
WHEN><WHEN TEST="OBJECTS[0].TYPE
WHEN
<_("BEZEICHNUNG")>
CHOOSE
==
CHOOSE
<_("ANZAHL <_("EINHEI <_("EINZELPR <_("GESAMTPRE
")>
T")>
EIS")>
IS")>
<FOR EACH="LINE IN OBJECTS[0].INVOICE_LINE">
[<LINE.PRODUCT_ID.DEFAULT_CODE>]
</ ><LINE.PRODUCT_ID.NAME><
=" . ">
<IF TEST="LINE.PRODUCT_ID.DEFAULT_CODE">
IF
IF TEST
<LINE.NOTE></ >
IF
<OBJECTS[0].COMPANY_ID.PARTNER_ID.NAME>
<OBJECTS[0].COMPANY_ID.PARTNER_ID.TITLE.NAM
E>
<OBJECTS[0].COMPANY_ID.STREET>,
<OBJECTS[0].COMPANY_ID.ZIP>
LINE NOTE
<FORMATLANG <LINE.UOS_I
(LINE.QUANTIT D.NAME>
Y, DIGITS=3)>
<OBJECTS[0].COMPANY_ID.CITY>
_ID.EMAIL>
<_("TEL.")>:
<OBJECTS[0].COMPANY
_ID.PHONE>
<_("FAX")>:<OBJECTS[0].COMPANY_ID.FAX>
<_("E-MAIL")>:
<OBJECTS[0].COMPANY
<IF TEST="LINE.PRICE_UNIT !
<IF TEST="LINE.PRICE_SUBTOTAL !=
<FORMATL 0"><FORMATLANG
ANG(LINE.PRIC (LINE.PRICE_SUBT
E_UNIT)> <OB OTAL)> <OBJECTS
= 0">
<_("GESCHÄFTSFÜHRER")>:
Franz-Josef Feilmeier
<_("REGISTERGERICHT DEGGENDORF")>:
HRA 2540
<_("PERSÖNLICH HAFTENDE
GESELLSCHAFTERIN")>:
<OBJECTS[0].COMPANY_ID.PARTNER_ID.NAME> <OBJECTS[0].COMPANY_ID.PARTNER_ID.TITLE.NAME> • <OBJECTS[0].COMPANY_ID.STREET> •
<OBJECTS[0].COMPANY_ID.ZIP> <OBJECTS[0].COMPANY_ID.CITY>
<IF TEST="GETLANG() != 'DE_DE'"><_("DEUTSCHLAND")></WHEN>
<IF TEST="LINE.DISCOUNT">
</IF>
<_("RABATT")>
: <STR('%.0F'
%
(LINE.DISCOUNT))
> %</ ></ >
IF
IF
</FOR>
<_("ZWISCHENSUMME
(NETTO)")>
<FORMATLANG(OBJECTS[0].AMO
UNT_UNTAXED)> <OBJECTS[0].C
URRENCY_ID.SYMBOL>
<FOR EACH="LINE IN OBJECTS[0].TAX_LINE">
<_("ZZGL.")> <OBJECTS[0].I
NVOICE_LINE[
0].INVOICE_LI
NE_TAX_ID[0]
.DESCRIPTION>
<FORMATLANG(LINE.AMOUNT)>
<OBJECTS[0].CURRENCY_ID.SYMBO
L>
</FOR>
<_("GESAMTSUMME
(BRUTTO)")>
<FORMATLANG(OBJECTS[0].AMO
UNT_TOTAL)> <OBJECTS[0].CURR
ENCY_ID.SYMBOL>
<IF TEST="OBJECTS[0].PAYMENT_TERM.NAME"><_("ZAHLUNGSBEDINGUNGEN")>: <CHOOSE><WHEN
TEST="OBJECTS[0].PAYMENT_TERM.NOTE != ''"><OBJECTS[0].PAYMENT_TERM.NOTE></WHEN><OTHERWISE><OBJEC
TS[0].PAYMENT_TERM.NAME></OTHERWISE></CHOOSE><IF TEST="OBJECTS[0].PAYMENT_TERM.NAME ==
'BILLPAY'">
<_("VERWENDUNGSZWECK")>:
<OBJECTS[0].REFERENCE></IF></IF>
<IF TEST="OBJECTS[0].COMMENT">
<OBJECTS[0].COMMENT></ >
IF
<_("ES GELTEN UNSERE ALLGEMEINEN GESCHÄFTSBEDINGUNGEN.")>
<_("MIT FREUNDLICHEN GRÜSSEN")>
<OBJECTS[0].USER_ID.EMPLOYEE_IDS[0].NAME>
-2-
E
Anhang E.
Belege im Vertriebsprozess
E.1. Verkaufsaurag
E.2. Lieferschein
E.3. Rechnung
87
FENECON GmbH & Co. KG • Brunnwiesenstr. 4 • 94469 Deggendorf
Musterfirma AG
Herr Mustermann
Musterstraße 1
Ihr Ansprechpartner:
Stefan Feilmeier
12345 Musterort
Tel.:
+49 991 6488000 5
Fax:
+49 991 6488000 9
E-Mail: stefan.feilmeier@fenecon.de
Bestellbestätigung
Beleg-Nr.:
VA0105
Datum:
25.09.2012
Nr. VA0105
Sehr geehrter Herr Mustermann,
hiermit bestätige ich Ihre Bestellung:
Bezeichnung
Anzahl
[1002090101] FENECON-E27-9W
Einheit
1,000
LED-Lampe als Ersatz für 60W Glühbirne mit großer
Schraubfassung (E27)
Stück
Zwischensumme (netto)
zzgl. 19% USt
Gesamtsumme (brutto)
Einzelpreis Gesamtpreis
20,16 €
20,16 €
20,16 €
3,83 €
23,99 €
Lieferung: Musterfirma AG, Herr Mustermann
Musterstraße 1, 12345 Musterort
Es gelten unsere Allgemeinen Geschäftsbedingungen.
Mit freundlichen Grüßen
Stefan Feilmeier
FENECON GmbH & Co. KG
Brunnwiesenstr. 4, 94469 Deggendorf
Tel.:
+49 991 6488000 0
Fax:
+49 991 6488000 9
E-Mail: info@fenecon.de
Geschäftsführer: Franz-Josef Feilmeier
Registergericht Deggendorf: HRA 2540
Persönlich haftende Gesellschafterin:
FENECON Verwaltungsgesellschaft mbH
Registergericht Deggendorf: HRB 3635
Bank: Sparkasse Deggendorf
Finanzamt Deggendorf
BLZ: 74150000
Ust-ID-Nr.: DE277646519
Konto: 420151987
Steuernummer: 108/159/07006
BIC: BYLADEM1DEG
IBAN: DE83 7415 0000 0420 1519 87
www.fenecon.de
FENECON GmbH & Co. KG • Brunnwiesenstr. 4 • 94469 Deggendorf
Musterfirma AG
Herr Mustermann
Musterstraße 1
Ihr Ansprechpartner:
Stefan Feilmeier
12345 Musterort
Tel.:
+49 991 6488000 5
Fax:
+49 991 6488000 9
E-Mail: stefan.feilmeier@fenecon.de
Beleg-Nr.:
OUT/00081
Lieferschein
Sehr geehrter Herr Mustermann,
vielen Dank für Ihre Bestellung. Hiermit bestätigen wir die folgende Lieferung:
Bezeichnung
Anzahl
[1002090101] FENECON-E27-9W
1,000
LED-Lampe als Ersatz für 60W Glühbirne mit großer
Schraubfassung (E27)
Lieferung erhalten:
Einheit
Stück
_____________________________
_____________________________
Ort, Datum
Unterschrift
FENECON GmbH & Co. KG
Brunnwiesenstr. 4, 94469 Deggendorf
Tel.:
+49 991 6488000 0
Fax:
+49 991 6488000 9
E-Mail: info@fenecon.de
Geschäftsführer: Franz-Josef Feilmeier
Registergericht Deggendorf: HRA 2540
Persönlich haftende Gesellschafterin:
FENECON Verwaltungsgesellschaft mbH
Registergericht Deggendorf: HRB 3635
Bank: Sparkasse Deggendorf
Finanzamt Deggendorf
BLZ: 74150000
Ust-ID-Nr.: DE277646519
Konto: 420151987
Steuernummer: 108/159/07006
BIC: BYLADEM1DEG
IBAN: DE83 7415 0000 0420 1519 87
www.fenecon.de
FENECON GmbH & Co. KG • Brunnwiesenstr. 4 • 94469 Deggendorf
Musterfirma AG
Herr Mustermann
Musterstraße 1
Ihr Ansprechpartner:
Stefan Feilmeier
12345 Musterort
Tel.:
+49 991 6488000 5
Fax:
+49 991 6488000 9
E-Mail: stefan.feilmeier@fenecon.de
Beleg-Nr.:
Referenz:
Datum:
RE12209
VA0105
25.09.2012
Rechnung Nr. RE12209
Sehr geehrter Herr Mustermann,
hiermit stellen wir Ihnen folgende Artikel in Rechnung:
Bezeichnung
Anzahl
[1002090101] FENECON-E27-9W
Einheit
1,000
LED-Lampe als Ersatz für 60W Glühbirne mit großer
Schraubfassung (E27)
Stück
Zwischensumme (netto)
zzgl. 19% USt
Gesamtsumme (brutto)
Einzelpreis Gesamtpreis
20,16 €
20,16 €
20,16 €
3,83 €
23,99 €
Zahlungsbedingungen: Vorkasse
Es gelten unsere Allgemeinen Geschäftsbedingungen.
Mit freundlichen Grüßen
Stefan Feilmeier
FENECON GmbH & Co. KG
Brunnwiesenstr. 4, 94469 Deggendorf
Tel.:
+49 991 6488000 0
Fax:
+49 991 6488000 9
E-Mail: info@fenecon.de
Geschäftsführer: Franz-Josef Feilmeier
Registergericht Deggendorf: HRA 2540
Persönlich haftende Gesellschafterin:
FENECON Verwaltungsgesellschaft mbH
Registergericht Deggendorf: HRB 3635
Bank: Sparkasse Deggendorf
Finanzamt Deggendorf
BLZ: 74150000
Ust-ID-Nr.: DE277646519
Konto: 420151987
Steuernummer: 108/159/07006
BIC: BYLADEM1DEG
IBAN: DE83 7415 0000 0420 1519 87
www.fenecon.de
Erklärung
Name des Studenten: ............ Stefan Feilmeier
Name des Betreuers: ............. Prof. Dr. Josef Schneeberger
Thema der Bachelorarbeit:
Einführung eines ERP-Systems in einem Start-Up-Unternehmen:
Evaluation und Implementierung von OpenERP
1.
Ich erkläre hiermit, dass ich die Bachelorarbeit gemäß § 35 Abs. 7 RaPO
(Rahmenprüfungsordnung für die Fachhochschulen in Bayern, BayRS 2210-4-1-4-1-WFK)
selbständig verfasst, noch nicht anderweitig für Prüfungszwecke vorgelegt, keine anderen
als die angegebenen Quellen oder Hilfsmittel benutzt sowie wörtliche und sinngemäße
Zitate als solche gekennzeichnet habe.
Deggendorf, den
2.
28.09.2012
(Datum)
____________________________________
(Unterschrift des Studenten)
Ich bin damit einverstanden, dass die von mir angefertigte Bachelorarbeit über die
Bibliothek der Hochschule einer breiteren Öffentlichkeit zugänglich gemacht wird.
Nein
Ja, nach Abschluss des Prüfungsverfahrens
Ja, nach Ablauf einer Sperrfrist von _____ Jahren
Ich erkläre und stehe dafür ein, dass ich alleiniger Inhaber aller Rechte an der
Bachelorarbeit einschließlich des Verfügungsrechts über Vorlagen an beigefügten
Abbildungen, Plänen o.ä., bin und durch deren öffentliche Zugänglichmachung weder
Rechte und Ansprüche Dritter noch gesetzliche Bestimmungen verletzt werden.
Deggendorf, den
28.09.2012
(Datum)
____________________________________
(Unterschrift des Studenten)
Bei Einverständnis des Verfassers mit einer Zugänglichmachung der Bachelorarbeit vom
Betreuer auszufüllen:
Eine Aufnahme eines Exemplars der Bachelorarbeit in den Bestand der Bibliothek und die
Ausleihe des Exemplars wird
befürwortet
nicht befürwortet
Deggendorf, den ____.____._______
(Datum)
____________________________________
(Unterschrift des Betreuers)