# Einführung

In diesem Benutzerhandbuch werden

1. allgemeine Themen rund um die Installation und Konfiguration
2. die einzelnen Menüpunkte von JVerein
3. sonstige Themen rund um JVerein&#x20;

beschrieben.

## Hinweis!

Dieses Handbuch steht, wie JVerein, unter [GPL V3](/sonstiges/lizenzen/gpl-v3).


# Allgemein

In diesem Kapitel erhalten Sie Informationen über die Installation und Konfiguration von JVerein. Weiterhin werden Themen wie Zugriff über verschiedene Tools auf die Datenbank und Multiuserbetrieb beschrieben.


# Installation

## Jameica-Installation

Die zum Betriebssystem passende Jameica-Version ist von <http://www.willuhn.de/products/jameica/download.php> herunter zu laden. Sofern Jameica in einer älteren Version bereits installiert ist, ist das Verzeichnis entweder umzubenennen oder zu löschen. Die heruntergeladene ZIP-Datei ist an der gewünschten Stelle zu entpacken (z. B. C:\Programme). In dem entpackten Verzeichnis die zum verwendeten Betriebssystem passende Startdatei starten.

Hinweis: Bei der Erstinstallation von jameica ist unbedingt darauf zu achten, dass die passende Java-Version eingesetzt wird. Zu der 64-bit-Version von Jameica muss unbedingt die 64-bit-Version von Java eingesetzt werden. Ansonsten gibt es sonderbare Fehlermeldungen beim Start.

Beim ersten Start der neuen Version wird die Datenbank an die neuen Strukturen angepasst und ist dann mit der alten Version nicht mehr kompatibel. Es gibt auch keinen Weg zurück. Daher ist es sinnvoll, das Datenverzeichnis vor dem Update als Sicherung zu kopieren. Falls etwas schief geht ist damit mit der alten Version noch immer ein lauffähiges System vorhanden.

Sofern noch keine Plugins installiert sind, erscheint folgende Meldung:

![](/files/-LhnDaLAdkLIBKw9-PJQ)

## Hibiscus-Installation

Datei | Plugins online suchen

Sofern Hibiscus erstmalig installiert wird und das Zertifikat bislang noch nicht akzeptiert wurde, erscheint folgende Meldung, die mit "ja" zu bestätigen ist:

![](/files/-LhnDaLCUTEeDFr7tHGA)

![](/files/-LhnDaLEe2hRg4IO-Yxt)

Passende Hibiscus-Version anklicken und "Herunterladen und installieren" anklicken.

![](/files/-LhnDaLG--qimEcER7z7)

"Ja" anklicken

![](/files/-LhnDaLIIAXjNYLQxAxI)

Passenden Plugin-Ordner auswählen. Wichtig! Eine einmal getroffene Auswahl sollte beibehalten werden.

Jameica beenden und neu starten.

## JVerein-Installation

Datei | Plugins online suchen

Wichtig! Wenn mit Jameica < 2.7 gearbeitet wird, ist das aktuelle JVerein-Repositiory noch nicht eingetragen. "Plugin-Repositories verwalten" anklicken, rechter Mausklick auf das alte JVerein-Repository, löschen. "Neues Repository hinzufügen" anklicken, URL: <http://www.jverein.de/updates>.

JVerein-Repository auswählen:

![](/files/-LhnDaLKY9NEexMDdJ55)

Passende JVerein-Version auswählen und "Herunterladen und installieren" anklicken.

![](/files/-LhnDaLMEfXKjAuL7kCJ)

"Ja" anklicken.

![](/files/-LhnDaLOVz2C52UOxA2w)

"Ja" anklicken.

![](/files/-LhnDaLQn_SI8ksa_Ijh)

Passenden Plugin-Ordner auswählen. Wichtig! Eine einmal getroffene Auswahl sollte beibehalten werden.

Jameica beenden und neu starten.

### Wichtig

Die Installation muss immer auf dem oben beschriebenen Weg erfolgen. Das direkte entpacken in das Plugins-Verzeichnnis wird nicht empfohlen.

## MySQL

JVerein unterstützt seit dem 29.1.2008 auch MySQL. Zur Installation siehe [MySQL-Support.](/allgemein/mysql-support)


# Changelog

[Version 2.8.18](https://github.com/jverein/jverein/milestone/2?closed=1) vom 23.6.2019

[Version 2.8.17](https://github.com/jverein/jverein/milestone/1?closed=1) vom 18.02.2018

[Version 2.8.17](https://sourceforge.net/p/jverein/tickets/search/?q=status%3Aclosed+%26%26+labels%3A2.8.16) vom 31.12.2017

[Version 2.8.15](https://sourceforge.net/p/jverein/tickets/search/?q=status%3Aclosed+%26%26+labels%3A2.8.15) vom 21.02.2017

[Version 2.8.14](https://sourceforge.net/p/jverein/tickets/search/?q=status%3Aclosed+%26%26+labels%3A2.8.14) vom 02.02.2016

[Version 2.8.13](https://sourceforge.net/p/jverein/tickets/search/?q=status%3Aclosed+%26%26+labels%3A2.8.13) vom 28.02.2016

[Version 2.8.12](https://sourceforge.net/p/jverein/tickets/search/?q=status%3Aclosed+%26%26+labels%3A2.8.12) vom 06.12.2015

[Version 2.8.11](https://sourceforge.net/p/jverein/tickets/search/?q=status%3Aclosed+%26%26+labels%3A2.8.11) vom 09.08.2015

[Version 2.8.10](https://sourceforge.net/p/jverein/tickets/search/?q=status%3Aclosed+%26%26+labels%3A2.8.10) vom 09.06.2015

[Version 2.8.9](https://sourceforge.net/p/jverein/tickets/search/?q=status%3Aclosed+%26%26+labels%3A2.8.9) vom 27.04.2015

[Version 2.8.8](https://sourceforge.net/p/jverein/tickets/search/?q=status%3Aclosed+%26%26+labels%3A2.8.8) vom 26.04.2015

[Version 2.8.7](https://sourceforge.net/p/jverein/tickets/search/?q=status%3Aclosed+%26%26+labels%3A2.8.7) vom 01.03.2015

[Version 2.8.6](https://sourceforge.net/p/jverein/tickets/search/?q=status%3Aclosed+%26%26+labels%3A2.8.6) vom 05.01.2015

[Version 2.8.4](https://sourceforge.net/p/jverein/tickets/search/?q=status%3Aclosed+%26%26+labels%3A2.8.4) vom 23.12.2014

[Version 2.8.3](https://sourceforge.net/p/jverein/tickets/search/?q=status%3Aclosed+%26%26+labels%3A2.8.3) vom 02.11.2014

[Version 2.8.2](https://sourceforge.net/p/jverein/tickets/search/?q=status%3Aclosed+%26%26+labels%3A2.8.2) vom 01.11.2014

[Version 2.8.1](https://sourceforge.net/p/jverein/tickets/search/?q=status%3Aclosed+%26%26+labels%3A2.8.1) vom 20.09.2014

[Version 2.8.0](https://sourceforge.net/p/jverein/tickets/search/?q=status%3Aclosed+%26%26+labels%3A2.8.0) vom 16.08.2014

[Version 2.6.3](https://sourceforge.net/p/jverein/tickets/search/?q=status%3Aclosed+%26%26+labels%3A2.6.3) vom 16.03.2014

[Version 2.6.2](https://sourceforge.net/p/jverein/tickets/search/?q=status%3Aclosed+%26%26+labels%3A2.6.2) vom 09.03.2014

[Version 2.6.1](https://sourceforge.net/p/jverein/tickets/search/?q=status%3Aclosed+%26%26+labels%3A2.6.1) vom 28.12.2013

### Version 2.6.0 vom 18.12.2013

#### Neu

* Beim Mitglied kann in der Mailübersicht eine Mail gelöscht werden. Siehe <http://www.jverein.de/forum/viewtopic.php?f=4&t=1248>
* Für den Mail-Absender kann jetzt auch ein Anzeigename gespeichert werden. Siehe <http://jverein.de/forum/viewtopic.php?f=1&t=1278>
* Buchungen duplizieren. Siehe <http://jverein.de/forum/viewtopic.php?f=5&t=1000&p=5122#p5122>
* BIC und IBAN bei Einstellungen, Mitgliedern und Kursteilnehmern eingefügt
* Konvertierungsmodul BIC und IBAN.
* IBAN-Check implementiert.
* SEPA-Konvertierung erweitert: Mandatsdatum kann bei allen Mitgliedern auf ein Datum gesetzt werden. Siehe auch <http://www.jverein.de/forum/viewtopic.php?f=1&t=1433&p=6365> und <http://www.jverein.de/forum/viewtopic.php?f=1&t=1580>
* Spenden für JVerein um SEPA erweitert.
* Import: Mandat\_Sequence und Mandat\_Version können jetzt importiert werden. <http://jverein.de/forum/viewtopic.php?f=5&t=1666&p=6763>
* Bei den Mitgliedern die Mandats-Sequenz eingefügt. Damit kann angegeben werden, ob das Mandat erstmalig, in Folge oder letztmalig genutzt wird. Momentan muss nach der Erstnutzung des Mandats die Sequenz händisch auf Folgenutzung umgestellt werden. Künftig wird das automatisch erledigt.
* SEPA-Lastschriften direkt zu Hibiscus übergeben.
* Buchführung: Anpassung an SEPA. Für die Mitgliederabrechnung muss ein Konto in der Buchführung existieren, dass entweder die IBAN des Vereinskontos oder die Kontonummer des Vereinskontos hat.
* Löschen von Adresstypen eingebaut.
* Mindestalter für die Berechnung des Mitgliedschaftsjubliäum. Patch von Rolf Mamat.
* Banken aus Österreich in die Bankentabelle aufgenommen. Weitere SEPA-Optimierung f. Österreich.
* Formulare duplizieren. Siehe <http://jverein.de/forum/viewtopic.php?f=1&t=1365>
* Auswertung der Adressen. Siehe <http://jverein.de/forum/viewtopic.php?f=8&t=1307&p=5233>
* Datum des SEPA-Mandats kann jetzt bei den Mitgliedern und Kursteilnehmern gespeichert werden. Bei bestehenden Mitgliedern wird das Eintrittsdatum eingesetzt.
* Splitbuchunen. Siehe <http://www.jverein.de/wiki/index.php?title=Splitbuchung>
* Import von Quickenbuchungen. Patch von Rolf Mamat.
* Automatisierte Änderung der Beitragsgruppe
* CSV-Export von Rechnungen und Mahnungen. Siehe <http://www.jverein.de/forum/viewtopic.php?f=1&t=273&p=1120#p1120>. Patch von Rolf Mamat.
* Neue Variable: Mitgliedskonto\_Stand = aktueller Kontostand dieses Mitglieds. Dieser Wert ist negativ wenn was offen ist. Weitere neue Variale: Mitgliedskonto\_Summe\_Offen = wert wie oben, allerdings ist er positiv wenn er offen ist. Siehe <http://www.jverein.de/forum/viewtopic.php?f=8&t=1547&p=6248>. Patch von Rolf Mamat
* Aufnahme der Buchungsnummer (buchung\_id) zu den Variablen und damit auch in den CSV-Export. Siehe <http://jverein.de/forum/viewtopic.php?f=1&t=1635>

#### Geändert

* Beim löschen eines Mitgliedes werden die verknüpften Mails gelöscht. Siehe <http://www.jverein.de/forum/viewtopic.php?f=5&t=1268>
* Eigenschaftsbezeichnungen müssen nur noch innerhalb einer Eigenschaftengruppe eindeutig sein. Siehe <http://jverein.de/forum/viewtopic.php?f=1&t=1249>
* Statistik DSB umbenannt in Statistik Jahrgänge. Siehe <http://jverein.de/forum/viewtopic.php?f=1&t=1195#p4934>
* Formularaufbereitung: Die Größe des Vorlagedokumentes wird jetzt für die Generierung gesetzt. Siehe <http://jverein.de/forum/viewtopic.php?f=8&t=1287>
* Standardadresstypen einrichten, wenn sie fehlen.
* Mitglied: Neu-Knöpfe bei Arbeitseinsätzen, Zusatzbeträgen, Wiedervorlage und Lehrgängen nach oben verschoben. Siehe auch <http://jverein.de/forum/viewtopic.php?f=5&t=1336>
* Kontonummern auf 12 Stellen erweitert (Österreich und Schweiz)
* Mitglied: Suchfelder für Name, Vorname und Strasse in normale Textfelder umgebaut.
* Externe Mitgliedsnummer in die Mitglieds-PDF-Auswertung aufgenommen.
* Mitglieder-Suche: Reset des Filters. Siehe <http://www.jverein.de/forum/viewtopic.php?f=8&t=1255>
* Erweiterung: Auf den Personalbögen werden jetzt Informationen zum Beitragszahler ausgeben.
* Arbeitseinsätze werden jetzt auch im Jahr des Austritts abgerechnet.
* Bei den Spendenbescheinigungen werden jetzt die zugrundeliegenden ausgegeben. Änderung von Rolf-Dieter.
* Das Mitgliedskonto wird jetzt standardmäßig geführt. Es kann nicht mehr abgeschaltet werden. Daraus ergibt sich, dass in der Buchführung das Konto, über das abgebucht wird, eingerichtet sein muss.
* Kontext-Menü bei der Buchungsübernahme entfernt. Siehe <http://www.jverein.de/forum/viewtopic.php?f=4&t=1431>
* Bei der Mitgliederauswertung kann jetzt das Format der CSV-Datei festgelegt werden. Patch von Rüdiger Wurth.
* Das Layout der Mitglieder-Suche und der Mitgliederauswertung wurde aneinander angepasst. Patch von Rüdiger Wurth.
* Anpassung der Datentypen der H2- und der MySQL-Datenbank.
* Zusätzliche Anzeige der Buchungsart-Nummer bei der Auswahl einer Buchungsart. Siehe <http://jverein.de/forum/viewtopic.php?f=1&t=1425>
* Automatische Übernahme der Hibiscusbuchungen zu JVerein nach der Kontensynchronisation in Hibiscus. Siehe <http://www.jverein.de/forum/viewtopic.php?t=1456&p=5854>
* Optional können jetzt auch negative Arbeitseinsätze erfasst werden. Patch von Rolf Mamat.
* Patch mit Bugfixes von Rolf-Dieter Clavery für <http://jverein.de/forum/viewtopic.php?f=7&t=1272> (--> Der Text wird nun mit Kästchen bzw. Kreuzchen dargestellt, entsprechend den Einstellungen) und <http://jverein.de/forum/viewtopic.php?f=5&t=1427> (--> Betrag wird nun richtig dargestellt)
* Zusatzbetrag-Import um Endedatum erweitert.
* Erweiterung des File-Dialoges beim Mitglieder-Import. Patch von Rolf Mamat.
* Zusätzliche Kontoinformationen in der Buchungsübersicht. Patch von Rolf Mamat.
* Optimierung der Anzeige der Familienangehörigen. Patch von Rolf Mamat.
* Buchführung: Vereinheitlichte Vorgabe des Kontos. Patch von Rolf Mamat.
* Variable "mitglied\_bankname" aufgenommen. Siehe <http://www.jverein.de/forum/viewtopic.php?f=1&t=1540>. Patch von Rolf Mamat.
* Anzeige des Alters des Mitglieds. Patch von Rolf Mamat
* Check externe Mitgliedsnumer. Patch von Rolf Mamat
* Einstellungen: Bislang gab es in den Einstellungen den Vereinsnamen in der Länge 27 und der Länge 100. Durch SEPA wurde die Begrenzung auf 27 Stellen aufgehoben. Der Vereinsname ist jetzt 70 Stellen lang. Die 100-Stellige Variante wurde in die 70-Stellige übertragen und gelöscht.
* Neue Sollbuchung im Mitgliedskonto: Zahlungsweg des Mitglieds wird übernommen. Siehe jverein.de/forum/viewtopic.php?f=5\&t=1507\&p=6396
* Plausi in der Buchführung gelockert. Betrag 0 € ist zuläassig.
* Zusatzbeträge überarbeitet. Buchungstexte 1 + 2 zu einem zusammengefasst und auf 140 Zeichen verlängert.
* Zusatzbeträge-Import erweitert um Zugriff über externe Mitgliedsnummer.
* Mitglieder können jetzt mit dem Geschlecht "ohne Angabe" gespeichert werden.
* Abrechnung von Zusatzbeträgen auch für ausgetretene Mitglieder. Unter Administration|Einstellungen|Anzeige kann diese Option aktiviert werden.
* Korrekte Darstellung der Bankverbindung im Jameica-Adressbuch. <http://www.jverein.de/forum/viewtopic.php?f=5&t=1638>

#### Korrigiert

* Korrekter Link zur Formular-Hilfeseite
* Alters- und Mitgliedschaftsjubiläen werden jetzt für das korrekte Jahr ausgegeben. Siehe <http://jverein.de/forum/viewtopic.php?f=5&t=1291> (Backport zu 2.4.2)
* Adressierungszusatz des Mitglieds wird in die Spendenbescheinigung übernommen. Siehe <http://jverein.de/forum/viewtopic.php?f=5&t=1293&p=5140>. (Backport zu 2.4.2)
* Bugfix zu den Spendenbescheinigungen von Rolf. Siehe auch <http://jverein.de/forum/viewtopic.php?f=5&t=1292&p=5166#p5166> und <http://jverein.de/forum/viewtopic.php?f=7&t=1272&p=5165#p5165> (Backport zu 2.4.2)
* Vermeidung NPE bei der Eingabe neuer Mitglieder
* Bugfix Arbeitseinsätze. Patch von Rolf Mamat.
* Bugfix bei der Erstellung von Formularen. Zusatzfelder und Lesefelder werden nur ausgegeben, wenn auch Mitgliedsdaten ausgegeben werden.
* Mitgliedersuche nach Name funktioniert jetzt auch unter MySQL case-insensitiv. Siehe <http://jverein.de/forum/viewtopic.php?f=1&t=1318&p=5432>
* Bugfix: Mitgliedskontenexport.
* Bugfix Feldlänge Adressen von Spendern. Siehe <http://jverein.de/forum/viewtopic.php?f=5&t=1320&p=5601>. Änderung von Rolf-Dieter.
* Bugfix Länge des Verwendungszwecks in der Tabelle Abrechnungslauf. Siehe <http://www.jverein.de/forum/viewtopic.php?f=5&t=1461&p=5868>
* Buchungen: Fehlermeldungen an die Oberfläche bringen. Transaktionsklammer eingebaut. Patch von Rolf Mamat.
* Keinen Defaultwert bei fehlender Geschlechtsauswahl. Patch von Rolf Mamat.
* Bugfix Adressaufbereitung von Rolf Mamat.
* Bugfix Reset Mitglied-Filter-Bug von Rolf Mamat
* Bugfix Gegenbuchung im Mitgliedskonto bei Kursteilnehmern. Siehe <http://jverein.de/forum/viewtopic.php?f=5&t=1629>
* Vermeidung von NoSuchMethodException. <http://www.jverein.de/forum/viewtopic.php?f=5&t=1640>
* Bugfix Buchungsübernahme von Rolf Mamat
* MySQL-Konfiguration: Leerzeichen am Ende der Zeile entfernen. <http://www.jverein.de/forum/viewtopic.php?f=5&t=1252&p=6727#p6727>
* Jameica-Termine: Bei Wiedervorlagen werden jetzt auch Name und Vorname des Mitglieds ausgegeben

### Version 2.4.2 vom 13.01.2013

* Bugfix: Alters- und Mitgliedschaftsjubiläen werden jetzt für das korrekte Jahr ausgegeben. Siehe <http://jverein.de/forum/viewtopic.php?f=5&t=1291>
* Adressierungszusatz des Mitglieds wird in die Spendenbescheinigung übernommen. Siehe <http://jverein.de/forum/viewtopic.php?f=5&t=1293&p=5140>.
* Bugfix zu den Spendenbescheinigungen von Rolf. Siehe auch <http://jverein.de/forum/viewtopic.php?f=5&t=1292&p=5166#p5166> und <http://jverein.de/forum/viewtopic.php?f=7&t=1272&p=5165#p5165>

### Version 2.4.1 vom 29.12.2012

* Erweiterung der Spendenbescheinigungen für das Jahr 2013. Patch von Rolf.
* Bugfix: Bei mehrzeiligen Datenfeldern in Formularen. Siehe <http://www.jverein.de/forum/viewtopic.php?t=884&p=4970>.
* Bugfix beim Import von Zusatzbeträgen. Siehe <http://jverein.de/forum/viewtopic.php?f=5&t=1237>. Patch von NotDifficult.
* Erste Vorarbeiten für SEPA-Lastschriften
* Bugfix Betragsfeld bei neuen Buchungen. Siehe <http://jverein.de/forum/viewtopic.php?f=1&t=1270>
* Buchungsarten: Bugfix. Korrekte Position nach Rücksprung. Siehe <http://www.jverein.de/forum/viewtopic.php?f=1&t=1271>
* CSV-Export Mitglieder: Vermeidung NullPointerException bei der Ausgabe von Mitgliedern. Siehe <http://www.jverein.de/forum/viewtopic.php?f=5&t=1251&p=4954>

### Version 2.4.0 vom 02.12.2012

#### Neu

* Import von Buchungen. Siehe [Buchungsimport](http://www.jverein.de/wiki/index.php?title=Buchungsimport)
* Projekte in der Buchführung. Projekte können unter Administration erfasst werden und den betreffenden Buchungen zugeordnet werden. Die Suche nach Projekten ist möglich. Die Projekteinformationen werden bei der CSV-Ausgabe berücksichtigt.
* "Abrechnungslauf rückgängig" setzt jetzt auch die Zusatzbeträge zurück.
* Export der Mitgliedskonten
* Export und Import von Kontenrahmen. Siehe <http://www.jverein.de/forum/viewtopic.php?f=1&t=886&p=3485> und [Kontenrahmen\_Export\_Import](http://www.jverein.de/wiki/index.php?title=Kontenrahmen_Export_Import)
* Lesefelder. Siehe [Lesefelder](http://www.jverein.de/wiki/index.php?title=Lesefelder). Patch von NotDifficult.
* Bei Mails gibt es jetzt eine Vorschau auf die Variablen und die Mail an ein Mitglied. Patch von NotDifficult.
* Mailübersicht pro Mitglied
* Mitgliedskonto (Soll-, ggfls. Istbuchungen) jetzt auch für Zusatzbeträge
* Patch von Julian: Unter Einstellungen kann die Mitglieds- und Adressmaske konfiguriert werden (Spalten/Tabs).
* Ausgabe der Jahrgangszahlen für die DSB-Statistik. Siehe auch <http://www.jverein.de/forum/viewtopic.php?t=1195&p=4747>

#### Geändert

* Mitglieder-Suche: Tabs entfernt. Gründe: Unterschiedliches Verhalten der Tabellen innerhalb der Tabs und Performance-Optimierung.
* Variable "aktuellesjahr" aufgenommen. Siehe <http://www.jverein.de/forum/viewtopic.php?t=962&p=3774>
* Jubiläumsauswertungen (Mitgliedschafts- und Altersjubliäen) überarbeitet. Jetzt auch CSV-Export möglich.
* Suche im Jameica-Adressbuch über die JVerein-Adressen ist nicht mehr casesensitiv. Siehe [www.jverein.de/forum/viewtopic.php?t=988\\\&p=3865](http://www.jverein.de/forum/viewtopic.php?t=988\\\&p=3865)
* Personalbogen: Mitgliedsnummer aufgenommen.
* Abrechnung: Bei der Abbuchung werden die Vornamen der Familienangehörigen mit ausgegeben. Siehe <http://www.jverein.de/forum/viewtopic.php?f=1&t=914&p=3600>
* Versanddatum von Mails wird gespeichert. Eine Mail wird nur noch einmal pro Mitglied versandt. Zusätzlich gibt es einen Resend-Button. Patch von NotDifficult.
* Familienverband: Tabs mit Beschriftungen versehen. Bug bei der Löschung von Familienangehörigen. Patch von Difficult.
* Familienverband wird nur noch bei den betreffenden Beitragsarten angezeigt. Patch von NotDifficult.
* Zusätzliche Plausi bei der Verarbeitung von Beitragsarten. Bei Familienangehörigen muss der Betrag 0 sein. Patch von NotDifficult.
* Eigenschaften stehen jetzt auch für Nicht-Mitglieder zur Verfügung. Patch von Rolf.
* Codeoptimierung im Bereich des Mitgliedskontos
* Zusätzliche Variable MITGLIEDSKONTO\_IST und MITGLIEDSKONTO\_DIFFERENZ aufgenommen. [Forum](http://www.jverein.de/forum/viewtopic.php?f=1\&t=909\&p=4130)
* Optimierung der Mitglieder-View. Patch von NotDifficult.
* Keine Silbentrennung in der Spalte der Kommunikationsdaten bei den Mitgliedschaftsjubiläen und Altersjubiläen.
* Kontoauszug kann jetzt für einen vorgegebenen von-bis-Zeitraum ausgegeben werden.
* Erweiterung des Verwendungszwecks von 2 mal 27 Stellen auf 500 Stellen mit Zeilenumbruch
* Buchungsimport: Die BuchungsartNummer ist jetzt optional. Siehe <http://www.jverein.de/forum/viewtopic.php?f=1&t=1079&p=434>
* Anpassung an neue Jameica-Funktionalität zur Erhöhung der Barrierefreiheit.
* Punkte in Variablennamen wurden durch Unterstriche ersetzt.
* Spendenbescheinigungsformulare: Felder für die Sachspenden aufgenommen. Siehe auch <http://www.jverein.de/forum/viewtopic.php?f=8&t=1163>
* Mail-Empfänger-Auswahl-Dialog: Jetzt werden auch die Datensätze von Spendern und andere Adressen angezeigt. Siehe auch <http://www.jverein.de/forum/viewtopic.php?t=1194&p=4742>
* Box, die beim ersten Start von JVerein angezeigt wird aufgehübscht.
* Verzeichnis für die Auswahl eines Mail-Anhanges speichern und wiederherstellen. Siehe auch <http://jverein.de/forum/viewtopic.php?f=1&t=1231>

#### Korrigiert

* Bugfix: Fehlendes Konto bei 1. Buchung. Siehe <http://www.jverein.de/forum/viewtopic.php?f=5&t=946>
* Bugfix: Übersicht Lehrgänge. Die Such-Lehrgangsart wurde immer wieder zurückgesetzt.
* Bugfix bei der Speicherung von Formularen unter MySQL. Siehe <http://www.jverein.de/forum/viewtopic.php?f=5&t=957>
* Bei abgeschlossenen Buchungen konnten gespeicherte Dokumente nicht mehr angezeigt werden. Siehe <http://www.jverein.de/forum/viewtopic.php?f=8&t=688>
* Fehler beim MySQL-Update beseitigt. Siehe <http://www.jverein.de/forum/viewtopic.php?t=974&p=3822>
* Jameica-changed-pluginloader.patch von Olaf
* Spalte FONT in der Tabelle formularfeld auf 50 Stellen verlängert.
* Bugfix Buchungssummenliste: <http://www.jverein.de/forum/viewtopic.php?f=5&t=1033&p=4046#p4046>
* Bugfix Pfad Spendenbescheinigungen. Siehe [Forum](http://www.jverein.de/forum/viewtopic.php?t=987\&p=3864#p3864). Patch von Rolf.
* Buchungssummen Bugfix. Siehe <http://www.jverein.de/forum/viewtopic.php?f=5&t=1037&p=4059#p4059>
* Korrekte Ausgabe der Eigenschaften in der Mitgliedsauswertung im PDF-Format.
* Korrekte Prüfung der Kontonummer beim Buchungsimport. Siehe <http://www.jverein.de/forum/viewtopic.php?f=5&t=1077>
* Geburtsdatumsprüfung unter Berücksichtigung des Sterbedatums
* Korrekte Abschlussmeldung bei der Abrechnung
* Fehlermeldung auf der Benutzeroberfläche, wenn bei der Rechnungserstellung kein Formular existiert. Siehe <http://www.jverein.de/forum/viewtopic.php?f=5&t=1093>
* Buchungsdatum: Plausibilitätsprüfung auf 10 Jahre in die Vergangenheit und 0 Tage in die Zukunft. Siehe <http://jverein.de/forum/viewtopic.php?f=1&t=1104>
* Buxfix MailView: Label anstatt Textfeld. Siehe auch <http://www.jverein.de/forum/viewtopic.php?t=1130&p=4522>
* Bugfix bei der Suche nach Adressen. Adresstyp bleibt jetzt erhalten. Siehe auch <http://www.jverein.de/forum/viewtopic.php?f=5&t=1131&p=4559#p4559>
* Bei der Erstellung von Formularen werden in der Vorschau jetzt auch Testdaten des Mitgliedskontos zur Verfügung gestellt.
* Kursteilnehmer: Bugfix Geschlecht. Siehe auch <http://jverein.de/forum/viewtopic.php?f=5&t=1164>
* Bugfix Import bei mehrfachen Eigenschaften. Patch von Christian Lutz.
* Status der Tabelle für den Rücksprung speichern. Siehe <http://www.jverein.de/forum/viewtopic.php?t=1218&p=4803>

### Version 2.2.1 vom 04.03.2012

* Bugfix bei der Neuaufnahme von neuen Mitgliedern wenn die Option "juristische Personen" aktiviert wurde. Siehe <http://www.jverein.de/forum/viewtopic.php?f=5&t=940&p=3742>
* Bugfix Abrechung Zusatzbeträge bei Austrittsdatum in der Zukunft. Siehe <http://www.jverein.de/forum/viewtopic.php?f=5&t=950&p=3732>
* Bugfix Personalbogen. Scalierung des Bildes unter Windows entfernt. Siehe <http://www.jverein.de/forum/viewtopic.php?f=5&t=237&p=3724#p3724>
* Bugfix Import: Bei fehlender Spalte Adresstyp wurde der Zahlungsrhytmus überschrieben. Siehe <http://www.jverein.de/forum/viewtopic.php?f=5&t=417&p=3655>
* Bugfix Formularfeld "Anrede\_du": Komma fehlte am Ende. Siehe <http://www.jverein.de/forum/viewtopic.php?f=5&t=934>

### Version 2.2.0 vom 14.02.2012

* Import benutzerfreundlicher. Patch von Julian.
* Erweiterung des Imports. Zuordnung der Spaltennamen im Dialog. Änderung von Christian Lutz.
* Neu: Spenden für JVerein.
* Neu: Ausgabe Kontoauszug Mitgliedskonto.
* Neu: BLZ-Update mit Hilfe der BLZ-Datei der Bundesbank
* Am 16.10.2011 erfolgte der Umzug von Berlios zu Sourceforge
* Teil 1: Erweiterung Spendenbescheinigung um Sammelbescheinigung. Patch von Danzelot.
* Teil 2: Überarbeitung der Spendenbescheinigungen. Siehe auch [Spendenbescheinigung](http://www.jverein.de/wiki/index.php?title=Spendenbescheinigung). Patch von Rolf
* Neu: Buchungsexport im CSV-Format
* Basisdaten des Mitglieds können mit einem Rechtsklick kopiert werden. Siehe auch [http://www.jverein.de/forum/viewtopic.php?t=542\&p=2418'](http://www.jverein.de/forum/viewtopic.php?t=542\&p=2418%27)
* Beim Import von Zusatzbeträgen sind jetzt auch Anführungszeichen als Feldbegrenzer erlaubt.
* Neu: Übersicht Familienbeiträge. Doppelklick öffnet das Mitglied. Rechtsklick bietet die Möglichkeit, das Mitglied aus dem Famlilienverband zu entfernen.
* Sterbedatum ist jetzt optional. Unter Einstellungen|Ansicht|Sterbedatum kann die Einstellung vorgenommen werden.
* Mitglied: Anzeige der Mitgliedsnummer.
* Neue Filteroption "alle" bei der Überprüfung Arbeitseinsätze. Siehe [http://www.jverein.de/forum/viewtopic.php?f=5\&t=678'](http://www.jverein.de/forum/viewtopic.php?f=5\&t=678%27)
* Abrechnung/Beitragsmodell: Vereinfachung der Parameter, jährlich, halbjährlich, vierteljährlich und monatlich zu 'alle' bzw. 'gleicher Termin für alle'
* Mitgliedskonto: Bei der Auswahl können jetzt nicht nur Mitglieder oder Spender sondern alle Adressen ausgewählt werden.
* Mehreren Buchungen ein Mitgliedskonto gleichzeitig zuordnen. Siehe [http://www.jverein.de/forum/viewtopic.php?f=1\&t=699\&p=2740'](http://www.jverein.de/forum/viewtopic.php?f=1\&t=699\&p=2740%27)
* Terminkalender zu Jameica verschoben. Termin-Box gelöscht.
* Unter Einstellungen|Beiträge kann der DTAUS-Textschlüssel ausgewählt werden. Standardmäßig ist Lastschrift eingestellt. Wer aus Abbuchung umstellt, sollte sich über die Bedeutung im Klaren sein. Ggfls. nach Rücksprache mit der Hausbank.
* Zusatzbeträge-Import: Zusätzliche Plausi zum Aufbau der Datei. <http://www.jverein.de/forum/viewtopic.php?f=5&t=744>
* Adresstyp beim Import eingefügt.
* Mitgliedauswertungen: Selektion nach Mailadressen erweitert.
* Trefferliste der Mitglieder: Mit einem Rechtsklick können die sichtbaren Daten in die Zwischenablage kopiert werden. Patch von NotDifficult.
* Mehr Fehlertoleranz bei der Buchungsübernahme aus Hibiscus.
* Initialer Wert 1 für Primary Key bei H2-Datenbank, siehe <http://www.onlinebanking-forum.de/phpBB2/viewtopic.php?p=80884>
* Einstellungen: Spendenbescheinigungsinformationen vom Tab Allgemein in den Tab Spendenbescheinigungen verschoben.
* Fehlerbehandlung bei der Mitgliedsstatistik
* Numerische Sortierung der Hibiscus-Buchungen bei der Übernahme zu JVerein.
* Bugfix bei der Mitgliedersuche, sofern mit Zusatzfeldern experimentiert wurde.
* Mitgliederübersicht: Korrekte Sortierung nach ID. Siehe auch <http://www.jverein.de/forum/viewtopic.php?f=5&t=582&p=2436>
* Sofortige Aktualisierung der Anzeige nach Ist-Löschung im Mitgliedskonto. Patch von Julian.
* Import: Spalte individuellerbeitrag ist keine Pflichtspalte
* Mitglieder-Statistik: Anpassung Ein- und Austritte an das Geschäftsjahr.
* Geschäftsjahr: Bugfix bei der Berechnung des Endes des Geschäftsjahres.
* Zusatzbeträge: Bugfix Default-Wert für das Fälligkeitsdatum
* Bei der Löschung von Eigenschaften wird jetzt auch die Zuordnung von Mitgliedern zur Eigenschaft gelöscht.
* Vermeidung NPE bei der Aufbereitung der Variablen für die Mahnung.
* Abrechnung: Vermeidung NPE bei fehlendem Stichtagsdatum.
* Mahnung: Korrekte Verarbeitung der Mitgliedskonto\*-Variablen.
* Bugfix bei der Tabellenhöhe der Arbeitsdienstüberprüfung.
* Bugfix "Übernahme"-Button für Soll+Ist im Mitgliedskontoauswahldialog. <http://www.jverein.de/forum/viewtopic.php?f=5&t=680> Patch von Danzelot.
* Bugfix Filter Überprüfung Arbeitseinsätze. Siehe <http://www.jverein.de/forum/viewtopic.php?f=5&t=678>
* Mitgliedskontoauswahl: Bugfix OperationCanceledException und Widged is disposed. Siehe <http://www.jverein.de/forum/viewtopic.php?f=5&t=679>
* Bei der Speicherung der Einstellungen wird auf notwendige Plugins geprüft, wenn Dokumentenspeicherung aktiviert wurde.
* Bugfix Sortierung Buchungsartenliste. Siehe <http://www.jverein.de/forum/viewtopic.php?t=693&p=2709#p2709>
* Individuelle Spendenbescheinigung: Check ob auch ein Formular ausgewählt wurde - Patch von Christian Lutz
* Bugfix Sortierung Buchungsübersicht.
* Bugfix bei der Abrechnung von Zusatzbeträgen neuer Mitglieder.
* Terminübersicht: Ausgetretene Mitglieder werden nicht mehr angezeigt. <http://www.jverein.de/forum/viewtopic.php?f=5&t=753>
* Bugfix Adressbuch-Export für Hibiscus: NPE beseitigt bei Nichtmitgliedern mit Bankverbindung. <http://www.jverein.de/forum/viewtopic.php?f=5&t=755&p=2944>
* Bugfix CSV-Export: Bei Akademikerinnen wurde der Titel nicht ausgegeben. <http://www.jverein.de/forum/viewtopic.php?f=5&t=757>
* Bugfix "neue Buchung / Mitgliedskontoauswahl". <http://www.jverein.de/forum/viewtopic.php?f=5&t=773>
* Bugfix. Klick in der Mitgliedskontenübersicht auf eine Adresse öffnete Mitglied. <http://www.jverein.de/forum/viewtopic.php?f=5&t=776>
* Bugfix Adressensuche. <http://www.jverein.de/forum/viewtopic.php?f=5&t=781>
* Codeoptimierung bei den Mitgliederauswertungen.
* Adressbuch-Export von Mail zu den den Mitgliederauswertungen verschoben.
* Bugfix in der Kontenübersicht bei Wechsel der ID des Hibiscus-Kontos
* Mitglieder-Suche: Bugfix Speicherung der Suchkriterien. <http://www.jverein.de/forum/viewtopic.php?f=5&t=838>
* Bugfix Sortierung der Familienbeiträge. Siehe auch <http://www.jverein.de/forum/viewtopic.php?f=5&t=839>
* Buchungklassen: Bugfix "Anzahl Buchungen ohne Buchungsart". Siehe auch <http://www.jverein.de/forum/viewtopic.php?f=5&t=849>
* Buchungsliste: Bugfix fehlende Einzelbuchungen bei Auswahl "Alle Buchungsarten". Siehe auch <http://www.jverein.de/forum/viewtopic.php?f=5&t=819>
* Bugfix "leere Nummer" bei Speicherung von Buchungsarten. Siehe <http://www.jverein.de/forum/viewtopic.php?f=5&t=845>
* Bugfix bei den Zusatzbeträgen: "monatlich" wurde mehrfach als Intervall angeboten. <http://www.jverein.de/forum/viewtopic.php?f=5&t=894>
* Bugfix Zusatzbeträge: keine Abrechnung bei ausgetretenen Mitgliedern. <http://www.jverein.de/forum/viewtopic.php?f=5&t=895>
* Bugfix Variable "anrede\_du"
* Patch von Rolf zur Buchungsliste und zum Buchungsjournal.
* Numerische Sortierung der Hibiscus-Buchungen bei der Übernahme zu JVerein.
* 2-spaltiges Layout bei den Buchungen wiederhergestellt. Patch von Rolf.

### Version 2.0.1 vom 29.6.2011

* Bugfix Autovervollständigung Name beim Mitglied.
* Bugfix Erstinstallation mit H2-Datenbank
* Bugfix Summierung bei der kompakten Abbuchung.
* Personalbogen: Sortierung der Zusatzbeträge nach Fälligkeitsdatum.
* Bugfix Speicherung der Suchkriterien von- und bis-Datum bei Buchungen
* Vermeidung NPE bei Mitgliedskonto-Zuordnung
* Buchungsklassen-Saldo: Sortierung der Buchungsarten innerhalb der Buchungsklassen nach Nummer. Siehe <http://www.jverein.de/forum/viewtopic.php?f=1&t=834>

### Version 2.0.0 vom 23.6.2011

* Terminübersicht Geburtstage und Wiedervorlagen.
* Die Boxen "aktuelle Geburtstage" und "Wiedervorlagen" für die Startseite entfernt. Ersatz ist die neue Terminübersicht.
* Neue Box "Termine" für die Startseite erstellt
* Arbeitseinsätze
* Speicherung zusätzlicher Adressen (u. a. Spender/innen) ermöglicht.
* Speicherung von Dokumenten zu Buchungen und Mitgliedern. Siehe [http://developer.berlios.de/bugs/?func=detailbug\&bug\_id=17106\&group\_id=7335'](http://developer.berlios.de/bugs/?func=detailbug\&bug_id=17106\&group_id=7335%27)>#17106
* Eigenschaftengruppen können so markiert werden, dass maximal eine Eigenschaft ausgewählt werden kann. [https://developer.berlios.de/bugs/?func=detailbug\&bug\_id=17741\&group\_id=7335'](https://developer.berlios.de/bugs/?func=detailbug\&bug_id=17741\&group_id=7335%27)>#17741
* Erzeugung Sollbuchung bei Zuordnung des Mitgliedskontos.
* Stammdaten des Vereins in die Einstellungen verschoben.
* Neu: Individueller Beitrag pro Mitglied. Überschreibt Betrag in der Beitragsgruppe.
* Beitragsgruppen können jetzt Buchungsarten zugewiesen werden. Diese werden bei der Verwendung des Mitgliedskontos bei der Abrechung (z. Z. nur neue Version) in die Istsätze der Abbuchungsbeträge geschrieben.
* Freie Formulare eingeführt. Unter Administration|Formulare können die Formulare eingerichtet werden. Mit einem rechten Mausklick auf ein Mitglied werden im Kontextmenü auch die freien Formulare angezeigt. Ein Klick darauf erzeugt das Formular
* Buchungen können jetzt auch dem "Mitgliedskonto" eines Spenders zugewiesen werden.
* Zusätzliche Datenfelder in Mails und Formatierung von Datums- und Betragsfeldern <https://developer.berlios.de/bugs/?func=detailbug&bug_id=17648&group_id=7335>
* CSV-Export (Mitgliederauswertung) total überarbeitet. Neue Spaltennamen. Eigenschaften werden mit ausgegeben. Zur Aktivierung des alten Exports in der Datei .jameica/cfg/de.jost\_net.JVerein.gui.control.MitgliedControl.properties eine Zeile mit "auswertung.csv.kompatibilitaet=true" einfügen
* Neu: PDF-Liste der Buchungsarten
* Buchungsarten kann jetzt auch die Eigenschaft "Spende" gegeben werden.
* Unterstützung für das neue jameica.ical-Plugin. Installation siehe <http://jameica.berlios.de/doku.php?id=support:install:jameica.ical>
* Vereinheitlichung im Umgang mit den Variablen bei Formularen. Neue Variablennamen. Teilweise wurden die Werte konvertiert, teilweise muss von Hand nachgebessert werden. An den meisten Stellen stehen jetzt sämtliche Daten des Mitglieds, Eigenschaften und Zusatzfelder zur Verfügung.
* Neu: Funktion zur gleichzeitigen Zuordnung einer Eigenschaft an viele Mitglieder
* \>Neu: Spendenbescheinigung aus dem Mitgliedskonto (Automatische Spendenbescheinigung)
* Neu: Standardformular für Spendenbescheinigungen
* Neu: Spendenbescheinigung für Sachspenden
* Neu: Neues Abrechnungsmodul. Damit ist es möglich, mit dem Parameter "kompakte Abbuchung" mehrere Abbuchungen von einem Konto zu einer Abbuchung zusammenfassen. Die interne Struktur des Moduls musste generell überarbeitet werden. Daher ausgiebig testen. Das neue Modul steht zunächst über den Parameter "Test neue Abbuchung" zur Verfügung.
* Das Datum der letzten Änderung wird bei Mitgliedern und Adressen gespeichert. Die Anzeige erfolgt in der Trefferübersicht. Dazu muss unter Administration|Einstellungen|Tabellen das entsprechende Häkchen gesetzt werden.
* Beim Versand von Mails können die Zusatzfelder mit $zusatzfeld.ZUSATZFELDNAME ausgegeben werden.
* Manuelle Zahlungseingänge und Rechnungen (bis 1.3) entfernt.
* Bugfix beim Import von Zusatzfeldern. Bislang wurde nur der Datentyp "Zeichenfolge" korrekt importiert.
* Bugfix beim Import. Sortierung der Daten ist nicht mehr erforderlich.
* Mitgliedsstatus in die Mitgliedsauswertung aufgenommen.
* Zusatzbeträge: Bugfix bei Buchungen ohne Intervall wird jetzt das Fälligkeitsdatum korrekt behandelt.
* Personalbogen: Bugfix Eigenschaften.
* Abbuchung: Verwendungszweck 2 ist jetzt auch 27 Zeichen (vorher 25 Zeichen) lang
* Mitgliedskonto: Bugfix Summen
* Bugfix bei der Erfassung von Buchungen (Vorgabe Konto). <https://developer.berlios.de/bugs/?func=detailbug&bug_id=17827&group_id=7335>
* Tastatursteuerung wegen Problemen mit Jameica/Hibiscus wieder entfernt.
* Bugfix in der Altersstatistik. Über 100-jährige wurden in der Summe nicht berücksichtigt.Siehe <http://www.jverein.de/forum/viewtopic.php?f=5&t=339>
* In den Einstellungen im Tab Anzeige kann jetzt die Verzögerungszeit für die Suchfelder Name, Vorname und Strasse der Mitglieder und Adressen eingestellt werden.
* Mailversand: Unterschiedliche Mitglieder können mit gleicher Adresse angeschrieben werden.
* Bugfix: Änderungen an den Einstellungen werden sofort wirksam.
* Bugfix: Bei den Spendenbescheinigungen wird der Betrag wie in der Vorschau positioniert.
* Warnung bei der Neuaufnahme von Arbeitseinsätzen, Lehrgängen, Wiedervorlagen und Zusatzbeträgen, wenn das neue Mitglied noch nicht gespeichert ist.
* Colins Patch zur MySQL-Performancesteigerung.
* Bugfix bei der Umschlüsselung eines Mitgliedes von einer Beitragsart mit der Art Familie/Angehöriger in eine andere Beitragsart.
* Bugfix Diagnose-Backup
* Liste Zusatzbeträge: Sortierung nach Namen aufgenommen. <https://developer.berlios.de/bugs/?func=detailbug&bug_id=17793&group_id=7335>
* Lehrgangsart in die Übersicht aufgenommen.
* Vermeidung NPE bei der Erfassung von Lehrgängen.
* Zusatzbeträge: In den Verwendungszweck können nur noch die für DTAUS zulässigen Zeichen eingegeben werden.
* Keine Abrechnung von Zusatzbeträgen bei ausgetretenen Mitgliedern
* Korrekte Sortierung von Ganzzahl-Zusatzfeldern in der Mitgliederübersicht.
* Neu: Filter für die Lehrgangsübersicht.
* Bugfix Abrechnung DTAUS mit äöüß größer 27 Stellen.
* Bugfix Zusatzbeträge nächste Fälligkeit.
* Bugfix Sollbuchung bearbeiten. Irrtümlich wurde generell der Default-Zahlungsweg vorgegeben.
* Selektion der Mitglieder (Dialog und Auswertung) nach Zusatzfeldern.
* Die Texte von Mails und Mailvorlagen können jetzt 10.000 Zeichen lang sein.
* Arbeitseinsätze werden auf dem Personalbogen ausgegeben.
* Bugfix: Sortierung der Buchungen bleibt nach Bearbeitung der Buchungsart erhalten.
* Alternative Sortierung des Buchungsjournals nach Buchungsnummer
* Bei der Eingabe einer (Ist-)Buchung (Barzahlung) kann zunächst das Mitgliedskonto ausgewählt werden. Name und Vorname des Mitgliedes, Betrag und Verwendungszweck der Sollbuchung sowie das aktuelle Tagesdatum werden in die Buchung eingetragen.
* Neu: Istbuchung kann vom Mitgliedskonto gelöst werden.
* Änderung der Zuordnung des Hibiscus-Kontos zum JVerein-Konto ermöglicht.
* Mitgliederliste: Bugfix bei der Sortierung nach Namen und Vornamen
* Korrektes Encoding beim Mailversand unter Ubuntu
* Buchungstext2 für Zusatzbeträge.
* Jahressaldo: Bugfix abweichendes Geschäftsjahr.
* Neu: Bei der Erstellung von Rechnungen können Abbucher ausgeschlossen werden.
* Bei der Erfassung der Mails kann mit einem Rechtsklick auf eine Mail-Adresse ein Dialog mit einer Liste aller Variablen angezeigt werden.
* Zusätzliche Variablen: mitglied\_anrede\_foermlich und mitglied\_anrede\_du
* Abrechnung: Bugfix Textschlüssel bei Hibiscusbuchungen
* Korrekte Darstellung von Buchungen in der globalen Suche.
* Buchung zum Mitgliedskonto zuordnen: Spezialsuche bei Namen mit Namensvorsätzen (von, di, de ...)
* In der Datenbank den Datentyp für booleans von char(5) auf boolean (H2) bzw. tinyint (MySQL) umgestellt.
* Foreign Key Arbeitseinsatz->Mitglied aufgenommen.
* Bei Zusatzbeträgen und Wiedervorlagen Button zum Mitglied eingebaut. <http://www.jverein.de/forum/viewtopic.php?t=583&p=2246#p2246>

### Version 1.4.0 vom 10.11.2010

* Box der aktuellen Geburtstage: Durch Doppelklick kann das Mitglied direkt bearbeitet werden.
* Das Kontextmenü steht ebenfalls zur Verfügung.Zusätzlich Telefonnummern und Email-Adresse aufgenommen.
* Scrollbar f. Buchung aufgenommen.
* Größe der Kontoauswahlbox der Buchführung verändert.
* Bugfix beim Import des Zahlungsrhytmusses
* Erste Version des Mitgliedskontos
* Rechnungen: Für ein Mitglied werden ggfls. mehrere Positionen auf eine Rechnung zusammengefasst. Achtung! Die Formularfelder "Zahlungsgrund1" und "Zahlungsgrund2" sind durch das Formularfeld "Zahlungsgrund" zu ersetzen.
* Im Formularfeldeditor kann jetzt auch direkt das Formular angezeigt werden.
* Featurerequest <http://developer.berlios.de/bugs/?func=detailbug&bug_id=17284&group_id=7335>
* Unter Einstellungen>Rechnungen können die Texte eingegeben werden. Beim Text für die Abbuchung können die Variablen ${Konto} und ${BLZ} in den Text eingemischt werden.
* Bugfix: Abgeschlossene Buchungen können nicht mehr gelöscht werden.
* Optimierung der Bedienung per Tastatur. Siehe auch <https://developer.berlios.de/bugs/?func=detailbug&bug_id=17221&group_id=7335>und <http://www.jverein.de/forum/viewtopic.php?f=1&t=143> Tastaturbedienung
* Foto des Mitglieds kann gespeichert werden.
* Ausdruck von Personalbögen mit allen Daten eines Mitgliedes.
* Buchungen werden bei der Sortierung nach ID jetzt numerisch sortiert. Siehe auch <http://www.jverein.de/forum/viewtopic.php?f=5&t=182&p=731#p731>
* Eigenschaftengruppen können jetzt das Merkmal 'Pflicht' haben. Dann muss mindestens eine Eigenschaft ausgewählt werden. Siehe auch <https://developer.berlios.de/bugs/?func=detailbug&bug_id=17217&group_id=7335>und <http://www.jverein.de/forum/viewtopic.php?f=1&t=142>
* Mitgliederliste im PDF-Format: Ausgabe der Eigenschaften.
* Buchführung: Überall, wo ein Bankkonto auszuwählen ist, wird das zuletzt genutzte vorgegeben.
* Bugfixes bei der Erstellung des Diagnose-Backups.
* Maximale Länge des Textes für Mails und Mailvorlagen auf 10.000 Zeichen verlängert.
* Bei der Erstellung eines Jahresabschlusses werden jetzt die Anfangsbestände des Folgejahres eingetragen. Bei der Löschung von Jahresabschlüssen werden die Anfangsbestände des Folgejahres gelöscht. Siehe auch <https://developer.berlios.de/bugs/?func=detailbug&bug_id=16845&group_id=7335>
* Länge der Kontobezeichnung auf 255 Zeichen verlängert.
* Hibiscus-Import der Konten checkt jetzt auf doppelte Konten.
* Ausgabe der Zusatzbuchungen im PDF-Format. <https://developer.berlios.de/bugs/?func=detailbug&bug_id=17513&group_id=7335>
* Datenimport: Klare Fehlermeldung bei korrupter Import-Datei im Bereich der Eigenschaften. Patch von Umbilo.
* Datenimport: Eigenschaftengruppen können jetzt auch importiert werden.
* Buchungen können die Kontoauszugsinformationen (Auszug, Blatt) en bloc zugewiesen werden.
* Vermeidung NullPointerException bei der Suche nach Kursteilnehmern.
* Intern: Hilfe in die Views verlagert
* Import Hibiscus-Konten: Check auf doppelte Konten
* Bei der Neuaufnahme einer manuellen Buchung wird sofort nach der Speicherung die ID angezeigt.
* Korrekter Hinweis auf fehlende Stammdaten bei der Abrechnung.
* Buchung: Dropdown-Liste Buchungsart alphabetisch sortiert
* Import: Vermerk1 und Vermerk2 können jetzt importiert werden.
* Mitglieder im Ausland: Unter Einstellungen kann jetzt ein entsprechendes Häkchen gesetzt werden. Anschließend kann der Staat beim Mitglied erfasst werden.
* Sterbetag aufgenommen.
* Bugfix bei leerer/neuer Datenbank.
* Zusatzbeträge-Import: Im Fehlerfall wird der Name des Mitglieds mit ausgegeben.

### Version 1.3.2 vom 18.05.2010

* Bugfix bei der Behandlung ausgetretener Mitglieder

### Version 1.3.1 vom 16.05.2010

* Zusätzliche Prüfung der Bankverbindung bei der Abrechnung
* Fehlendes Foreign-Key-Constraint Eigenschaften/Mitglied eingefügt.
* Bugfix Eigenschaften
* Aktuelle Geburtstage: Korrekte Behandlung ausgetretener Mitglieder
* Buchungsklassen-Saldo: Überschrift korrigiert.
* Programminterner einheitlicher Umgang mit ausgetretenen Mitgliedern
* Bugfix Einrichtung MySQL-Datenbank

### Version 1.3.0 vom 09.04.2010

* Abrechnung: Mitgliedsnummer in den Verwendungszweck aufgenommen.
* Bugfix beim Import des Eintrittsdatums.
* Adressbuchexport ins Mail-Menü verschoben.
* Mailfunktion um Dateianhänge erweitert.
* IBAN direkt bei der Eingabe von Kontonummer und BLZ berechnen
* Liste der Zusatzbeträge: true/false wird als X bzw. \_ dargestellt
* Mitgliedsdaten: Der zuletzt ausgewählte Tab wird bei Betätigung von "zurück" aktiviert.
* Erste Version eines einfachen Programms zum Versand von Mails.
* Standardwerte für Zahlungsweg und Zahlungsrhytmus bei der Neueingabe von Mitgliedern können unter Administration|Einstellungen|Beiträge eingestellt werden. <https://developer.berlios.de/bugs/?func=detailbug&bug_id=16605&group_id=7335>
* Spendenbescheinigung: Existierende Spendenbescheinigung kann als Vorlage für eine neue Spendenbescheinigung verwendet werden.
* Neu: Konkrete Fehlermeldung, wenn bei der Erstellung der Altersjubiläumsliste der Eintrag in den Stammdaten fehlt.
* Zusatzfeldern können jetzt Datentypen zugeordnet werden
* Zusatzfelder: Bei der Löschung einer Felddefinition wird nach Rückfrage auch der Inhalt der Datenfelder beim Mitglied gelöscht.
* Buchführung: Mehrere Buchungen können gleichzeitig gelöscht werden.
* Buchführung: Mehrfache Buchungsübernahme verhindert.
* Bugfix beim Austritt aller Mitglieder einer Familie (Familienbeitrag)
* Bugfix fehlerhafte Kontonummer bei der Eingabe und bei der Abrechnung
* Bei Manuellen Zahlungseingängen gibt es jetzt Mehrfachselektion. <http://developer.berlios.de/bugs/?func=detailbug&bug_id=16431&group_id=7335>
* Neu: Eigenschaften können jetzt in Eigenschaftengruppen zusammengefasst werden.
* Eigenschaften können importiert werden. <https://developer.berlios.de/bugs/?func=detailbug&group_id=7335&bug_id=16162>
* DB-Update restore: Meldung bei nicht leerer Datenbank
* Mitglied: Anzeige IBAN
* Neu: Import von Zusatzbeträgen. Sowohl Default-Format als auch individuelle Formate. <https://developer.berlios.de/bugs/?func=detailbug&group_id=7335&bug_id=16336>
* Die Art der Buchungsart (Einnahme, Ausgabe, Umbuchung) wurde bei der Bearbeitung generell auf Einnahme gesetzt.
* Lauffähigkeit mit den aktuellen Nightly-Builds von Jameica 1.9 und Hibiscus 1.11 hergestellt.
* Vermeidung NullPointerException beim Jahressaldo.
* Neu: Buchungsklassen zur Zusammenfassung von Buchungsarten. siehe auch [Zusammenhänge](http://www.jverein.de/wiki/index.php?title=Zusammenh%C3%A4nge).
* Neu: Buchungsjournal, Feature Request <https://developer.berlios.de/bugs/?func=detailbug&bug_id=16103&group_id=7335>
* Auswertung Mitglieder: Mitglieder mit Austrittsdatum in der Zukunft werden mit ausgewertet. Bug <https://developer.berlios.de/bugs/?func=detailbug&bug_id=16223&group_id=7335>
* Bugfix beim Import des Feldes Zahlungsrhytmus.

### Version 1.2.0 vom 23.08.2009

* Bugfix beim Import von Mitgliedern mit dem Zahlungsweg "Barzahlung"
* Bugfix bei den Abrechungen. Überlange Namen.
* Bugfix bei den Abrechungen. Spezialfall mehrere Fälligkeiten im Jahr und gleichzeitig beitragsfreie Beitragsgruppe.
* Neue Box "aktuelle Geburtstage". Wird unter dem Menüpunkt Jameica mit dem Button "Startseite anpassen" aktiviert.
* Bugfix bei der Erstellung von Rechnungen
* Mitglied: Zahlungsdaten in eignen Tab verschoben. Platzoptimierung
* Bessere Fehlermeldung bei der Löschung von Beitragsgruppen, denen noch Mitglieder zugeordnet sind. Bug <https://developer.berlios.de/bugs/?func=detailbug&bug_id=16223&group_id=7335>
* Bei der Auswahl des Geschlechts werden jetzt die Langtexte männlich und weiblich angezeigt.
* Bugfix FirstStart: Jetzt wird auch die Existenz von Beitragsgruppen abgefragt
* Die Menüpunkte von Plugins>JVerein ins Hauptmenü kopiert
* Mitglied: Name, Vorname und Straße als Suchfelder (Auto-Vervollständigung)
* Bugfix: Löschen von Mitgliedern mit Zusatzfeldern.
* Neu: Juristische Personen (Firmen, Organisationen, Behörden) können als Mitglied gespeichert werden.
* Neu: [Lehrgänge](http://www.jverein.de/wiki/index.php?title=Lehrg%C3%A4nge)
* Zusätzliche Felder zur Rechnungserstellung. Siehe <https://developer.berlios.de/bugs/?func=detailbug&bug_id=15062&group_id=7335>
* Bugfix "Fehler nach Löschung einer Beitragsgruppe". <https://developer.berlios.de/bugs/?func=detailbug&bug_id=15301&group_id=7335>
* Mitgliederstatistik: Bugfix Altersgruppen und Berücksichtigung des Eintrittsdatums.
* Konfiguration: EMail-Adresse kann als Spalte ausgewählt werden.
* Abrechnung: Formularwerte speichern und wiederherstellen.
* Anrede in die Spaltenauswahl aufgenommen.
* Bugfix Zusatzbeträge
* Silbentrennung in Reports aufgenommen
* Icons auf Buttons
* Spendenbescheinigung um 'Ersatz für Aufwendungen' erweitert
* Mitglieder ohne Eintrittsdatum werden jetzt berücksichtigt. <https://developer.berlios.de/bugs/?func=detailbug&bug_id=15132&group_id=7335>

### Version 1.1.1 vom 19.01.2009

* Unter MySQL kam es zu einem Fehler beim Löschen von Zusatzfeldern. <https://developer.berlios.de/bugs/?func=detailbug&bug_id=15024&group_id=7335>
* Mehreren Buchungen kann gleichzeitig eine Buchungsart zugeordnet werden.
* Abrechnung erfolgt irrtümlicherweise auch für ausgetretene Mitglieder (da hatte ich einen Bug entfernt und gleichzeitig einen neuen eingebaut ;-) <http://developer.berlios.de/bugs/?func=detailbug&bug_id=14996&group_id=7335>
* Rechnungen auch für Zusatzbeträge
* Beim Löschen von Rechnungen wurde eine NullPointerException geworfen. <https://developer.berlios.de/bugs/?func=detailbug&bug_id=14989&group_id=7335>
* Icons auf 16x16 Pixel skaliert. <https://developer.berlios.de/bugs/?func=detailbug&bug_id=14979&group_id=7335>
* Fehlende Icons in Kontextmenüs ergänzt. <https://developer.berlios.de/bugs/?func=detailbug&bug_id=14980&group_id=7335>
* Summenzeilen in der Buchungsliste korrekt ausgeben. <https://developer.berlios.de/bugs/?func=detailbug&bug_id=14978&group_id=7335>
* Anpassung an neue Jameica-Versionierung.

### Version 1.1.0.1 vom 29.12.2008

* Korrekte Verarbeitung wenn Eintritts- und/oder Geburtsdatum des Mitglieds fehlen. <http://developer.berlios.de/bugs/?func=detailbug&bug_id=14975&group_id=7335>
* Bugfix Foreign Key unter MySQL
* Bugfix Formularanzeige
* Bugfix Tabelle buchungsart für MySQL

### Version 1.1.0 vom 28.12.2008

* Bugfix Booleans aus MySQL-DB lesen
* About-Dialog gibt jetzt auch Build-Datum und -Nummer aus.
* JVerein prüft, ob die passende Jameica-Version installiert wurde.
* Bei Altersjubiläen wird jetzt das Geburtsdatum anstatt des Eintrittsdatums ausgegeben.
* Vermeidung von NullpointerExceptions nach Import von leeren Kommunikationsdaten
* Zusatzabbuchungen->Zusatzbetrag
* Icons ins Menü und in die Kontextmenüs aufgenommen.
* Telefonnummern auf 20 Stellen verlängert.
* Bugfix MySQL-Support.
* Bugfix Fälligkeitsberechnung Zusatzabbuchungen
* Bugfix Import: Adressierungszusätze
* Bugfix Dropdown-Box Zahlungsweg
* Abrechnung: Mitglieder mit einem Eintrittsdatum in der Zukunft bleiben unberücksichtigt.
* Abrechnung: Beim Beitragsmodell 'monatlich mit monatl., viertel-, halb- oder jährlicher Zahlungsweise' wird jetzt auch 'eingetretene Mitglieder' angeboten.
* Bug im Zusammenhang mit Drop-Down-Boxen gefixed.
* Redaktionelle Änderung an der Buchungsliste.
* Handy in den CSV-Export aufgenommen.
* Buchungen der Buchführung um Auszugs- und Blattnummer erweitert.
* Spalten der Mitgliederübersicht sind jetzt konfigurierbar. Die Konfiguration für alle Übersichten ist vorgesehen und wird später realisiert.
* Bugfix: Für die Auswertung Zusatzabrechnungen erfolgt jetzt auch der Aufruf des Anzeigeprogrammes.
* Verschiebung der Speicherung der Programmeinstellungen von einer Property-Datei in die Datenbank zur Vermeidung von Problemen in Multi-User-Umgebungen.
* Mitglied: Adressierungszusatz aufgenommen (Mitgliedsdaten, PDF-Liste, CSV-Export, Import)
* Einstellungen: Neu gruppiert und mit Scrollbars versehen.
* Mitglieder: Suche nach Geschlecht im Dialog und in den Auswertungen implementiert. Such-Masken 2spaltig formatiert.
* Kursteilnehmer können nach Namen oder Eingabedatum gefiltert werden.
* Abrechnungsinformationen können nach Datum oder Verwendungszweck gefiltert werden.
* Unter Plugins|JVerein|Erweitert kann jetzt ein Backup im XML-Format erzeugt und anschließend in eine leere Datenbank importiert werden. Benötigt Jameica-Nightly-Build >= 30.9.2008
* Bug <https://developer.berlios.de/bugs/?func=detailbug&bug_id=14496&group_id=7335>gefixed.
* Beim Start wird geprüft, ob die korrekten Versionen von Jameica und Hibiscus installiert sind.
* Bei den Jubiläen können jetzt Altersjubilare ausgewertet werden. Unter Stammdaten werden die Geburtstage konfiguriert.
* Neu: Rechnung
* Abbuchung heißt jetzt Abrechnung.
* SearchProvider für die neue Jameica-Suchmaschine (Mitglieder und Kursteilnehmer)
* Neu: Formulare
* Neu: Spendenbescheinigung
* Bugfix beim CSV-Export mit leeren Zusatzfeldern
* PDF-Export der Buchungen jetzt entweder als Einzelbuchungen oder als Summen
* Optimierung der internen Reporter-Klasse
* Mitgliederliste auf den Reporter umgestellt. Kommunikationsdaten aufgenommen.
* Bugfix im Script zur Erzeugung der Datenbank
* Abbuchung: Fehlermeldungen von OBanToo werden an die Oberfläche gebracht
* Freigabe der Buchführung zum allgemeinen Test
* Neues Datenfeld zur Speicherung der Handy-Nummer des Mitglieds. Import angepasst.
* Bugfix: "von-Datum" bei der Abbuchung wird jetzt korrekt dargestellt
* Beim wiederholten Import werden jetzt alle notwendigen Tabellen gelöscht
* Bug <https://developer.berlios.de/bugs/?func=detailbug&bug_id=13726&group_id=7335>gefixed
* Bugfix NPE bei Zusatzfeldern
* Speicherung von Zusatzfeldern bei den Mitgliedern
* Länge des Feldes Titel auf 20 verlängert, Länge des Feldes PLZ auf 10 verlängert.
* Bugfix: Anzeige der Hilfe unter Windows.
* Scrollbars in der Mitglieder-Detail-Ansicht von Olaf übernommen. Neues Nightly von Jameica erforderlich.

### Version 1.0.0 vom 25.03.2008

* Import des Zahlungsrhytmusses implementiert.
* Neu: In die Jameica-Startseite kann eine Übersicht über die Wiedervorlagen eingeblendet werden.
* Die Statistik bezieht sich jetzt auf einen Stichtag. Mitglieder, die nach dem Stichtag ausgetreten sind, werden noch als Mitglieder gewertet.
* In der Statistik wird jetzt die Anzahl der Anmeldungen und Abmeldungen zwischen dem 1.1. und dem eingegebenen Stichtag ausgegeben.
* Bei der Abbuchung kann jetzt die DTAUS-Datei ins PDF-Format konvertiert werden.
* PDF-Dokumentation durch Link zu diesem Wiki ersetzt.
* Neu: Jubiläumsliste
* Direkte Übernahme der Lastschriften als Einzel- oder Sammellastschriften in Hibiscus.
* Bei den \<a href="administration\_einstellungen.php">Einstellungen\</a> können jetzt Dateinamenmuster vorgegeben werden. Dieses Muster wird bei der Erzeugung von Dateinamen verwendet.
* Erweiterung um Hilfefunktion.
* Bei Neuinstallationen wird jetzt standardmäßig die H2-Datenbank installiert.
* Bug <https://developer.berlios.de/bugs/?func=detailbug&bug_id=12860&group_id=7335>gefixed
* Zu jedem Mitglied können Eigenschaften gespeichert werden. Diese Eigenschaften können im Dialog und bei der Auswertung in die Selektion einbezogen werden. Siehe <https://developer.berlios.de/bugs/?func=detailbug&bug_id=12862&group_id=7335>
* Erweiterung der Filterkriterien bei der Mitgliedersuche.
* h2.jar entfernt. Wird durch Jameica mitgeliefert.
* MySQL-Support von Michael Trapp übernommen.
* Bei der Abbuchung wird jetzt ein Stichtag abgefragt. Dieser Stichtag wird zur Prüfung herangezogen, ob ein ausgetretenes Mitglied noch zahlen muss. Siehe <https://developer.berlios.de/bugs/?func=detailbug&bug_id=12861&group_id=7335>
* Bei der Abbuchung können jetzt die Jahres-, Halbjahres- und Vierteljahresabbuchungen auch separat ausgeführt werden. Siehe <https://developer.berlios.de/bugs/?func=detailbug&bug_id=12861&group_id=7335>und <https://developer.berlios.de/bugs/?func=detailbug&bug_id=13021&group_id=7335>
* Bugfix bei der Berücksichtigung des Austrittsdatums bei der Mitgliederauswertung.
* Bugfix bei der Abbuchung: Zusatzabbuchung und Kursteilnehmer nur abbuchen, wenn entsprechendes Häkchen gesetzt ist.
* MySQL-Treiber entfernt. Wird jetzt von Jameica mitgeliefert.
* CSV-Export erweitert um die Bezeichnung der Beitragsgruppe.
* Bugfix: Bei der Mitgliedersuche wurden auch Eintritts- und Austrittsdaten der Auswertung berücksichtigt.
* Workaround f. Bug in Jameica

### Version 0.9.4 vom 16.12.2007

* Bugfix Update-Mimik/Migration. Update und Migration 'überholten sich'.

### Version 0.9.3 vom 03.12.2007

* Deployment-Bug: Es wurde nicht alles komplett ausgeliefert.

### Version 0.9.2 vom 02.12.2007

* Mitgliedersuche: Einschränkung auf angemeldete oder abgemeldete Mitgliedschaft
* Umstellung auf die H2-Datenbank
* Bugfix bei Zusatzabbuchungen ohne Interval
* Dokumentation: SPG-Export-Hardcopy auf Forderung von SPG durch textuelle Beschreibung ersetzt.
* Wegfall der Einstellung "Standardtab bei Mitgliedersuche". Es wird immer der zuletzt ausgewählte Tab angezeigt.
* Neu: Geburtstagsliste bei der Auswertung der Mitglieder
* Intern: Neue Mimik für das Update der Datenbankstruktur
* Neues Beitragsmodell
* Bugfix wiederkehrende Zusatzabbuchungen

### Version 0.9.1 vom 04.09.2007

* Beschränkung der Länge des Vereinsnamens auf 27 Stellen wegen Problemen mit der Abbuchung
* Bugfix bei der Abbuchung, wenn es keine beitragsfreie Beitragsgruppe gibt
* Neuer Konfigurationsbildschirm im Plugins-Menü: Es kann bestimmt werden, ob das Geburtsdatum und das Eintrittsdatum ein Pflichtfeld ist und ob die Reiter Kommunikationsdaten, Zusatzabbuchungen, Vermerke und Wiedervorlage sowie die Kursteilnehmer angezeigt werden.
* Einstellungsdialog erweitert um den Standard-Tab für die Mitglieder-Suche
* Bug <https://developer.berlios.de/bugs/?func=detailbug&bug_id=11763&group_id=7335>gefixed
* Bug <https://developer.berlios.de/bugs/?func=detailbug&bug_id=11764&group_id=7335>gefixed
* Bug <https://developer.berlios.de/bugs/?func=detailbug&bug_id=11819&group_id=7335>"gefixed
* Korrekte Anzeige der Pflichtfelder beim Mitglied. Achtung! Wer Wert auf dieses Feature legt, muss ein Jameica- Nighly-Build >= 30.8.2007 einsetzen. Ansonsten werden BLZ und Kontonummer nicht als Pflichtfeld angezeigt.
* Mitglieder können jetzt über das Context-Menü bearbeitet und gelöscht werden
* Beitragsgruppen können jetzt über das Context-Menü mit einem rechten Mausklick oder einen Button gelöscht werden.

### Version 0.9.0 vom 20.07.2007

* Überprüfung der Datenbank-Struktur beim Startup.
* Wiederkehrende Zusatzabbuchungen
* Bei der Neuerfassung von Mitgliedern wird nach der Eingabe der PLZ der Ort automatisch ermittelt, sofern er bereits bei mindestens einem Mitglied gespeichert ist
* Bugfix in der SQL-DDL-Update-Routine
* Vermeidung ClassNotFoundException
* Bugfix bei der Abbuchung mit mehr als einer beitragsfreien Beitragsgruppe
* Neu: Wiedervorlagetermin bei jedem Mitglied und Übersicht über alle Termine
* Neu: Auswertung Kursteilnehmer
* Bugfix: Stammdatenverwaltung
* Neu: Handbuch im PDF-Format
* Neu: Handbuch kann über Plugins|JVerein|Handbuch aufgerufen werden

### Version 0.7.0 vom 27.03.2007

* Zeit-Optimierung bei der Anzeige der Mitglieder-Suche
* Neu: Bei der Suche der Mitglieder gibt es jetzt einen Tab mit allen Mitgliedern
* Kursteilnehmer: Abbuchungsdatum kann zurückgesetzt werden
* Beitragsgruppe: Beitragsart kann jetzt festgelegt werden
* Bugfix Import. Jetzt können, wie dokumentiert, beliebige Dateinamen verwenden werden
* Erweiterung Import um Zahlungsweg
* Zusätzliche Plausibilitätsprüfung der Import-Datei
* Herstellung von Familienverbänden für Familientarife
* Zusätzliche Plausi bei der Abbuchung

### Version 0.6.0 vom 18.03.2007

* Neu: Zahlungsweg beim Mitglied
* Neu: Tabelle zur Überwachung der manuellen Zahlungseingänge
* Bugfix: Bei der Abbuchung von Kursteilnehmern wird das Abbuchungsdatum jetzt korrekt gesetzt
* Anpassung an Jameica/Hibiscus: Kennzeichnung der Pflichtfelder

### Version 0.5.0 vom 10.03.2007

* Neu: Kursteilnehmer
* Bugfix Mitgliederstatistik. Nur aktive Mitglieder werden berücksichtigt.
* Randeinstellungen der Mitgliederliste geändert.
* Konfiguration aus dem Extras-Menü zur Jameica-Konformität in das Plugins-Menü am oberen Rand verschoben
* Buchführung entfernt. Mit dem aktuellen Nightly-Build von Jameica und Hibiscus kann diese Aufgabe viel besser erledigt werden
* Zusätzliche Vermerkfelder bei den Mitgliedern


# Erster Start

Beim ersten Start von JVerein, bzw. solange, bis die Aufgaben erledigt sind, erscheint folgende Box:

![](/files/-LhnDbNI_ate08gEIW5P)


# Beitragsmodelle

JVerein unterstützt verschiedene Beitragsmodelle, die unter Administration | Einstellungen | Abrechnung | Beitragsmodell konfiguriert werden:

## Gleicher Termin für alle

Die Beiträge werden zu festen Terminen für alle Mitglied abgerechnet. Dieser Termin kann jährlich, halbjährlich, vierteljährlich oder monatlich sein. Zu diesem Termin wird für jedes Mitglied der Beitrag gemäß Beitragsgruppe eingezogen. In die Beitragsart wird der Beitrag eingetragen, der zum jeweiligen Fälligkeitstermin eingezogen werden soll. Das heißt, bei jährlicher Abbuchung den Jahresbeitrag, bei halbjährlicher Abbuchung den Halbjahresbeitrag, u.s.w.

## monatlich mit monatl., viertel-, halb- oder jährlicher Zahlungsweise zu fixen Terminen

Die Mitglieder können ihren Zahlungsrhythmus monatlich, viertel-, halb- oder jährlich wählen. Dabei gibt es feste Zahlungstermine für die einzelnen Zahlungsrhythmen. Z.B. wird der jährliche, halb-, vierteljährliche sowie dem monatliche Beitrag im Januar abgerechnet. Im Februar und März werden monatliche Beiträge abgerechnet. Im April vierteljährlich und monatlich, Mai und Juni wieder monatlich, Juli monatlich, vierteljährlich und halbjährlich und so weiter abgerechnet. In die Beitragsart wird der monatliche Beitrag eingetragen. Bei der Abrechnung wird für die vierteljährliche Abrechnung mit 3 multipliziert, die halbjährliche mit 6 und die jährliche mit 12.

## monatl., viertel-, halb- oder jährlicher Zahlungsweise zu flexiblen Terminen

Mit diesem Modell kann sehr individuell abgerechnet werden. Bei den Beitragsarten stehen Eingabefelder für monatliche, vierteljährliche, halbjährliche und jährliche Beträge zu Verfügung. Bei den Mitgliedern steht ein zusätzliches Datenfeld "Zahlungstermin" zur Verfügung. Folgende Zahlungstermine existieren

1. Monatlich
2. Vierteljährlich (Jan./Apr./Juli/Okt)
3. Vierteljährlich (Feb./Mai /Aug./Nov.)
4. Vierteljährlich (März/Juni/Sep./Dez.)
5. Halbjährlich (Jan./Juli)
6. Halbjährlich (Feb./Aug.)
7. Halbjährlich (März/Sep.)
8. Halbjährlich (Apr./Okt.)
9. Halbjährlich (Mai /Nov.)
10. Halbjährlich (Juni/Dez.)
11. Jährlich (Jan.)
12. Jährlich (Feb.)
13. Jährlich (März)
14. Jährlich (Apr.)
15. Jährlich (Mai )
16. Jährlich (Juni)
17. Jährlich (Juli)
18. Jährlich (Aug.)
19. Jährlich (Sep.)
20. Jährlich (Okt.)
21. Jährlich (Nov.)
22. Jährlich (Dez.)

Bei der Abrechnung wird der Abrechnungsmonat angegeben. Alle Mitglieder, die einen entsprechenden Zahlungstermin zum Abrechnungsmonat haben, werden berücksichtigt.

Siehe auch [Familientarife](/allgemein/familientarife)


# Familientarife

## Allgemein

Alle Mitglieder, für die der Familientarif gilt, sind einzeln einzugeben. Zur Abbildung eines Familientarifes sind 2 Beitragsgruppen einzurichten. Einmal eine Gruppe für den Zahler und eine Gruppe für die beitragsfreien Familienmitglieder. Als Zahler ist immer eines der familienangehörigen Mitglieder auszuwählen. Es wird nicht ein evtl. zahlendes Elternteil, das nicht Mitglied ist eingetragen. Die Familienmitglieder sind miteinander verknüpft. Tritt das zahlende Mitglied aus, erscheint ein entsprechender Hinweis. Dann muss entweder ein bislang beitragsfreies Mitglied zum Zahler erklärt werden oder der Familienverband wird aufgelöst und es werden Einzelbeiträge erhoben.

## Übersicht

In der Übersicht "Familienbeitrag" werden alle Familienverbände in Form eines Baumes aufgelistet. Es werden jeweils der Zahler mit den Angehörigen dargestellt.


# Aller Anfang

Aller Anfang ist schwer. Damit das "schöne" Werkzeug JVerein nicht am Start scheitert, gibt es hier eine Einführung für eine Windows Installation.

## Installation

Siehe [Installation](/allgemein/installation)

## Der erste Start

Jameica und damit die gesamte Software wird mit "C:\Jameica\jameica-win64.exe" (Beispiel für die 64bit Version) gestartet. Bei jedem Start, bzw. solange nichts Gegenteiliges eingestellt wurde (z.B. "Künftig immer diesen Ordner verwenden"), wird der Benutzerordner abgefragt:

![](/files/-LhnD_InO5YJT3dFfaZm)

Dies bietet daher auch die Option mehrere Vereine zu verwalten: diese müssen lediglich verschiedene Benutzerordner haben. Nach der Bestätigung des Ordner wird ein "Master"Passwort benötigt:

![](/files/-LhnD_Ipfwg9ntdJYpDS)

Anmerkung des "Aller Anfang" Erst-Autors:

Was und wie genau das Masterpasswort schützt ist 'nicht' eindeutig ersichtlich.Einen Zugang zu Software / diesem Benutzerordner hat man "nur" mit korrektem Masterpasswort, an die Daten in der Datenbank kommt man aber auch OHNE Kenntnis dieses Masterpasswortes. Siehe u.a. dazu: LibreOfficeDB .

Nach der Vergabe eines Masterpasswortes, gelangt man zur Hauptübersicht von Jameica, mit den Plugins: Hibiscus und JVerein.

## Grundlagen einrichten

### Bankzugang einrichten

Zum Einrichten des Onlinebankings wird in der Hauptübersicht (Klick auf Jameica - über "Hibiscus" und Termine") der "Bank-Zugang einrichten" Knopf gedrückt.

![](/files/-LhnD_Irpc5UsWf8lCjd)

Es erscheint folgende Abfrage, bei der das HBCI Verfahren abgefragt wird. Aus dem Dropdownmenü (siehe Grafik) eine passende Variante auswählen und mit "Übernehmen" bestätigen.

![](/files/-LhnD_ItwD5Bsm0bNrDd)

**Im Folgenden wird das Verfahren für eine HBCI-Chipkarte beschrieben.**&#x20;

Das HBCI Lesegerät muss erfolgreich in Windows eingerichtet sein (Treiber usw.). Nach dem Klick auf "Kartenleser suchen..." erscheint folgend dargestellte Hinweis/Abfrage, die nach dem Durchlesen mit "Ja" zu beantworten ist.

![](/files/-LhnD_IvoapJRRPz5jQ6)

Im Idealfall wurde der Kartenleser auf Anhieb gefunden. Die Kontodaten werden danach durch einen Doppelklick auf die entsprechende Zeile (siehe Grafik) eingerichtet.

![](/files/-LhnD_IxT_S35A1TdzXY)

Im nächsten Fenster besteht die Möglichkeit, HBCI-Version und die einzurichtenden Konten auszuwählen. Anmerkung zur HBCI-Version. Hier sollte nach Möglichkeit 2.2 oder "höher" (z.B. FinTS3) ausgewählt werden. Die HBCI-Version 2.1 führt unter Umständen zu Fehlern bei SEPA Buchungen (Fehler in der Form: funktioniert nicht.). Die getroffenen Einstellungen sollten mit "Konfiguration testen" geprüft werden. Verläuft der Test erfolgreich, bietet einem die Software an, die verfügbaren Konten automatisch anzulegen. Dies kann / sollte man mit "Ja" bestätigen. Im letzten Schritt, muss man nur noch den "Speichern"-Knopf betätigen und die Einrichtung ist abgeschlossen.

![](/files/-LhnD_IzE7cQRHeSMiLP)

### JVerein einrichten

Nach dem Einrichten von Hibiscus, muss JVerein eingerichtet werden. Dazu wählt man entweder den Knopf "Einstellungen" oder Navigiert über die "Navigation" nach unten zu "JVerein" dort zu "Administration" und dort ebenfalls zu "Einstellungen".

![](/files/-LhnD_J05L_giHl47k07)

Die vorzunehmenden Einstellungen sind selbsterklärend. Man sollte jeden Reiter sorgfältig prüfen und nach besten Wissen ausfüllen.

1. Allgemein: alles ausfüllen
2. Anzeige: externe Mitgliedsnummer? (hier sei schon darauf hingewiesen, die Mitgliedsnummer können nur Zahlen sein)
3. Beiträge: Entscheidung! Externe oder von JVerein vergebene Mitgliedsnummern für die Mandatsreferenznummer! Diese kann und sollte im Nachhinein nicht geändert werden.
4. Dateinamen: zum aktuellen Zeitpunkt weniger von Interesse
5. Spendenbescheinigung: alles ausfüllen
6. Buchführung: kann so bleiben
7. Rechnungen: kann so bleiben
8. Tabellen: kann so bleiben
9. Mail: alles ausfüllen - Tipp: die IMAP Funktion zur Speicherung von ausgehenden E-Mails ist hilfreich. Dies ist jedoch auch mit der "Immer Bcc an Adresse" ausreichend 'protokolliert'.
10. Statistik: kann so bleiben (vorerst)
11. Mitglied: kann so bleiben

In der folgenden Grafik ist auf die Scrollpfeile hingewiesen, mit denen man bei einem kleineren Fenster die hinteren 'Reiter' erreichen kann.

![](/files/-LhnD_J2x9qYuKbtxS5n)

### Weitere Einstellungen

Folgende Einstellungen müssen noch vorgenommen werden, um JVerein produktiv zu machen:

* [Konten](/allgemeine-funktionen/buchf/konten) aus Hibiscus "importieren" / übernehmen
* [Buchungsklasse](/allgemeine-funktionen/buchf/buchungsklasse) - hier mindestens den "Ideellen Bereich" einrichten
* [Buchungsart](/allgemeine-funktionen/administration/admbuchf/buchungsart) - hier mindestens "Mitgliedsbeitrag" einrichten
* [Beitragsgruppen](/allgemeine-funktionen/administration/beitragsgruppen) - hier mindesten eine Beitragsgruppe einrichten

An diesem Punkt sollte JVerein beendet werden um den Benutzerordner zu sichern. Der Sinn dahinter ist, dass das folgenden Ausprobieren Spuren in den Datenbanken hinterlässt. Einige Benutzer möchten mit einer "sauberen" Datenbank arbeiten. Sauber wird hierbei unter anderem so definiert, dass keine Testbuchungen oder Testkategorien existieren UND die Datenbankzähler (stetig fortlaufende Nummern) "richtig" bei 1 starten. Das Ausprobieren und Testen der Software treibt die Datenbankzähler jedoch in die Höhe. Funktionell dürfte sich bei der einen oder anderen Variante kein Unterschied ergeben.

Wie man sich auch entschieden hat, einige Testungen sind erforderlich, um die Software und ihr Potential richtig zu verstehen. Folgendes Vorgehen ist ratsam:

ca. 3 Mitglieder anlegen (je nach dem: es ist ratsam, einen "echten" Benutzer - z.B. sich selbst - anzulegen um eine ECHTE Test SEPA Lastschrift durchführen zu können.

* die eingetragenen E-Mail Adressen sollten echt sein und zu Ihnen führen (demjenigen, der das hier liest). Damit können die versandten E-Mail kontrolliert werden.


# Abhängigkeiten

JVerein ist abhängig von

| JVerein           | Jameica   | Hibiscus |
| ----------------- | --------- | -------- |
| >= 2.8.4          | >= 2.6.\* | >=2.6.11 |
| >= 2.8.0 <= 2.8.3 | 2.6.\*    | 2.6.0    |
| 2.6.\*            | 2.6.\*    | 2.6.0    |
|                   |           |          |


# Anleitung Jameica Portable

**Erstellung einer portablen Version von Jameica mit Plugins für/unter Windows mit „fixen“ Pfaden.**

*Beitrag von Marco Hügel*

## Quellen

Zur Erstellung einer portablen Version wird das Java Framework Jameica benötigt, sowie die gewünschten Plugins. Downloads finden sich wie gehabt unter folgenden Links:

* <http://www.willuhn.de> (Jameica Framework, Hibiscus, Syntax, …)
* <http://www.jverein.de>(Vereinsverwaltung)
* Weitere: <https://www.willuhn.de/products/jameica/plugins.php>

Weiterhin benötigt man noch die portable Version von Java (jPortable), die man sich hier herunterladen kann:

* <http://portableapps.com/apps/utilities/java_portable>

Nachfolgend beschreibe ich die portable Installation auf einem USB-Stick, welcher als Laufwerk E: in meinem System eingebunden ist. Sofern dies bei Euch anders ist, bitte entsprechend berücksichtigen.

Auf dem Stick habe ich ein Verzeichnis E:\Portable angelegt, worunter meine portablen Anwendungen, als auch Daten liegen sollen. Unterhalb dieses Verzeichnisses, habe ich ein Verzeichnis „Data“ angelegt, also E:\Portable\Data. Hier sollen künftig die Daten meiner portablen Anwendungen liegen. Zur Unterscheidung der Daten pro Anwendungen, habe ich hierunter nochmals einen Ordner „jameica“ angelegt. In diesem Ordner E:\Portable\Data\jameica sollen also künftig die Daten von Jameica mit den Plugins liegen. Das ganze sieht dann so aus:

![](/files/-LhnDgY-WHmBMayTDH30)

Nun werden Jameica und die Plugins auf den Stick entpackt, hierzu verwende ich bei mir das Programm 7zip. Natürlich kann jedes andere Packprogramm dafür verwendet werden.

Das Java Framework Jameica, entpacke ich dann direkt nach E:\Portable:

![](/files/-LhnDgY11IY7ktPp98m7)

Ergebnis:

![](/files/-LhnDgY3pP2fYaFmwT8P)

Anschließend werden die Plugins auf gleichem Wege nach E:\Portable\jameica\plugins entpackt. Beispielhaft anhand der Plugins Hibiscus (Onlinebanking) und JVerein (Vereinsverwaltung), sieht das dann so aus:

![](/files/-LhnDgY5jjN6TXBVKZfG)

Zur Installation der portablen Java-Version bitte die entsprechende Datei starten. Bei der Pfadauswahl dann den Pfad E:\Portable\CommonFiles\Java wählen wie hier:

![](/files/-LhnDgY7zSwvgwsHF6FX)

Da noch einige Dateien aus dem Internet heruntergeladen werden müssen, kann die Installation je nach Internetverbindung einige Minuten dauern.

Nach Fertigstellung der Java-Installation wären die Vorbereitungen abgeschlossen, und es geht an den portablen Starter für Jameica.

Die Startdateien die wir zur Erstellung der portablen Starter benötigen, liegen im Verzeichnis E:\Portable\jameica, und lauten wie folgt:

* jameica-win32.jar (für Windows 32bit)
* jameica-win64.jar (für Windows 64bit)

Die ebenfalls vorhandenen EXE-Files können an der Stelle nicht genutzt werden, da wir für die volle Portabilität natürlich das portable Java nutzen wollen.

## Wo sollen die portablen Starter angelegt werden?

Zunächst einmal sollte festgelegt werden, in welchem Verzeichnis die portablen Startdateien abegelegt werden sollen. Denkbar wäre das Programmverzeichnis von Jameica (E:\Portable\jameica), denkbar aber auch das übergeordnete Verzeichnis E:\Portable.

Ich beschreibe das ganze zunächst auf Basis des Verzeichnisses E:\Portable\jameica.

Zunächst legen wir uns per rechter Maustaste ein neues Textdokument im Ordner E:\Portable\jameica an:

![](/files/-LhnDgY9835N0kq0eTmS)

Das Textdokument bitte gleich umbenennen nach „JameicaPortableWin32.bat“ wie folgt:

![](/files/-LhnDgYBNQRZR21QkxLY)

Die erscheinende Meldung bzgl. der Umbenennung mit „Ja“ bestätigen.

Nun per rechter Maustaste die so erstellte Datei bearbeiten:

![](/files/-LhnDgYDDFfbXqJOZyAN)

Es öffnet sich der normale Windows Editor (Notepad) und wir können nun den Startbefehl in diese Datei eingeben, der Da lautet:

![](/files/-LhnDgYFPgPvgJWYlM16)

...oder zum kopieren\&einfügen:

```
start ..\CommonFiles\Java\bin\java.exe -jar jameica-win32.jar -f ..\Data\jameica
```

Die Datei noch über Datei → Speichern sichern, und wir wären an der Stelle schon fertig und könn(t)en den Startvorgang mit dieser Datei testen.

Wer Windows 64bit einsetzen möchte, kann analog eine neue Textdatei „JameicaPortableWin64.bat“ anlegen und diese anschließend bearbeiten.

Der Inhalt der Datei ist dann analog der Datei für Windows 32bit, nur eben mit dem Aufruf der Jameica-Version für 64bit:

```
start ..\CommonFiles\Java\bin\java.exe -jar jameica-win64.jar -f ..\Data\jameica
```

**Beachte:**

**Auch unter Windows 64bit, kann die 32bit-Version problemlos genutzt werden! Es muss also nicht zwingend eine portable 64bit Startdatei angelegt werden!**

## Umwandeln der Batch-Dateien in eine EXE mit schönem Icon?

Wer nun noch möchte, kann die portablen Startdateien auch als EXE-Datei mit einem schönen Programm-Icon speichern.

Hierzu lädt man sich das Tool „Bat to Exe“ von folgender Seite herunter:<http://www.f2ko.de/programs.php?lang=de&pid=b2e>

Das Programm ist portabel, und es gibt eine 32bit und eine 64bit-Version. Prinzipiell dürfte es keine Rolle spielen, mit welcher Version man die Umwandlung zu einer EXE vollzieht.

Ich nutze an der Stelle die 32bit-Version.

![](/files/-LhnDgYHFXPNkNLHtpHi)

Zunächst lädt man sich die Batch-Datei über den entsprechenden Suchbutton. Der Dateiname für die EXE wird automatisch gesetzt kann aber natürlich geändert werden.

Die Optionen auf diesem Reiter können so belassen werden. Wir wechseln nun noch auf den Reiter „Versionsinformation“:

![](/files/-LhnDgYJMsXLCt4R-qEh)

Das Hibiscus-Icon befindet sich im Pfad E:\Portable\jameica\plugins\hibiscus\icons.

Die Versionsinformationen füge ich an der Stelle beispielhaft an, für den eigenen Bedarf braucht man diese Informationen wohl eher nicht.

Mit „Kompilieren“ erstellt man nun die portable EXE-Datei mit Programm-Icon.

Analog kann man das gleiche noch für die 64bit-Version durchführen.

Im Verzeichnis E:\Portable\jameica befinden sich nun die portablen Starter im EXE-Format:

![](/files/-LhnDgYLEYRhYq8uWqyB)

## Wie lautet der Startbefehl im Ordner E:\Portable?

Möchte man die portablen Startdateien außerhalb des Jameica-Verzeichnisses legen, dann lautet der Aufruf in der jeweiligen Batchdatei wie folgt:

### Windows 32bit

```
cd jameica
start ..\CommonFiles\Java\bin\java.exe -jar jameica-win32.jar -f ..\Data\jameica
```

### Windows 64bit

```
cd jameica
start ..\CommonFiles\Java\bin\java.exe -jar jameica-win64.jar -f ..\Data\jameica
```

## Hinweise zur portablen Version unter Linux, MacOS etc.

Eine richtig portable Version unter Linux, MacOS etc. kann es nicht geben, zumal es keine portable Java-Version hierfür gibt.

Die Nutzung der „portablen“ Version setzt unter den genannten Betriebssystemen eine vorinstallierte Java Runtime ab Version 6 voraus.

Eventuell werden ich diese Anleitung noch um die mehr oder minder portable Nutzung unter den genannten Betriebssystemen erweitern.

## Update der portablen Version

Ein Update muss immer von Version zu Version erfolgen. Wenn man versehentlich eine Version überspringt, kann dies zu Problemen führen.

Updates gibt es aktuell ca. 2x jährlich, diese sollte man auch in aller Regel einspielen.

Zur Einspielung einfach wie folgt vorgehen:

1. Die portablen Startdateien vorher sichern, zumindest wenn Nutzung unter E:\Portable\jameica erfolgt.
2. Den Ordner E:\Portable\jameica löschen
3. Neue Versionen von Jameica und Plugins entsprechend dieser Anleitung in die gleichen Pfade installieren/entpacken.
4. Das portable Java (jPortable) kann über die bestehende Version installiert bzw. upgedatet werden.
5. Die portablen Startdateien wieder an den richtigen Ort kopieren.

Sofern man versehentlich die portablen Startdateien nicht gesichert hat, kann man diese auch schnell gemäß dieser Anleitung anlegen.

## Download einer so vorgefertigten Version?

Da Updates sowieso manuell durchgeführt werden müssen/sollten, macht eine vorgefertigte Version nur bedingt Sinn. Gleiches gilt auch dann, wenn andere Pfade verwendet werden, wie ich sie hier verwendet habe.

## Wie erstelle ich eine portable Version gemäß den Spezifikationen von <http://portableapps.com>

Im Wesentlichen muss man hier die gleichen Schritte wie erläutert machen, vor allem muss man sich aber an deren Spezifikationen halten, insbesondere die Verzeichnisstruktur betreffend:

<http://portableapps.com/development/portableapps.com_format>

Hat man die Dateien entsprechend den Spezifikationen in die vorgegebenen Verzeichnisse entpackt/kopiert, und die portablen Starter gemäß dieser Anleitung erstellt bzw. evtl. auch angepasst, so kann man mit dem PortableApps.com Installer, daraus ein Installationspaket der Form MeineAnwendung.paf.exe erstellen:

<http://portableapps.com/apps/development/portableapps.com_installer>

Viel Erfolg dabei!


# Automatisches Backup

## Automatisches Backup einrichten

Eine auch für JVerein sinnvolle Funktion von Jameica ist das automatische Backup.

Man findet es im Hauptfenster von Jameica bei Datei|Backups verwalten

Hier stellt man das Verzeichnis ein, in das man die Backups legen will, auch über eine Auswahlbox. Dazu gibt man die maximale Anzahl der Backups an, die man verwalten will. Bei einer Neuanlegung eines Backups wird das älteste Backup dann gelöscht, wenn die Maximalanzahl überschritten wird.

Nun noch das Häkchen für das automatische Backup beim Schließen setzen, Einstellungen speichern und schon wird bei jedem Schließen von Jameica und damit auch von JVerein ein automatisches Backup angelegt.

## Automatisches Backup wiederherstellen

Hierfür das Backup aus der Liste anwählen und unten den Button ausgewähltes Backup wiederherstellen anklicken. Der darin enthaltene Stand wird wiederhergestellt und die aktuellen Daten überschrieben. Inzwischen gemachte Änderungen sind damit auch weg, was beim Probieren sinnvoll sein kann.


# MySQL-Support

## Vorbemerkungen

JVerein verwendet standardmäßig eine embedded Datenbank (H2), die beim ersten Start automatisch eingerichtet wird. Seit JVerein 1.0 wird auch MySQL unterstützt.

## Erstellung der MySQL-Datenbank

Verwenden Sie Ihr bevorzugtes Administrationswerkzeug (z.Bsp. PhpMyAdmin \[<http://www.phpmyadmin.net/>] oder MySQL-Administrator\[<http://dev.mysql.com/downloads/gui-tools/5.0.html>]), um eine Datenbank mit dem Namen "jverein" sowie einen Benutzer anzulegen oder führen Sie folgende Kommandos aus, um Datenbank und Benutzer mit dem Kommandozeilen-Werkzeug "mysql" ("mysql.exe" unter Windows) anzulegen. Der angelegte Benutzer muss Lese- und Schreibrechte in dieser Datenbank besitzen.

* Als Benutzer root auf der Datenbank anmelden: `mysql -u root -p`(girls. mit Pfadangabe vor mysql oder Anpassung von PATH)
* Datenbank anlegen: `mysql> create database jverein;`
* Benutzer anlegen: Wenn die Datenbank im ganzen Intranet erreichbar sein soll, verwenden Sie statt "localhost" beispielsweise "192.168.1.%", wenn die IP-Adressen aller PCs in Ihrem LAN mit "192.168.1." beginnen oder "%", wenn keine Einschränkungen gelten sollen.
  * `mysql> CREATE USER 'jverein'@'localhost' IDENTIFIED BY '<passwort>';`
  * `mysql> GRANT ALL PRIVILEGES ON jverein.* TO 'jverein'@'localhost';`

## Erstellung eines Install-Bundles und der Datenbank

Damit JVerein auf eine MySQL-Datenbank zugreifen kann, muss eine Konfigurationdatei angepasst werden. Da diese beim ersten Start noch nicht existiert, würde JVerein auf jedem Arbeitsplatz unnötig eine Embedded H2-Datenbank anlegen, die anschliessend nicht gebraucht wird. Bereiten Sie daher mit den folgenden Schritten ein vorkonfiguriertes Bundle vor, welches anschließend einfach 1:1 auf alle Arbeitsplatz-PCs kopiert werden kann.

* Installieren sie wie beschrieben. Falls sie ein "heterogenes" Netz mit Windows- und Linux-Arbeitsplätzen nutzen, dann verwenden Sie die All-In-One-Version von Jameica, welche unter beiden Betriebssystemen lauffähig ist. Andernfalls können Sie die Windows- oder Linux-Version verwenden.
* Erstellen Sie nun manuell ein Verzeichnis "cfg" im Programm-Verzeichnis von Jameica.
* Erstellen Sie in diesem Verzeichnis eine Datei mit dem Namen "de.jost\_net.JVerein.rmi.JVereinDBService.properties". Öffnen Sie diese mit einem Texteditor und tragen Sie folgenden Inhalt ein:

`database.driver=de.jost_net.JVerein.server.DBSupportMySqlImpl`

`database.driver.mysql.jdbcurl=jdbc\:mysql\://<Server-IP>\:<port>/<datenbankname>?useUnicode\=Yes&characterEncoding\=ISO8859_1`

`database.driver.mysql.username=<Username des MySQL-Users>`

`database.driver.mysql.password=<Passwort des MySQL-Users>`

`database.driver.mysql.scriptprefix=mysql-`

* Ersetzen Sie die Werte \<datenbankname>, \<port>, \<Username des MySQL-Users>, \<Server-IP> und \<Passwort des MySQL-Users> durch den Datenbanknamen, den Hostnamenoder die IP-Adresse des MySQL-Servers, den Port (Standard: 3306), sowie Username und Passwort des MySQL-Benutzers. (Siehe folgender Schritt für die Einrichtung der Datenbank).
* Erstellen Sie auf der MySQL-Datenbank auf dem Server einen neuen Benutzer sowie eine Datenbank mit einem beliebigen Namen. Der angelegte Benutzer muss Lese- und Schreibrechte in dieser Datenbank besitzen.

## Test und Verteilung auf die Arbeitsplätze

**Wichtig:** Die gerade manuell erstellte Konfigurations-Datei wird nur dann verwendet, wenn noch kein Jameica-Benutzerverzeichnis mit abweichenden Angaben existiert. Prüfen Sie also vor dem ersten Start, ob dieses existiert und benennen Sie es ggf. während des Tests um:

### Linux

/home/\<username>/.jameica

### Windows

C:\Dokumente und Einstellungen\\\<username>.jameica

* Starten Sie nun diese Jameica-Installation durch Aufruf von "jameica.sh" bzw. "jameica.bat". JVerein sollte nun keine eigene Datenbank erstellen sondern stattdessen direkt auf die MySQL-Datenbank zugreifen.
* Verteilen Sie nun das vorkonfigurierte Install-Bundle (im Beispiel also "C:\download\jameica") auf alle teilnehmenden Arbeitsplatz-PCs.
* Beachten Sie, daß auch auf den anderen Arbeitsplatz-PCs noch kein Jameica-Benutzerverzeichnis existieren darf, da sonst die dort angegebene Datenbank-Konfiguration (welche auf die interne H2-Datenbank verweist) verwendet wird.

Hinweis: Auf allen Arbeitsplätzen muss die gleiche Version von JVerein im Einsatz sein. Durch neue Versionen wird u. U. die Datenbankstruktur so verändert, dass ältere Versionen damit nicht klar kommen.

## Sicherheitshinweise

Nutzen Sie MySQL nur in gesicherten und vertrauenswürdigen Intranets, da die Datenübertragung von MySQL standardmäßig unverschlüsselt erfolgt. Lesen Sie alternativ die MySQL-Dokumentation zu Grundlegenden SSL-Konzepten sowie der Einrichtung von SSL für MySQL. Die manuelle Erstellung sowie der Import des Server-Zertifikats sollte auf den Arbeitsplätzen jedoch nicht nötig sein, da Jameica einen eigenen Keystore verwendet und den Benutzer automatisch bei Bedarf zum Import des Zertifikats auffordert.

### Probleme

Unter Ubuntu: Das Paket libmysql-java muss installiert sein.

Außerdem gibt es bei 16.04 Xenial das Problem dass phpmyadmin eine missing gettext dependency hat, das Paket php-gettext muss manuell installiert werden. Siehe auch <https://bugs.launchpad.net/ubuntu/+source/phpmyadmin/+bug/1569128>


# Datenbank öffnen

## H2-Datenbank mit OpenOffice/LibreOffice-Base öffnen

Die Datenbank von JVerein kann mit dem Datenbankmodul (Base) von OpenOffice bzw. LibreOffice geöffnet werden. Dies hilft beispielsweise dabei Abfragen zu erstellen, einzelne Informationen aus der Datenbank auszulesen oder Serienbriefe zu schreiben.

Hierfür haben wir jeweils eine Anleitung für [OpenOfficeDB](/allgemein/openofficedb) und [LibreOfficeDB](/allgemein/libreofficedb) erstellt.

## H2-Datenbank mit ODBC öffnen

Es ist auch möglich eine ODBC-Datenquelle für die JVerein-Datenbank einzurichten. Damit kann man z.B. mit MicroSoft-Office auf die Datenbank von JVerein zugreifen und dann z.B. (mit Access) Abfragen erstellen oder (mit Word) Serienbriefe schreiben.

Wie der Datenbankzugriff auf H2-Datenbanken allgemein eingerichtet werden kann wird unter <http://www.h2database.com/html/advanced.html#odbc_driver> beschrieben. Das Verfahren setzt jedoch voraus dass ein <http://www.h2database.com/html/download.html> installiert ist und hat leider bisher nur den Status "experimentell" (02/2014).


# OpenOfficeDB

## H2 Datenbank mit OpenOffice-Base öffnen

**Wichtig!** Beim Zugriff mit OpenOffice-Base auf die JVerein-Datenbank muss JVerein geschlossen sein.

## H2.jar in den Classpath aufnehmen

Die Bibliothek h2.jar mit dem Datenbank-Treiber ist in den OpenOffice-Classpath aufzunehmen. Dazu irgendein OpenOffice-Modul (z. B. Writer) öffnen. Unter Extras>Optionen>OpenOffice.org>Java>Class Path den Pfad zur h2.jar auswählen (Archiv hinzufügen). Im Normalfall ist die Bibliothek im Jameica-Verzeichnis im Lib-Verzeichnis vorhanden.

![](/files/-LhnDa8ZmZRU2pyBtZii)

![](/files/-LhnDa8aoyUDVYTHqvQi)

## Datenbankassistent

OpenOffice-Base aufrufen.

Im Datenbankassistenten den Punkt "Verbindung zu einer bestehenden Datenbank herstellen" auswählen. Im dazugehörigen Dropdown-Menü die Standardeinstellung "JDBC" übernehmen.

![](/files/-LhnDa8cSrvaPlTKlBFS)

Im Feld "URL der Datenquelle" muss der Pfad zu H2-Datenbank eingetragen werden. Der Pfad beginnt mit h2: (Linux) bzw. h2:file: (Windows):

Beispiele:

Linux: `h2:/home/heiner/jameica.buch/jverein/h2db/jverein`

Windows: `h2:file:C:/Pfad/zur/Datenbank/.jameica/jverein/h2db/jverein`

Unter JDBC-Treiberklasse muss der Datenbanktreiber eingetragen werden: `org.h2.Driver`

![](/files/-LhnDa8eYPywwlQoWvCc)

Nach einem Klick auf Weiter müssen die Zugangsdaten zur Datenbank eingetragen werden:

Benutzername: `jverein,` Kennwort erforderlich

Nach einem Klick auf "Verbindungstest" kann das Passwort eingegeben werden

Passwort: `jverein`

![](/files/-LhnDa8gLhnFJ7_RVW4B)

![](/files/-LhnDa8iqMlz6jtHDhbI)

Anschließend muss der Datenbank-Assistenten angewiesen werden die Datenbank anzumelden und sie anschließend zum Bearbeiten zu öffnen.

Nach einem Klick auf "Fertigstellen" muss die neu geschaffene OpenOffice-Datenbank gespeichert werden. Die OpenOffice-Datenbank dient praktisch als Hülle. Hier wird der Zugang zur JVerein-Datenbank, sowie eure in OpenOffice angelegten Abfragen u.ä. gespeichert. Hierzu einfach einen beliebigen Dateinamen und Speicherort angeben.

Anschließend öffnet sich OpenOffice-Base. Wenn alles geklappt hat fragt Base nun nach Benutzernamen und Passwort für die Datenbank. Hier erneut die oben angegebenen Daten eingeben.

Nun solltet ihr unter "Tabellen" einen Reiter "JVEREIN" finden. Im Unterordner "PUBLIC" findet ihr alle Tabellen, die JVerein angelegt hat. Ihr könnt nun nach Herzenslust auf die Datenbank zugreifen und z.B. Abfragen erstellen.


# LibreOfficeDB

## H2 Datenbank mit LibreOffice Base öffnen

**Wichtig!** Beim Zugriff mit LibreOffice Base auf die JVerein-Datenbank muss JVerein geschlossen sein.

### H2.jar in den Classpath aufnehmen

Die Bibliothek h2.jar mit dem Datenbank-Treiber ist in den LibreOffice-Classpath aufzunehmen. Dazu irgendein LibreOffice-Modul (z. B. Writer) öffnen. Unter Extras>Optionen>LibreOffice>Erweitert>Class Pfad den Pfad zur h2.jar auswählen (Archiv hinzufügen). Im Normalfall ist die Bibliothek im Jameica-Verzeichnis im Lib-Verzeichnis vorhanden.

Beispiele:

Windows: `C:\Programme\jameica\lib\h2\h2.jar`

![](/files/-LhnDdUT8nHxqiG8afhm)![](/files/-LhnDdUVi8tXegLv9bFE)

### Datenbankassistent

LibreOffice Base aufrufen.

Im Datenbankassistenten den Punkt "Verbindung zu einer bestehenden Datenbank herstellen" auswählen. Im dazugehörigen Dropdown-Menü die Standardeinstellung "JDBC" übernehmen.

![](/files/-LhnDdUX1uMeiVPAMxoc)

Im Feld "URL der Datenquelle" muss der Pfad zu H2-Datenbank eingetragen werden. Der Pfad beginnt mit h2: (Linux) bzw. h2:file: (Windows):

Beispiele:

Linux: `h2:/home/heiner/jameica.buch/jverein/h2db/jverein`

Windows: `h2:file:C:\Pfad\zur\Datenbank\.jameica\jverein\h2db\jverein`

Unter JDBC-Treiberklasse muss der Datenbanktreiber eingetragen werden: `org.h2.Driver`

![](/files/-LhnDdUZ_3MiFgLTZ2M0)

Nach einem Klick auf Weiter müssen die Zugangsdaten zur Datenbank eingetragen werden:

Benutzername: `jverein`, Kennwort erforderlich

Nach einem Klick auf "Verbindungstest" kann das Passwort eingegeben werden

Passwort: `jverein`

![](/files/-LhnDdUaBxJ31VN0nLxC)

![](/files/-LhnDdUcnjrUDE4kIdcB)

Anschließend muss der Datenbank-Assistent angewiesen werden die Datenbank anzumelden und sie anschließend zum Bearbeiten zu öffnen.

![](/files/-LhnDdUejMQQsOstk6qR)

Nach einem Klick auf "Fertigstellen" muss die neu geschaffene LibreOffice-Datenbank gespeichert werden. Die LibreOffice-Datenbank dient praktisch als Hülle. Hier wird der Zugang zur JVerein-Datenbank, sowie eure in LibreOffice angelegten Abfragen u.ä. gespeichert. Hierzu einfach einen beliebigen Dateinamen und Speicherort angeben.

## LibreOffice Base

Anschließend öffnet sich LibreOffice Base. Wenn alles geklappt hat fragt Base nun nach Benutzernamen und Passwort für die Datenbank. Hier erneut die oben angegebenen Daten eingeben.

Nun solltet ihr unter "Tabellen" einen Reiter "JVEREIN" finden. Im Unterordner "PUBLIC" findet ihr alle Tabellen, die JVerein angelegt hat. Ihr könnt nun nach Herzenslust auf die Datenbank zugreifen und z.B. Abfragen erstellen.

![](/files/-LhnDdUgM2_hpFdwqPJj)


# Multiuser

Beitrag von DIG aus dem JVerein-Forum

## Vorbemerkungen

Jameica, Hibiscus und JVerein sind offiziell nicht multiuserfähig und haben keine ernstzunehmende Benutzerverwaltung (d.h. mehrere Benutzer mit unterschiedlichen Berechtigungen). Alle nachfolgend hier vorgestellten Lösungen für gemeinsamen Datenzugriff setzen also Vertrauen und klare Absprachen/Zuständigkeiten der beteiligten Benutzer untereinander voraus, so dass Datenmissbrauch und inkonsistente Daten (z.B. durch Fehleingaben) ausgeschlossen/vernachlässigt werden können.

Ich setze ferner voraus, dass das Thema Datenschutz von allen Beteiligten ernst genommen wird und sämtlicher Datenverkehr mit persönlichen Mitgliederdaten über öffentliche Netze stets geeignet verschlüsselt wird. Wenn ich von Netzwerkzugriff rede dann meine ich damit nicht nur den (unverschlüsselten) Zugriff aus einem LAN sondern schließe auch den geeignet verschlüsselten Fernzugriff über das Internet (z.B. mittels VPN, SSH-Tunnel, SSL) mit ein ohne diese jeweils einzeln zu erwähnen.

Wenn Jameica und JVerein auf mehreren Rechnern installiert werden, so sollten zur Vereinfachung und Fehlerquellenreduktion alle Installationen stets identisch sein, d.h. es sind insbesondere die gleichen Pfade/Ordner zu verwenden (z.B. C:\Vereinsname\Jameica für die Programme und C:\Vereinsname\Jameica-Daten als Datenordner) und die Plugins müssen auch überall am selben Ort installiert werden. Ich bevorzuge die Installation der Plugins ins Datenverzeichnis weil dies die Administration einfacher macht: Es muss auf den verschiedenen Rechnern nur die Jameica-Version kompatibel gehalten werden während die Plugins eben nur einmal installiert oder aktualisiert werden müssen und die Version der Daten damit immer zur Version des Plugins passt.

## Datenaustausch

Darunter verstehe ich dass z.B. unter Vorstandsmitgliedern die Daten weitergegeben werden.

### Listenweitergabe

In dieser Variante benutzt nur einer JVerein und er stattet die anderen regelmäßig mit den Listen aus JVerein aus (z.B. Adressliste, Jubilarliste usw.).

* Vorteile: sehr einfach und den Empfängern der Listen gibt man nicht mehr Informationen als sie auch bekommen sollen.
* Nachteile: Listen sind nicht immer aktuell und viele JVerein-Features wie bspw. die Suche oder der Mailversand stehen nicht zur Verfügung.

### Datenweitergabe

Hier haben alle Benutzer, die Daten benötigen, JVerein auf ihren Rechnern installiert und haben so den vollen Zugriff auf alle Daten und Funktionen. Alternativ kann auch die Portable-Version von Jameica+JVerein eingesetzt werden, damit muss auf den Benutzer-Rechnern nichts besonderes installiert werden.

* Vorteile: Aktuelle Daten und alle Funktionen für alle.
* Nachteile: Die regelmäßige Datenweitergabe kann lästig werden.

### Mit Schreibrecht für alle

Nach jeder Änderung müssen die Daten an alle anderen Benutzer weitergegeben werden. Dazu eignet sich das manuelle Kopieren des Datenordners auf einen USB-Stick, bequemer dürfte aber der Versand per E-Mail sein.

Die Verwendung der JVerein-Funktion "Diagnose-Backup" eignet sich hier nicht weil der Import eine leere Datenbank voraussetzt, die nach dem ersten Import aber nicht mehr leer ist. Wo man den Datenordner standardmäßig findet, ist in den FAQ nachzulesen.

### Ohne Schreibrecht für alle

Änderungen an den Daten dürfen per Definition nur von einem Verantwortlichen vorgenommen werden, er hat die 'Master'-Kopie der Daten. Alle anderen Benutzen erhalten von ihm zwar regelmäßig eine Kopie der Daten wie oben in "Mit Schreibrecht für alle" beschrieben, jede bleibende Änderung muss aber vom Verantwortlichen selber getätigt werden, die anderen Benutzer müssen Änderungswünsche an den Daten ggf. bei ihm einreichen. (siehe auch #Lese- und Schreibrecht)

## Gemeinsamer Datenzugriff

Hierbei haben alle Benutzer stets den vollen Zugriff auf den aktuellen Datenstand. Da Jameica und JVerein jedoch keinen gleichzeitigen Multiuser-Zugriff unterstützen, sind geeignete Absprachen oder technische Vorkehrungen für eine Nutzung nur nacheinander zu treffen (siehe dazu #Lese- und Schreibrecht).

### MySQL

In einem Netzwerk kann anstelle der sonst verwendeten H2-Datenbank ein zentraler MySQL-Datenbankservers genutzt werden. Jameica und JVerein werden auf allen Rechnern der Benutzer lokal (empfehlenswert bei Fernzugriff) oder auf einem Netzwerk-Share (besser bei LAN-Zugriff) entsprechend konfiguriert installiert. Mit MySQL können auch reine Nur-Lese-Zugriffe realisiert werden (siehe #Mit einer MySQL-Datenbank).

* Vorteile: Bequemer Datenzugriff, auch anderweitig (insbesondere mit ODBC usw.), theoretisch Multiuser-Zugriff (wird offiziell aber nicht unterstützt).
* Nachteile: MySQL-Server nötig, ein etwas besseres NAS (z.B. von QNAP oder Synology) genügt aber oft schon.

Hinweis: Eine MySQL-Datenbank aus dem Webhostingpaket ist i.d.R. ungeeignet da der Datenbankserver bei vielen Hostern von außen gar nicht direkt erreichbar ist (z.B. 1&1) oder falls doch kaum SSL-verschlüsselt sein dürfte. Eine Lösung für Amazon RDS mit Verschlüsselung beschreibt Stephan im Onlinebanking-Forum

Mehr Infos zur Einrichtung einer MySQL-Datenbank gibt es unteri: [MySQL-Support](/allgemein/mysql-support)

### Cloud-Computing

Bei einem Cloud-Anbieter der Wahl wird ein Konto (oder Space) eingerichtet, das dann von allen Benutzern verwendet wird. Ich habe TeamDrive wegen der eingebauten Verschlüsselung schon vor der Übertragung verwendet und war zufrieden damit, bei Cloud-Anbietern ohne solche Verschlüsselung kann man z.B. mit TrueCrypt zunächst lokal dafür sorgen. Wer keinem der Cloud-Anbietern so richtig traut, kann auch seine eigene Cloud aufsetzen: OwnCloud läuft auch in einem WebSpace (verwende ich inzwischen mit meinem 1&1-Shared-Webhosting-Paket).

Auf allen Rechnern der Benutzer müssen stets dieselben Ordner verwendet werden (z.B. C:\Vereinsname) und als lokaler Ordner zum Cloudspeicher eingerichtet werden. Jameica und JVerein zusammen mit den Daten am besten komplett dorthin installieren, dann liegt bereits eine so zentrale Speicherung vor dass Updates nur einmal eingespielt werden müssen.

* Vorteile: günstig und recht einfach aufzusetzen
* Nachteile: Setzt hinreichendes Vertrauen in Cloud-Anbieter voraus und kann Geld kosten falls man mit den kostenlosen Angeboten nicht auskommt.

Wichtiger Hinweis: Nachdem man den Cloud-Dienst-Clienten gestartet hat (bzw. nachdem man seinen Rechner eingeschaltet hat, falls dieser Dienst automatisch gestartet wird) muss man mit dem Start von Jameica+JVerein so lange abwarten bis der Cloud-Dienst-Client die lokal gespeicherten Daten gegen die in der Cloud gespeicherten vollständig abgeglichen hat. Werden Jameica+JVerein zu früh gestartet so sind einige lokale Dateien dadurch in Bearbeitung und werden zunächst nicht sondern erst später abgeglichen. Ebenso ist stets darauf zu achten, den Cloud-Dienst-Clienten erst zu beenden (oder den Rechner auszuschalten) nachdem alle neu geänderten Dateien auch vollständig in die Cloud übertragen wurden. Als Folge von Nichtbeachtung können Versionskonflike auftreten, die schlimmstenfalls eine inkonsistente Datenbank (d.h. verloren gegangene Änderungen) bedeuten können. Eine gewisse Disziplin ist hier also von Nöten.

Weitere Infos und Erfahrungsberichte zum Cloud-Computing mit JVerein gibt es im Forum (Suchbegriffe: z.B. Dropbox oder multiuser)

#### Mit Schreibrecht für alle

Das ist der Standard beim Speichern in der Cloud, alle Benutzer arbeiten mit Live-Daten und können sie auch ändern.

#### Ohne Schreibrecht für alle

Analog zu "Datenweitergabe ohne Schreibrecht" führt nur ein Verantwortlicher Änderungen an den Daten durch. Der Verantwortliche hat dazu zwei Datenordner auf seinem Rechner: die 'Master'-Kopie der Daten, die nicht in der Cloud gespeichrt sein muss (aber kann), und die Benutzer-Kopie, die in der Cloud liegt. Nach jeder Änderung durch den Verantwortlichen kopiert dieser die Daten von seiner 'Master'-Kopie in die Benutzer-Kopie in der Cloud. (siehe auch #Lese- und Schreibrecht)

### Terminal-Server und Verwandte

Hat man die Möglichkeit einen (Windows) Terminal-Server zu nutzen (oder XTerminals bei Linux), so arbeiten alle Benutzer auf dem selben Rechner, mit zentral gespeicherten Daten und Programmen. Es ist nur eine Jameica und JVerein-Installation nötig, die allerdings nicht in einem Benutzerordner sondern in für alle zugänglichen Ordnern sein muss.

* Vorteile: zentral administrierbar und kann die komplette Arbeitsumgebung (d.h. auch Office-Anwendungen usw.) enthalten.
* Nachteile: kräftiger Server, Betrieb und ggf. Lizenzen sowie ein guter Sysadmin nötig, damit wohl recht teuer und eher nur etwas für die Profiliga. Man kann einen Terminal-Server aber auch mieten....

#### Terminal-Server "light"

Man nehme einen gewöhnlichen Windows-PC, aktiviere dort den Remotedesktop und schalte den Benutzerwechsel ab.

* Vorteile: Einfacher und günstiger (es wird nur ein PC und eine Lizenz benötigt) als ein echter Terminal-Server bei sonst gleichen Vorteilen
* Nachteile: Eine Single-User-Lösung, aber für Jameica+JVerein ja genau richtig.

### Multiuser-Setup per SVN/Subversion

Die JVerein-H2-Datenbank (jverein.h2.db) kann in einem zentralen Subversion-Respository gespeichert werden. Bevor Jameica/JVerein gestartet wird holt man sich zunächst den letzten Stand der Datenbank aus dem Repository und schreibt ihn ggf. nach beendeter Arbeit dorthin wieder zurück (Commit).

* Vorteile: Änderungshistorie (Datenbankstände werden archiviert, welcher SVN-Benutzer hat wann geändert), Datenbankdatei kann mit einen Schreib-Lock belegt werden (d.h. nur ein schreibener Benutzer gleichzeitig / Lock-Modify-Write-Workflow)
* Nachteile: SVN/Subversion erforderlich, Disziplin beim Ablauf absolut notwendig (SVN-Jameica-SVN).

Dieses Verfahren hat phfeustel (<http://www.jverein.de/forum/memberlist.php?mode=viewprofile&u=2553>) implementiert und im Forum (<http://www.jverein.de/forum/viewtopic.php?f=4&t=2717>) ausführlich beschrieben.

Weitere Anleitungen von phfeustel:

* Für Admins: <https://it.jungeverlagsmenschen.de/images/b/b8/20171222_Admin_Jameica_JVerein_Hibiscus_Setup_it.jungeverlagsmenschen.de.pdf>
* Für Benutzer: <https://it.jungeverlagsmenschen.de/images/d/de/20171222_Benutzer_JVerein_Installationsanleitung_it.jungeverlagsmenschen.de.pdf>, <https://it.jungeverlagsmenschen.de/images/6/6b/20171222_Benutzer_JVM_JVerein_Benutzerhandbuch_it.jungeverlagsmenschen.de.pdf>, <https://it.jungeverlagsmenschen.de/images/2/22/20171222_Benutzer_Exkurs_zu_SVN-Begriffen_it.jungeverlagsmenschen.de.pdf>

#### Mit Schreibrecht für alle

Alle SVN-Benutzer dürfen hochladen/committen.

#### Ohne Schreibrecht für alle

Nur einzelne SVN-Benutzer dürfen hochladen/committen.

## Strategien und technische Lösungen für so etwas wie einen Multiuser-Zugriff

### Lese- und Schreibrecht

Benutzer mit unterschiedlichen Rechten unterstützen Jameica und JVerein nicht. Damit ist es auch nicht möglich Teilberechtigungen abzubilden (bspw. einzelnen Benutzern die Anzeige der Buchungen vorenthalten).

#### Mit der H2-Datenbank

Mit dem Rezept aus "Datenweitergabe ohne Schreibrecht für alle" und "Cloud-Computing ohne Schreibrecht für alle" lassen sich zwei Benutzergruppen realisieren: die einen haben Schreibrechte und arbeiten auf einer 'Master'-Kopie der Daten, die Benutzer der zweiten Gruppe arbeiten mit einer Benutzer-Kopie der Daten.

Nach jeder Änderung an der Master-Kopie der Daten wird die Benutzerkopie anschließend überschrieben, damit sind Änderungen, die die Benutzer der zweiten Gruppe eventuell gemacht haben stets flüchtig und de facto ist es damit ein reiner Lese-Zugriff.

Änderungen an den Daten müssen den Benutzern der ersten Gruppe "zugerufen" werden damit diese sie in die Master-Kopie der Daten eintragen können.

* Vorteile: immerhin so etwas ein kleine Benutzerverwaltung
* Nachteile: Die Daten der Benutzerkopie können durch Änderungen der zweiten Benutzergruppe verfälscht werden (bis sie das nächste mal durch die Master-Kopie überschrieben werden) und die ständige Kopiererei von Master- auf Benutzer-Kopie der Daten ist lästig und kann auch mal vergessen werden.

#### Mit einer MySQL-Datenbank

Wird eine MySQL-Datenbank verwendet, dann kann man einen separaten MySQL-Benutzer anlegen und diesem nur Leserechte geben. Bei den Jameica+JVerein-Installation von Benutzern, die nur Lesen können sollen, muss dann dieser entsprechend beschränkte MySQL-Benutzer verwendet werden. \[Danke dl7bmg für diesen Hinweis]

Sofern zeitgleich maximal ein (MySQL-)Benutzer mit Schreibrechten zugreift, sehe ich keinen Hinderungsgrund warum nicht weitere Benutzer mit Nur-Lese-Rechten gleichzeitig zugreifen können sollten. Denkbar wäre auch -mit ähnlicher Methode wie in #Der Nacheinander-MultiUser-Zugriff beim ersten Benutzer Jameica mit einer Konfiguration mit Schreibrecht in der MySQL-Datenbank zu starten und (solange der erste Benutzer online ist) alle folgenden Benutzer mit einer Nur-Lese-Konfiguration zu starten. Beides ist aber weder offiziell unterstützt noch von mir getestet, vielleicht postet jemand im Forum mal seine Erfahrungen dazu.

### Der Nacheinander-MultiUser-Zugriff

Denkbar ist es zwar die Nutzung von Jameica+JVerein beim gemeinsamen Datezugriff (siehe #Gemeinsamer Datenzugriff) durch Absprachen so festzulegen, dass stets maximal ein Benutzer Jameica+JVerein geöffnet hat (z.B. Person A nutzt nur tagsüber, Person B darf nur abends ran), das ist aber sowohl fehleranfällig als auch unflexibel.

Eine technische Lösung ist folgende: Jameica wird mittels eines Batch (Windows, bzw. Shell-Script unter Linux & Co.) gestartet. Dieser Batch legt ein "Lockfile" an, startet Jameica und löscht das Lockfile anschließend wieder. Sollte jedoch das Lockfile existieren, so ist Jameica von einem anderen Benutzer bereits gestartet und es soll ein entsprechender Hinweis ausgegeben werden.

* Vorteile: Simple Lösung um eine SingleUser-Nutzung in einer beliebigen MultiUser-Umgebung (einschließlich CloudComputing) sicherzustellen.
* Nachteile: Durch (unbeabsichtigten) Batch-Abbruch oder einen Systemabsturz kann das Lockfile bestehen bleiben obwohl tatsächlich keiner (mehr) Jameica+JVerein nutzt. Nach einer kleinen Rückfrage beim Mitbenutzer kann das Lockfile ggf. händisch gelöscht werden und alles läuft wieder.
* Variante: Anstelle ein eigenes "Lockfile" anzulegen (wie im Beispiel unten) kann auch gegen das Jameica-Lockfile jameica.lock getestet werden. Das ist womöglich zuverlässiger als ein eigenes Lockfile, kann aber keine Informationen zum aktiven Rechner+Benutzer zur Verfügung stellen. Näheres dazu, sowie auch Olaf Willuhns Meinung zum Vorgehen an sich, hier: <https://github.com/willuhn/jameica/pull/8>

Beispiele für so einen Batch bzw. Shell-Skript:

Für Windows:

```
@echo off
 rem Nachfolgende drei set-Zeilen bitte anpassen
 rem JAMEICA_DATADIR muss angegeben werden, selbst wenn der Standard-Pfad verwendet wird
 rem JAMEICA_3264 muss -je nach eigener Umgebung- auf 32 oder 64 eingestellt werden
 set JAMEICA_PROGDIR=C:\Program Files (x86)\jameica\
 set JAMEICA_DATADIR=C:\Users\<DeinBenutzername>\Documents\jameica\
 set JAMEICA_3264=32
 rem
 rem Ab hier keine Änderungen mehr nötig
 set JAMEICA_BIN=jameica-win32.exe
 set JAMEICA_JAR=jameica-win32.jar
 if %JAMEICA_3264%==64 (
   set JAMEICA_BIN=jameica-win64.exe
   set JAMEICA_JAR=jameica-win64.jar
 )
 set LOCKFILE_MY="%JAMEICA_DATADIR%\my.lock"
 rem Prüfen ob Lockfile exitiert
 if exist %LOCKFILE_MY% goto jameica_in_use
   goto jameica_start
 :jameica_start
 echo **********
 echo * Jameica wird gestartet
 echo **********
 echo * ACHTUNG:
 echo *    Dieses Fenster NICHT schliessen, es wird
 echo *    automatisch geschlossen sobald Jameica
 echo *    beendet wurde.
 echo **********
 echo %USERNAME%@%COMPUTERNAME% > %LOCKFILE_MY%
 rem Jameica nicht mit der Starter-EXE aufrufen sondern mit javaw das JAR-Archiv aufrufen
 rem da sonst der Batch gleich weiterläuft und nicht wartet bis Jameica beendet wurde.
 cd %JAMEICA_PROGDIR%
 javaw -jar "%JAMEICA_PROGDIR%\%JAMEICA_JAR%" -f "%JAMEICA_DATADIR%"
 del %LOCKFILE_MY%
 goto ende
 :jameica_in_use
 echo %LOCKFILE_MY%
 set /p JAMEICA_USER=<%LOCKFILE_MY%
 echo **********
 echo * Jameica wird gerade benutzt von
 echo *      %JAMEICA_USER%
 echo **********
 echo * Jameica kann erst gestartet
 echo * werden wenn obiger Benutzer das
 echo * Programm beendet hat.
 echo **********
 pause
 goto ende
 :ende
```

Für MacOS ((leicht für Linux anpassbar), von phfeustel (<http://www.jverein.de/forum/memberlist.php?mode=viewprofile&u=2553>)

```
 #!/bin/sh
 # Nachfolgende drei Zeilen bitte anpassen
 # JAMEICA_DATADIR muss angegeben werden, selbst wenn der Standard-Pfad verwendet wird. 
 #    Es reicht dabei den Pfad bis zur jameica.app anzupassen, falls notwendig.
 JAMEICA_APP_PATH="/Applications/jameica.app/"
 # Pfad zu dem Ort, an dem der jameica-Benutzerordner liegt. Ersetze <DeinUserName> durch Deinen Mac-Benutzernamen. 
 #    Eine Liste aller Benutzer kann man sehen, wenn man unter /Users bzw. 
 #    /Benutzer sich die dort liegenden Ordner ansieht.
 JAMEICA_DATADIR="/Users/<DeinUserName>/Desktop/jameica/"
 # Kopiert aus dem Original jameica-Startskript. Entspricht dem Standard aus OSX 10.10
 JAVACMD="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java"

 ######################################### Ab hier keine Änderungen mehr notwendig
 LOCKFILE_MY="${JAMEICA_DATADIR}/my.lock"
 # Prüfen, ob Lockfile existiert
 if [ -f "$LOCKFILE_MY" ];then #Jameica in Verwendung, da Lock-File existiert
    JAMEICA_USER=$(cat $LOCKFILE_MY)
    echo "**********"
    echo "* Jameica wird gerade benutzt von"
    echo "*      $JAMEICA_USER"
    echo "**********"
    echo "* Jameica kann erst gestartet"
    echo "* werden, wenn obiger Benutzer das"
    echo "* Programm beendet hat."
    echo "**********"
 else #Jameica nicht in Verwendung, da das Lock-File nicht existiert
    echo "**********"
    echo "* Jameica wird gestartet"
    echo "**********"
    echo "* ACHTUNG:"
    echo "*    Dieses Fenster NICHT schließen, es wird"
    echo "*    automatisch geschlossen sobald Jameica"
    echo "*    beendet wurde."
    echo "**********"
    echo "${USER}@${HOSTNAME}\r\n" > $LOCKFILE_MY
    # In das .app-Verzeichnis wechseln
    cd $JAMEICA_APP_PATH
    # Jameica nicht über die jameica.app aufrufen sondern mit java das JAR-Archiv aufrufen
    # da sonst der Batch gleich weiterläuft und nicht wartet bis Jameica beendet wurde.
    $("${JAVACMD}" -Xdock:name="Jameica" -Xmx256m -XstartOnFirstThread -jar "${JAMEICA_APP_PATH}/jameica-macos64.jar" -f "${JAMEICA_DATADIR}" -o "$@" > /dev/null) > /dev/null
    rm -f $LOCKFILE_MY
 fi
```

Ein automatisches Kopieren gemäß #Lese- und Schreibrecht in den obigen Batch zu integriert ist nicht schwierig.


# Programmfunktionen

In diesem Kapitel werden alle Menüpunkte von JVerein beschrieben.


# Navigation

Das Navigationsmenü kann je nach aktivierten Programmfunktionen mehr oder weniger Einträge enthalten. Beispielsweise können Lehrgänge oder Arbeitseinsätze ausgeschaltet werden. In diesem Fall stehen die zugehörigen Programmfunktionen nicht zur Verfügung.

Beispiel für die Navigation:

![](/files/-LhnD_onmTFkn-EBFZP9)


# Mitglieder

## Suche

### Allgemein

Das Fenster der Mitglieder-Suche besteht aus zwei Teilen: Filter (oben) und Mitgliedertabelle (unten). Die angezeigten Mitglieder können nach verschiedenen Kriterien gefiltert werden:

* Nachname
* Mitgliedschafts-Status "Angemeldet", "Abgemeldet" und "Beide"
* Externe Mitgliedsnummer (optional)
* Eigenschaften
* Beitragsgruppe
* Zusatzfelder
* Geburtsdatum
* Geschlecht
* Eintritts- und Austrittsdatum

Jeweils beim Verlassen eines Feldes wird die Suche ausgelöst.

Nach einem Doppelklick auf das Mitglied werden die kompletten Daten angezeigt. Mit einem Rechtsklick auf ein Mitglied öffnet sich ein Kontextmenü. Damit kann das Mitglied bearbeitet oder gelöscht werden. Außerdem ist die Ausstellung einer [Spendenbescheinigung](/allgemeine-funktionen/spendenbescheinigung) möglich.

Die Filterkriterien können für eine spätere Verwendung in einem [Suchprofil](/allgemeine-funktionen/suchprofil) gespeichert werden.![](/files/-LhnDek9CYB983X5muLp)

### Filterung nach Eigenschaften

Es können eine oder mehrere Eigenschaften ausgewählt werden (STRG-Taste beim Mausklick gedrückt halten). Die Eigenschaften sind "und-verknüpft". D. h. es werden die Mitglieder angezeigt, die alle Eigenschaften haben.

![](/files/-LhnDekBvedCT5tZpzLu)

### Filterung nach Zusatzfeldern

Soll nach Zusatzfelder gefiltert werden, kommt es auf den Datentyp des jeweiligen Zusatzfeldes an. Bei einem Ja/Nein Feld kann nur nach Ja-Einträgen gefiltert werden. Bei einem Textfeld gelten zur Filterung die SQL-Regeln für einen Textvergleich: Hier können die Wildcards % (0...n beliebige Zeichen) und \_ (genau 1 beliebiges Zeichen) eingesetzt werden. Durch die Verwendung der Kombination \_% kann man nach allen nicht leeren Textfeldern filtern.

![](/files/-LhnDekDflx_KEYreM3j)

## Grunddaten des Mitglieds

![](/files/-LhnDekF-9ehE2_F2p1t)

Im oberen Teil sind die allgemeinen Daten des Mitgliedes zu finden. Wird eine Postleitzahl eingegeben, für die bereits ein Mitglied gespeichert ist, wird der entsprechende Ort übernommen.

Hinweis zur E-Mail-Adresse: In JVerein kann aktuell je Mitglied nur eine E-Mail-Adresse gespeichert werden. Hat ein Mitglied aber mehrere E-Mail-Adressen, kann man sich derzeit mit der 'Group'-Notation behelfen, Details dazu im <http://www.jverein.de/forum>.

Sofern in den [Einstellungen](/allgemeine-funktionen/administration/einstellungen) der Parameter "Juristische Personen erlaubt" gesetzt ist, wird bei der Neuaufnahme von Mitgliedern folgender Dialog eingeblendet:

![](/files/-LhnDekHLgxWtKqXNC6M)

Hier kann ausgewählt werden ob es sich um eine

* natürliche Person
* juristische Person

handelt. Sofern "juristische Person" ausgewählt wird, sieht der Bildschirm so aus:

![](/files/-LhnDekJsO2oboRLZHFw)

## Mitgliedschaft

Eintrittsdatum und Beitragsgruppe sind Pflichtfelder. Die Beitragsgruppen können unter [Beitragsgruppen](/allgemeine-funktionen/administration/beitragsgruppen) für jeden Verein individuell konfiguriert werden. Siehe auch [Beitragsmodelle](/allgemein/beitragsmodelle) und [Einstellungen](/allgemeine-funktionen/administration/einstellungen). Beim Austrittsdatum wird das Datum des satzungsgemäßen Austritts (z. B. der 31.12. des jeweiligen Jahres) eingetragen. Unter Kündigung wird das Datum des Eingangs der Kündigung vermerkt.

Standardaussehen des Formulars:

![](/files/-LhnDekL4PO6th9FhzrE)

Sofern eine Beitragsgruppe ausgewählt wurde, die mit "Familie: Zahler" gekennzeichnet ist, verändert sich das Formular wie folgt:

![](/files/-LhnDekNkEzmSp65LByE)

Die Person (ebenfalls ein Mitglied), die für das Mitglied zahlt, kann aus einer Liste ausgewählt werden. Hinweis: Dieser Person muss eine Beitragsgruppe der Art "Familie: Zahler" zugewiesen sein, ansonsten taucht sie in der Auswahl-Box nicht auf. Bei einer Beitragsgruppe, die mit "Familie: Angehöriger" gekennzeichnet ist, sieht das Formular so aus:

![](/files/-LhnDekPZHLAa9d-t6WD)

Hier werden die Personen angezeigt, für die das Mitglied die Beiträge zahlt.

Sinn und Zweck dieser Familienverknüpfung ist es, die Voraussetzungen für die Familienmitgliedschaft prüfen zu können. Tritt ein Mitglied aus, dass für andere Mitglieder als Zahler eingetragen ist, kommt eine entsprechende Fehlermeldung. Dann sind die Beitragsgruppen der beitragsfreien Mitglieder zu verändern oder es ist ein anderer Zahler einzutragen.

## Zukünftige Beitragsgruppen

![](/files/-LhnDekRK9CeoYKie-4r)

Hier kann man Beitragsgruppen eintragen die für dieses Mitglied ab einem definierten Datum gültig sein soll. Hat man z.B. im ersten Jahr einen vergünstigten Probebeitrag, trägt man diesen oben unter Beitragsgruppe ein. Die Beitragsgruppe für den normalen Beitrag, der gültig werden soll sobald die Probezeit beendet ist, kann man sofort in dieser Tabelle zukünftige Beitragsgruppen eintragen.

Bei Programmstart wird geprüft, ob das Datum für eine Änderung der Beitragsgruppe erreicht wurde. Alle zu ändernden Mitglieder werden in einer Liste angezeigt und es können die neuen Beitragsgruppen für ausgewählte Mitglieder oder alle angezeigten übernommen werden. Damit die Daten angezeigt werden, ist einmal die Box "künftige Beitragsgruppen" zu aktivieren:

![](/files/-LhnDekTAI7Mzbwlya9K)

Hinweis: Die Box ist nur sichtbar, wenn im Menü "Jameica" ausgewählt wurde.

Zum Erfassen einer zukünftigen Beitragsgruppe klicken Sie mit der rechten Maustaste in die Tabelle. Im Kontextmenü wählen Sie den Punkt Beitragsgruppe hinzufügen. Es öffnet sich eine Ansicht in der Sie die neue Beitragsgruppe auswählen und das Datum erfassen ab dem diese Gruppe gültig werden soll. Sie können in einem Bemerkungsfeld noch hinterlegen warum diese Änderung durchgeführt werden sollte.

Bei Mitglieder von Beitragsgruppen der Beitragsart Familie: Zahler können Sie nur andere Beitragsgruppen mit der Beitragsart Familie: Zahler als zukünftige Beitragsgruppe eintragen.

Bei Mitglieder von Beitragsgruppen der Beitragsart Normal können Sie nur andere Beitragsgruppen mit der Beitragsart Normal als zukünftige Beitragsgruppe eintragen.

Bei Mitglieder von Beitragsgruppen der Beitragsart Familie: Angehöriger können Sie keine zukünftigen Beitragsgruppen hinterlegen, weil hier u.U. Zahlungsdaten fehlen.

## Sekundäre Beitragsgruppen

Für ein Mitglied können auch Beiträge aus mehreren Beitragsgruppen abgerechnet werden. Dazu muss unter Administration | Einstellungen | Anzeige das Häkchen bei "sekundäre Beitragsgruppen anzeigen" gesetzt werden und unter Administration | Beitragsgruppen muss für mindestens eine Beitragsgruppe das Höschen "sekundäre Beitragsgruppe" gesetzt werden. Dann kann beim Mitglied eine entsprechende Auswahl vorgenommen werden.

![](https://github.com/jverein/jverein-handbuch/tree/7a7b5a645186b65a634bbe865664632876fb43ca/assets/Mitgliedsekundärebeitragsgruppen.png)

## Zahlung![](/files/-LhnDekV6o4IS_mQ1CzW)

Als Zahlungswege stehen

* Basislastschrift
* Barzahlung
* Überweisung

zur Verfügung. Die Standardwerte können unter Administration|Einstellungen|Beiträge festgelegt werden.

Beim Zahlungsweg Basislastschrift sind BIC und IBAN anzugeben. Durch die Eingabe einer BLZ gefolgt von einem Leerzeichen und der anschließenden Kontonummer wird der SEPA-Konverter angestoßen und die IBAN und die BIC ermittelt.

Die Mandats-ID wird automatisch aus der Mitgliedsnummer oder optional aus der externen Mitgliedsnummer (siehe Einstellungen) gebildet. Zusätzlich wird ein Versionszähler geführt, der das 1., 2., 3. .... Mandat referenziert.

Das Datum des Mandats muss angegeben werden.

Die SEPA-Sequenz wird automatisch ermittelt.

Zusätzlich kann ein abweichender Kontoinhaber angegeben werden:![](/files/-LhnDekXJ6YTf27BTEBL)Mit dem Button "Mitglied-Daten übernehmen" werden einige der Daten des Mitglieds übertragen. Hinweis: Es werden nicht alle Daten übertragen, da es sich um einen abweichenden Kontoinhaber handelt. Z. B. der Vorname wird nicht übertragen.

## Zusatzbeträge

Zusätzliche Zahlungen (z. B. Eigenanteile für Fahrten, Strafgelder ...) können über Zusatzbeträge verarbeitet werden.

![](/files/-LhnDekZ7dl1E1RJLPtw)

Ein Klick auf Neu öffnet folgendes Fenster:![](/files/-LhnDekaFOAnEf4rVJR1)

Weitere Informationen dazu: [/zusatzbetrage.md](/allgemeine-funktionen/zusatzbetrage)

## Vermerke

Vermerke über das Mitglied (z. B. Funktionen ...) können in zwei Datenfeldern hinterlegt werden.

![](/files/-LhnDekcUizCCE53Gc1y)

## Wiedervorlage

![](/files/-LhnDekef0RrZ7Km2CuX)

Mit einem Rechtsklick auf einen Wiedervorlagetermin kann entweder ein Erledigungsdatum gesetzt oder zurückgesetzt werden. Mit einem Klick auf Neu öffnet sich folgendes Fenster:![](/files/-LhnDekgj7GaiKx1vm7Y)Zusätzlich werden die Daten unter Jameica | Termine in einem Kalenderformat angezeigt.

## Eigenschaften

![](/files/-LhnDeki5NRSAFjKQK9d)

Die Eigenschaften des Mitgliedes können angehakt werden, bzw. das Häkchen kann entfernt werden. Die Änderungen werden bei Druck auf den Speichern-Knopf in die Datenbank geschrieben.

[Eigenschaften](/allgemeine-funktionen/administration/eigenschaften) und [Eigenschaften-Gruppen](/allgemeine-funktionen/administration/eigenschaften-gruppen) sind in der Administration einzurichten.

## Zusatzfelder

![](/files/-LhnDekkx5kT-4UM9DJK)

Durch [Felddefinitionen](/allgemeine-funktionen/administration/felddefinition) können zusätzliche Datenfelder erfasst werden.

## Lehrgangsübersicht

Zur Nutzung ist in den [Einstellungen](/allgemeine-funktionen/administration/einstellungen) das entsprechende Häkchen zu setzen und die [Lehrgänge](/allgemeine-funktionen/administration/lehrgange) sind in der Administration>Lehrgangsarten einzurichten.

### Lehrgang beim Mitglied anlegen

![](/files/-LhnDekmIvEaZOq4_Qrz)

## Lesefelder

Zur Nutzung ist in den [Einstellungen](/allgemeine-funktionen/administration/einstellungen) das entsprechende Häkchen zu setzen und die Lesefelder sind unter Administration>Lesefelder einzurichten.

![](/files/-LhnDekoWUBqEpbIdViS)

Vorschau der definierten [Lesefelder](/allgemeine-funktionen/administration/lesefelder) für das aktuelle Mitglied.

## Arbeitseinsatz

In dieser Ansicht sehen Sie die geleisteten Arbeitsstunden, die diesem Mitglied zu gebucht wurden.

Drücken Sie den Schalter "Neu" der oberhalb der Liste angeordnet ist so öffnet sich ein Dialog, in dem Sie neue Stunden für das Mitglied erfassen können. Sie geben das Datum ein, an dem die Stunden geleistet wurden, die Anzahl der Stunden und, im Feld Bemerkung, was geleistet wurde.

In den Einstellungen von JVerein auf der Ansicht Beiträge können Sie ab der Version 2.5 ein Arbeitsstunden Modell ändern und negative Stunden erlaubt einstellen.

Danach kann hier beim Erfassen von Arbeitsstunden im Feld Stunden auch ein negativer Wert eingetragen und damit die Sollstunden des Mitglieds erhöht werden. Damit kann man Dienstleistungen des Vereins, die mit Arbeitsstunden gegengerechnet werden können, einfach erfassen und abrechnen.

Im Dialog Arbeitseinsätze prüfen können Sie sich jederzeit die Abrechnung aller Mitglieder anzeigen lassen. Es werden allerdings nur solche Mitglieder dort aufgeführt, die einer Beitragsgruppe angehören, in der zu leistende Arbeitsstunden eingetragen sind.

## Kontextmenu

### bearbeiten

Mitglied bearbeiten. Identisch mit Doppelklick auf das Mitglied

### duplizieren

Es wird ein neuer Datensatz mit den Daten des Mitgliedes angelegt. Dieser kann dann vor der Speicherung verändert werden.

### Mail senden...

Es wird eine Mail an das Mitglied versandt. Dabei wird eine Auswahl von Mailvorlagen zur Verfügung gestellt.

### Eigenschaften

Für alle markierten Mitglieder werden die angeklickten Eigenschaften gesetzt. Dabei stehen nur die Eigenschaftengruppen ohne Pflichteintrag oder ohne die Kennzeichnung "maximal 1" zur Verfügung,

### Kontoauszug

Für einen vorgegebenen Zeitraum werden alle Buchungen des Mitgliedskontos ausgegeben.

### Spendenbescheinigung

Erstellung einer Spendenbescheinigung, die direkt dem Mitglied zugeordnet ist.

### Personalbogen

Ausgabe aller zu einem Mitglied gespeicherten Daten (Ausnahme: Ggfls. gespeicherte Dokumente)

### Manuelle Lastschrift...

Generierung einer manuellen Lastschrift in Hibiscus.

### Freie Formulare

Alle definierten freien Formulare werden als Menüpunkt angeboten.


# Suchprofil

Im Rahmen der [Mitglieders](/allgemeine-funktionen/mitglieder)uche können Suchprofile angelegt werden. Dazu werden in die Mitgliedersuche die einzelnen Filterkriterien eingetragen und dann abgespeichert. Mit einem Doppelklick oder Rechtsklick auf ein Suchprofil können die Filterkriterien wiederhergestellt werden.

![](/files/-LhnDaIKyxIVJRQAU32U)


# Wiedervorlage

Die Wiedervorlagetermine aller Mitglieder können hier angezeigt und als erledigt gekennzeichnet werden.

![](/files/-LhnDeWFuJPnAk0S-_wB)

Die Wiedervorlagetermine werden auch im Jameica-Kalender angezeigt.


# Adressen

Unter Administration|Einstellungen|Anzeige ist die Option 'zusätzliche Adressen' zu aktivieren.

Neben den Mitgliedern können Spender/innen und weitere Adressen gespeichert werden. Die weiteren Adresstypen werden unter Adresstypen eingerichtet. Grundsätzlich sind die Daten identisch mit den Mitgliederdaten. Einige Daten machen allerdings nur Sinn für die Mitglieder. Daher können sie bei den allgemeinen Adressen nicht gespeichert werden.

Eine weitere Adresse kann bei Bedarf später in eine Mitgliedsadresse umgewandelt werden: In der Liste rechte Maustaste und dann "zu Mitglied umwandeln".

![](/files/-LhnDhbifwoLVnq5i_Vs)

![](/files/-LhnDhbkMYa_gNVrhLLY)


# Kursteilnehmer

Teilnehmer von Kursen können abgerechnet werden. Kursteilnehmer sind Personen, die nicht Mitglied des Vereins sind. Sofern Mitglieder an Kursen teilnehmen, die zusätzlich abgerechnet werden, bieten sich die Zusatzabbuchungen an.

![](/files/-LhnDaioV72I9lBjulLe)

Eingabe eines neuen Kursteilnehmers:![](/files/-LhnDaiqW9rMkXmnTstX)


# Abrechnung


# Abrechnung

## Voraussetzungen

Unter Administration | Einstellungen | Allgemein muss das Konto eingetragen sein, auf das die Lastschriften gutgeschrieben werden sollen. Weiterhin muss die Gläubiger-ID eingetragen werden. Gläubiger-ID können unter <https://extranet.bundesbank.de/scp/> oder <http://www.oenb.at/idakilz/cid?lang=de> beantragt werden. Zu Testzwecken kann DE98ZZZ09999999999 eingesetzt werden.

Das Konto für die Gutschriften muss auch in der Buchführung eingerichtet sein. Unter "Nr" ist entweder die komplette IBAN einzutragen oder die Kontonummer ohne führende Nullen.

## SEPA-Fehler

Vor einer Abrechnung sollte die SEPA-Fehlerliste überprüft werden. In der Liste werden Mitglieder mit fehlenden oder ungültigen Bankverbindungen sowie Mandate angezeigt, die seit mehr als 36 Monaten nicht mehr genutzt wurden.

![](/files/-LhnDfzkQB_jN5Eozzmg)

## Abrechnung

Die Abrechnung wird mit dem untenstehenden Bildschirm initiiert. Es können

* Mitgliedsbeiträge je nach Beitragsmodell
* Beiträge für im laufenden Jahr eingetretene Mitglieder
* Beiträge für abgemeldete Mitglieder (ab Version 2.8.16)
* Zusatzbeträge
* Kursgebühren

verarbeitet werden.

![](/files/-LhnDfzmr_QHpkbXNpHH)

Sofern als Modus nicht 'keine Beitragsabrechnung' ausgewählt wurde, werden für alle Mitglieder, die nicht ausgetreten sind oder deren Austrittsdatum nach dem Stichtag liegt, die Beiträge gemäß eingetragener Beitragsgruppe und Zahlungsrhytmus eingezogen.

Für Mitglieder, die im Laufe des Jahres eingetreten sind, können ebenfalls die Beiträge eingezogen werden. Dazu wird das Eingabedatum eingetragen, ab dem die Beiträge für nachträglich eingetretene Mitglieder abgebucht werden sollen.

Um nur Mitglieder abzurechnen, die sich schon abgemeldet haben, wird das maximale Austrittsdatum eingetragen. Dann werden Beiträge nur für die Mitglieder abgebucht, die bis dahin ausgetreten sind (ab Version 2.8.16).

Die Abrechnungsdaten werden in das Mitgliedskonto geschrieben.

### Parameter

#### Abrechnungsmodus <a href="#abrechnungsmodus" id="abrechnungsmodus"></a>

**keine Beitragsabrechnung**

Es werden keine Beiträge abgerechnet. Dieser Parameter ist zu setzen, wenn ausschließlich Kursteilnehmer oder Zusatzbeträge abgerechnet werden sollen.

**Alle**

Es werden alle Mitglieder entsprechend des eingestellten [Beitragsmodelle](/allgemein/beitragsmodelle) abgerechnet. Es werden alle Mitglieder abgerechnet, die zum Stichtag bereits eingetreten sind und die zum Stichtag noch nicht ausgetreten sind. Dabei werden [Beitragsgruppen](/allgemeine-funktionen/administration/beitragsgruppen) und Zahlungsrhythmus sowie ggfls. individuelle Beiträge berücksichtigt.

**Eingetretene Mitglieder**

Es werden die neu eingetretenen Mitglieder abgerechnet. JVerein verwendet das Eingabedatum zur Selektion der eingetretenen Mitglieder.

Tipp zum Workflow: Zuerst noch neue Mitglieder anlegen. Danach die Abrechnung machen und dabei als Datum für Von Eingabedatum den Tag nach der letzten Abrechnung für eingetretene Miglieder (ersatzweise den Tag nach der letzten Abrechnung für Alle) verwenden. Nach der Abrechnung am selben Tag keine neuen Mitglieder mehr erfassen, die würden bei diesem Workflow sonst nicht mehr abgerechnet.

Hinweis: Das Eingabedatum wird beim Import von Mitgliedern nicht gesetzt.

**Abgemeldete Mitglieder (ab Version 2.8.16)**

Es werden nur Mitglieder abgerechnet, die sich schon abgemeldet haben.

**Fälligkeit SEPA (Erst-/Einzel-Lastschrift)**

Die Fälligkeit von Erst- bzw. Einzel-Lastschriften muss mindestens 5 Bankarbeitstage[ ](https://github.com/jverein/jverein-handbuch/tree/7a7b5a645186b65a634bbe865664632876fb43ca/bankarbeitstage.md)nach Einreichung liegen. JVerein macht ausgehend vom aktuellen Datum einen Vorschlag mit dem frühestmöglichen Datum. Das Datum kann überschrieben werden. Es wird 1:1 in die SEPA-Datei eingetragen. Weitere Auswirkung auf die Abrechnung hat das Datum nicht.

**Fälligkeit SEPA (Folge-/Letzte-Lastschrift)**

Analog zum Fälligkeitsdatum für Erst-/Einzellastschriften mit 2 Bankarbeitstagen.

**Stichtag**

Stichtag für die Berechnung der Mitgliedschaft und der Fälligkeit von Zusatzbeträgen.

**Zahlungsgrund für Beiträge**

Hier kann ein Text erfasst werden (z.B. ''Jahresbeitrag 2015''). Dieser Text wird auf [Rechnungen](/allgemeine-funktionen/rechnungen), [Mahnungen](/allgemeine-funktionen/mahnungen) und bei Lastschriften im Verwendungszweck (hier zwischen der Bezeichnung der [Beitragsgruppen](/allgemeine-funktionen/administration/beitragsgruppen) und dem Betrag) ausgegeben.

Der Text sollte aussagekräftig und knapp gewählt werden da er sonst evtl. abgeschnitten wird (Länge des Verwendungszwecks bei Lastschriften max. 140 Zeichen für alles, einschließlich ggf. [Zusatzbeträge](/allgemeine-funktionen/zusatzbetrage)).

**Zusatzbeträge**

Mit dieser Option werden die [Zusatzbeträge](/allgemeine-funktionen/zusatzbetrage) abgerechnet. Diese Option kann zu allen \[\[Abrechnung#Abrechnungsmodus|Abrechnungsmodi]] zusätzlich gesetzt werden.

**Kursteilnehmer**

Teilnehmer von Kursen können abgerechnet werden. Kursteilnehmer sind Personen, die nicht Mitglieder des Vereins sind. Sofern Mitglieder an Kursen teilnehmen, die zusätzlich abgerechnet werden, bieten sich die [/zusatzbetrage.md](/allgemeine-funktionen/zusatzbetrage) an.

**Kompakte Abbuchung**

Alle Abbuchungen eines Mitgliedes (Beträge und Zusatzbeträge) werden in eine Abbuchung zusammengefasst.

**SEPA-Datei drucken**

Optional können die SEPA-Daten in zwei PDF-Dokumente (FRST (Erste) + RCUR (Folgelastschrift)) zum Ausdruck ausgegeben werden.

Für die Lastschrift werden die Daten entweder in eine SEPA-XML-Datei geschrieben oder direkt zu Hibiscus ausgegeben. Die IBAN in den Stammdaten (siehe \[\[Einstellungen]]), alternativ der Kontonummernanteil der IBAN wird mit den Kontonummern in Hibiscus abgeglichen. Gibt es eine übereinstimmende Bankverbindung, wird diese verwendet. Ansonsten erscheint der Hibiscus-Konto-Auswahldialog.

### Weitere Informationen

Verwandte Themen: [Abrechnungslauf](/allgemeine-funktionen/abrech/abrechnungslauf), [Pre-Notification, ](/allgemeine-funktionen/abrech/pre-notification)[Rücklastschrift](/allgemeine-funktionen/abrech/rucklastschrift), [Rechnungen, ](/allgemeine-funktionen/rechnungen)[Mitgliedskonto](/allgemeine-funktionen/mitgliedskonto)

<https://de.wikipedia.org/wiki/Bankarbeitstag>


# Abrechnungslauf

Auflistung aller Abrechnungsläufe.Mit einem Rechtsklick kann ein Lauf gelöscht werden oder es können [Pre-Notification](/allgemeine-funktionen/abrech/pre-notification) ausgeben werden.

![](/files/-LhnDgusV53hhAh4RL53)

Ein Abrechnungslauf kann abgeschlossen werden und ist damit vor versehentlichem Löschen geschützt. Damit diese Funktion genutzt werden kann, muß sie unter Einstellungen / Abrechnung aktiviert werden. Ein einmal abgeschlossener Lauf kann nicht wieder geöffnet werden!


# Pre-Notification

Mit der Pre-Notification Funktion ist es einfach möglich, den Ansprüchen der SEPA Regelung bzgl. der Ankündigung einer SEPA-Lastschrift gerecht zu werden. Die Pre-Notification Benachrichtigung kann erst erstellt werden, wenn der Buchungsvorgang abgeschlossen ist. Die Buchungen (d.h. die Abrechnung) müssen dafür nur erstellt sein. Eine Onlinebuchung/ -übertragung zur Bank ist für diese Funktion nicht erforderlich.

In JVerein stehen folgende Alternativen für die Pre-Notifications zur Verfügung:

* Schriftlich an alle Mitglieder
* Per E-Mail an alle Mitglieder mit E-Mail-Adresse und schriftlich an die Übrigen
* Als 1ct-Überweisung an alle Mitglieder

## Aufruf der Pre-Notification-Funktion\[Bearbeiten]

Die Pre-Notification Funktion ist etwas versteckt und kann nur über folgenden Weg aufgerufen werden:

![](/files/-LhnDf_lS29jGlqSTti2)

Klick auf Abrechnungslauf.

Mit einem rechts-Klick auf den entsprechenden Abrechnungsverlauf öffnet sich ein Kontextmenü, mit dem man die Pre-Notification Mail erstellen kann.

![](/files/-LhnDf_na0GW8f6X3V52)

## Pre-Notification schriftlich und per E-Mail

Bevor Pre-Notification erstellt werden können muss zunächst muss ein [Formulare](/allgemeine-funktionen/administration/formulare) dafür angelegt werden.![](/files/-LhnDf_pljorDz88YMvG)In diesem Fenster kann die Pre-Notification erstellt werden, und zwar auf der Karte Mail + PDF .

### Schriftliche Pre-Notification an alle Mitglieder

Im Block Parameter bei Ausgabe muss PDF (alle) eingestellt werden und das Formular passend ausgewählt werden, dann den Startknopf drücken.

Über die Einstellung zu "PDF als" kann gesteuert werden, ob die PDF als eine einzige, mehrseitige Datei erzeugt wird, die alle einzelnen Schreiben enthält (Einstellung "eine PDF-Datei"), oder ob jedes Schreiben an einen Benutzer in einer separaten Datei abgelegt wird. In jedem Fall muss der Benutzer über den aufkommenden Dialog Ausgabedatei wählen das Ablageverzeichnis und den Namen (bzw. das Prefix) der PDF-Datei(en) festlegen.

Sollen separate Dateien erzeugt werden, so wird der ausgewählte Dateiname vor der Endung .PDF um eine fortlaufende Nummer ("einzelne PDF-Dateien, nummeriert"), um die Mitgliedsnummer des angeschriebenen Mitglieds ("einzelne PDF-Dateien, mit Mitgliedsnummer") oder um beide Werte ("einzelne PDF-Dateien, nummeriert mit Mitgliedsnummer") ergänzt, je nach dem, was in der Einstellung "PDF als" ausgewählt wurde.

Die direkte Erzeugung einzelner PDF-Dateien ist hilfreich, wenn für das Versenden der Briefe ein Online-Dienstleister herangezogen werden soll.

### E-Mail-Pre-Notification an Mitglieder mit E-Mail-Adresse

Im Block Parameter bei Ausgabe muss EMail eingestellt werden.

Im Block Mail wird der Mail-Text eingegeben und schließlich der Startknopf gedrückt.

Hinweis: Für die Pre-Notification-Mail gibt es keine E-Mail Vorlage(n). Der Inhalt des E-Mailformulars wird jedoch gespeichert und steht für zukünftige Versendungen zur Verfügung sobald der Startknopf gedrückt wurde. Dies löst bei korrekt eingestellten E-Mail-Server-Daten den Versand der E-Mails aus. Es ist daher ratsam, diese Funktion im Vorfeld zu testen, ohne mit echten Mitgliederdaten/e-mails zu hantieren.

Die versendeten Pre-Notification-E-Mails werden nach dem Versand beim jeweiligen Mitglied in der Mail-Historie gespeichert.

#### Beispiel für eine Pre-Notification Mail

```
NAME_DES_VEREINS___  - SEPA  Ankündigung

$lastschrift_empfaenger

ORT____, den  $lastschrift_abrechnungslauf_datum

aufgrund des von Dir erteilten Mandats zieht DER_VEREIN___ mittels SEPA-Lastschrift
von Deinem unten angegebenen Konto folgende Forderung am $lastschrift_abrechnungslauf_faelligkeit ein.

unsere Gläubiger-ID: DE___
Deine Mandats-ID: $lastschrift_mandatid
Das Mandats-Datum: $lastschrift_mandatdatum
Deine BIC: $lastschrift_bic
Deine IBAN: $lastschrift_iban
Das Fälligkeitsdatum: $lastschrift_abrechnungslauf_faelligkeit
Der Verwendungszweck: $lastschrift_verwendungszweck
Der Betrag: $lastschrift_betrag Euro

Fragen und Korrekturen bitte an: EMAILADRESSE___ 

Mit freundlichen Grüßen
die Verwaltung
```

### Schriftliche Pre-Notification an Mitglieder ohne E-Mail-Adresse

Nachdem die Pre-Notifications per E-Mail versendet wurden müssen die übrigen Mitglieder diese Nachricht noch schriftlich erhalten.

Im Block Parameter bei Ausgabe muss nun PDF (Lastschriften ohne Mailadresse) eingestellt werden und das Formular passend ausgewählt werden, dann den Startknopf drücken.

Die weitere Bedienung entspricht dem Vorgehen beim Senden der schriftlichen Pre-Notification an alle Mitglieder.

## 1ct-Überweisung Pre-Notification

Durch eine Überweisung von einem Cent kann über den Verwendungszweck die Pre-Notification durchgeführt werden.![](/files/-LhnDf_rOaOQbCGgMLf8)

Auf der Karte 1ct-Überweisung müssen die Ausgabeart (Datei oder Hibiscus) und das Ausführungsdatum eingestellt werden.

Für den Verwendungszweck stehen alle unten aufgeführten $lastschrift\_\*-Variablen zur Verfügung.

### Beispiel für einen Verwendungszweck

```
Lastschriftankündigung/Betrag:$lastschrift_betrag/Datum:$lastschrift_abrechnungslauf_faelligkeit/Mandat-ID:$lastschrift_mandatid/Gläubiger-ID:DE....
```

In der Mail können im Betreff und im Text, bei der 1ct-Überweisung im Verwendungszweck die Lastschriftvariable verwendet werden. Diese Daten werden aus dem Abrechnungslauf genommen. Änderungen in den Mitgliederdaten nach dem Abrechnungslauf werden NICHT berücksichtigt.

## Besonderheiten - zusammengefasst

* Änderungen der Mitgliederdaten nach einem Buchungslauf werden für diesen Buchungslauf NICHT mehr berücksichtigt. Der Buchungslauf stellt eine eigenen Datensatz dar.
  * So werden z.B. E-Mailadresseänderungen für die Pre-Notification außer acht gelassen.
  * Teilt ein Mitglied z.B. aufgrund der Pre-Notification eine neue Bankverbindung mit, so ändert man sie in den Mitgliederdaten nur für künftige Abrechnungen.
    * Wurde die entsprechende Lastschrift der aktuellen Abrechnung jedoch noch nicht zur Bank übertragen, so kann man zusätzlich in Hibiscus (oder in der XML-Datei) für diese Abrechnung noch die Bankverbindung ändern (Achtung: evtl. neue Mandatsreferenz und geänderte Erst-/Folgelastschrift beachten).
    * Wurde die Lastschrift aber bereits zur Bank übertragen, dann sind für diese Abrechnung keine Änderungen mehr möglich. Die Lastschrift wird wahrscheinlich zurückkommen, zum Handling siehe Rücklastschrift.
* Das E-Mailformular wird mit ausgeführtem E-Mailversand gespeichert.
* Es gibt keine Pre-Notification E-Mailformulare.
* Die Variablen in der Pre-Notification Mail sind NICHT identisch mit den Variablen eines "normalen" E-Mailversandes.


# Rücklastschrift

Im Falle von Rücklastschriften sollten erneute Lastschriften direkt über Hibiscus oder ein anderes Bankingprogramm vorgenommen werden. Die Eingabe von Zusatzbeträgen ist nicht zu empfehlen, da hierdurch zusätzliche Sollstellungen erzeugt werden.

Eine Lastschrift kann einfach per Rechtsklick auf den Mitgliedernamen > Manuelle Lastschrift... angelegt werden.


# SEPA-Bugs

## SEPA-Fehler

Bei der Abrechnung gibt es einen Knopf "Hinweise/Warnungen/Fehler". Damit kann vor einer Abrechnung auf potentielle Probleme geprüft werden. U.a. wird geprüft, ob beim Zahlungsweg "Basislastschrift" auch ein Mandats-Datum gespeichert ist. Ohne Mandatsdatum kann keine Lastschrift erstellt werden. Weiterhin wird geprüft, ob die letzte (SEPA-)Lastschrift älter als 36 Monate ist. Auch in diesem Falle wird nicht abgerechnet.


# Mitgliedskonto

## Abrechnung

Die Abrechnung schreibt Informationen zu Mitgliedsbeiträgen und Zusatzabrechnungen in die Tabelle Mitgliedskonto (Soll). Zusätzlich werden für den Zahlungsweg Abbuchung Informationen (Ist) in die Buchungstabelle der Buchführung geschrieben.

Fehlerhafte oder Test-Abrechnungen können rückgängig gemacht werden. In dem Abrechnungsformular kann durch klick auf *Rückgängig.*

![](/files/-LhnDgEZpnCxih9Ju2QO)

eine Übersicht der Abrechnungsläufe geöffnet werden:

![](/files/-LhnDgEin6YrHZzqt85x)

Durch einen Rechtsklick auf einen Abrechnungslauf öffnet sich ein Kontextmenü mit der Option löschen:

![](/files/-LhnDgEkqNhTz_ilIbq7)

Nach einer Bestätigung werden die verknüpften Datensätze aus der Mitgliedskontotabelle und der Buchungstabelle gelöscht.

## Mitgliedskontenübersicht <a href="#mitgliedskontouebersicht" id="mitgliedskontouebersicht"></a>

Es gibt eine zentrale Übersicht über alle Buchungen der Mitgliedskonten-Tabelle. Die Buchungen können über einen Zeitraum oder über einen Namen, bzw. Namensfragment gefiltert werden. Zusätzlich kann angegeben werden, ob nur Mitgliedskonten mit Differenzen zwischen Soll und Ist (Offene Posten oder Überzahlungen) angezeigt werden.

![](/files/-LhnDgEmXsXX7usKuZJL)

Durch einen Doppelklick auf die Buchung erscheint das Mitglied.

![](/files/-LhnDgEoKobgp7sP3fZP)

## Mitgliedskonto beim Mitglied

![](/files/-LhnDgEqkkqCN_bpE-rM)

In der Baumansicht werden die Summen pro Mitglied, die einzelnen Mitgliedskonten-Sollbuchungen (Soll und zugeordnetes Ist, Rechnersymbol), sowie die einzelnen zugeordneten Istbuchungen (Geldscheine-Symbol) angezeigt.

Mit einem rechten Mausklick auf das Mitglied öffnet sich ein Kontextmenü. Damit können neue Sollbuchungen aufgenommen werden.

![](/files/-LhnDgEsdInwfP9t-EoG)

Mit einem rechten Mausklick auf eine Mitgliedskonto-Soll-Buchung öffnet sich ein Kontextmenü. Damit kann die Sollbuchung bearbeitet, oder, sofern keine Istbuchung zugeordnet ist, auch gelöscht werden.

## Buchungen dem Mitgliedskonto zuordnen <a href="#mitgliedskontozuordnen" id="mitgliedskontozuordnen"></a>

> Unter Buchführung>[Buchungen](/allgemeine-funktionen/buchf/buchungen) ist eine Buchung auszuwählen und doppelt anzuklicken:

![](/files/-LhnDgEuhBp428kv8OQ9)

Durch einen Klick auf ... neben Mitgliedskonto erscheint folgender Dialog:![](/files/-LhnDgEwXS1eA7pDfk5F)

Der Name aus der Buchung wird in das Namensfeld übernommen. Der Inhalt wird in Wörter zerlegt und in den Spalten Name, Vorname und Verwendungszweck 1 gesucht.

Zur Filterung des Buchungen steht weiterhin Egal (= eine beliebige Differenz), Fehlbetrag oder Überzahlung zur Verfügung. Durch einen Klick auf entfernen wird die Mitgliedskontoinformation aus der Buchung entfernt. Damit können Fehleingaben korrigiert werden.

![](/files/-LhnDgEy-aI6i3KaTA0M)

Der obige Dialog hat zwei Registerkarten: nur Ist und Soll u. Ist.

Die erste Karte nur Ist dient der Zuordnung einer vorhandenen Soll-Buchung auf einem Mitgliedskonto (z.B. aus einem Abrechnungslauf).

Mitgliegskonto-Auswahl -> Soll u. Ist

Auf der zweiten Karte Soll u. Ist kann alternativ in einem Schritt bei der Zuordnung einer Adresse automatisch zuerst eine (neue) Soll-Buchung erzeugt und diese dann sogleich darauf zugeordnet werden. So können z.B. Spenden bequem verbucht bei einem Mitglied oder einer weiteren Adresse verbucht werden.

Hier kann nur nach dem Namen gefiltert werden, dabei kann aber zusätzlich "Spezial-Suche" angehakt werden. Mit der Spezial-Suche werden auch Namensteile gefunden (Suchbegriff "Anna" liefert alle Mitglieder in deren Vor- oder Nachname anna, bspw. Hannah Muster, Anna Test, Maria Hannauer...). Sonst werden nur vollständige Namen gefunden (Suchbegriff "Max Mustermann" findet alle Mitglieder deren Vor- oder Nachname genau Max ist oder deren Vor- oder Nachname exakt Mustermann ist, bspw. Max Mustermann, Anna Mustermann, Karl Max).

## Rechnungen

Siehe [Rechnungen.](/allgemeine-funktionen/rechnungen)

## Mahnungen

Siehe [Mahnungen](/allgemeine-funktionen/mahnungen)

Spalten im Export

Exportieren Sie Rechnungsdaten oder Mahnungsdaten so haben Sie in der CSV Datei die Spalten des Mitglieds und des Mitgliedskontos


# Rechnungen

## Allgemeines

![](/files/-LhnDbCIaA6O8RvlAoYG)

Für alle Buchungen in den Mitgliedskonten können Rechnungen erstellt werden. Dabei hat man die Möglichkeit eine Rechnung für ein bestimmtes Mitglied, für eine Auswahl von Mitglieder oder für alle Mitglieder zu erstellen.

Möchten Sie Rechnungen direkt aus JVerein druckfertig generieren, so müssen Sie mindestens ein Rechnungsformular angelegt haben. Die Erstellung von Rechnungsformularen ist unter Administration|Formulare beschrieben.

Die Rechnungen können für den Druck in ein PDF-Dokument ausgegeben werden oder per Mail an die Mitglieder verwandt werden.

## Rechnung für ein Mitglied

Möchten Sie eine Rechnung für ein bestimmtes Mitglied erstellen, so öffnen Sie den Dialog Mitgliedskonten. Wählen Sie den Filter so, dass die gewünschten Daten dieses Mitglieds angezeigt werden. Selektieren Sie einen Datensatz des Mitglieds und drücken die rechte Maustaste. Es öffnet sich ein Kontext-Menü. Wählen Sie hier den Menüpunkt Rechnung. Es öffnet sich hier der Dialog Rechnung der Sie bei der Erstellung der Rechnung unterstützt.

## Rechnung für viele Mitglieder

Möchten Sie Rechnungen für alle Mitgliedern erstellen, so öffnen Sie den Dialog Rechnungen. Sie können nun Filter setzen und damit begrenzen, dass nur Buchungen in Mitgliedskonten berücksichtigt werden, die innerhalb der Datumsgrenzen liegen. Außerdem können Sie Mitglieder, deren Beitrag per Lastschrift eingezogen wird, aus dieser Liste ausschließen.

## Rechnungen drucken

Es öffnet sich ein Dialog der den Speicherort und den Dateinamen der PDF Datei abfragt, in die alle Rechnungen erstellt werden. Mit Bestätigen dieser Eingaben werden die Rechnungen generiert und die fertige PDF geöffnet. Diese können Sie nun ausdrucken.

## Rechnungen per Mail versenden

Rechnungen können per Mail versandt werden. Dazu muss die Mailkonfiguration abgeschlossen sein. Bei der Ausgabe wird zu Kontrollzwecken eine ZIP-Datei mit allen erstellten und versandten Rechnungen erstellt.

## Rechnungsdaten exportieren

Sollen die Rechnungsdaten exportiert werden, so drücken Sie im Dialog Rechnung den Schalter Export. Es öffnet sich ein Dialog der den Speicherort und den Dateinamen der CSV abfragt. Bestätigen Sie diesen Dialog, werden die Rechnungsdaten in diese Dateien exportiert und können danach z.B. für einen Serienbrief verwendet werden.

Für die einzelnen Zahlungswege können Texte unter Administration|Einstellungen|Rechnungen hinterlegt werden.


# Mahnungen

Für alle offenen Buchungen in den Mitgliedskonten können Mahnungen erstellt werden. Dabei hat man die Möglichkeit eine Mahnung für ein bestimmtes Mitglied, für eine Auswahl von Mitglieder oder für alle Mitglieder zu erstellen. Eine Buchung ist offen, wenn der Betrag der Spalte Zahlungseingang kleiner ist als der Wert in der Spalte Betrag.

Ein Mahnung kann ein PDF Dokument sein das direkt aus JVerein erstellt wird oder Sie exportieren die Daten in eine CSV Datei und erstellen die Mahnung als Serienbrief mit z.B. Microsoft Office oder Open Office.

## Mahnung für ein Mitglied

Möchten Sie eine Mahnung für ein bestimmtes Mitglied erstellen, so öffnen Sie den Dialog Mitgliedskonten. Wählen Sie den Filter so, dass die gewünschten Daten dieses Mitglieds angezeigt werden. Selektieren Sie einen Datensatz des Mitglieds und drücken die rechte Maustaste. Es öffnet sich ein Kontext-Menü. Wählen Sie hier den Menüpunkt Mahnung. Es öffnet sich hier der Dialog Mahnungen der Sie bei der Erstellung der Mahnung unterstützt.

## Mahnungen für viele Mitglieder

Möchten Sie Mahnungen für alle Mitgliedern erstellen, so öffnen Sie den Dialog Mahnungen. Sie können nun Filter setzen und damit begrenzen, dass nur Buchungen in Mitgliedskonten berücksichtigt werden, die innerhalb der Datumsgrenzen liegen.

## Mahnungen drucken

Möchten Sie Mahnungen direkt als JVerein druckfertig generieren, so müssen Sie mindestens ein Mahnungsformular angelegt haben. Die Erstellung von Mahnungsformularen ist unter Administration|Formulare beschrieben.

Wählen Sie in der Auswahlbox Formular dasjenige Formular, mit dem Sie die Mahnungen erstellen möchten und drücken Sie dann den Schalter starten. Es öffnet sich ein Dialog der den Speicherort und den Dateinamen der PDF Datei abfragt, in die alle Mahnungen erstellt werden. Mit Bestätigen dieser Eingaben werden die Mahnungen generiert und die fertige PDF geöffnet. Diese können Sie nun ausdrucken.

## Mahnungsdaten exportieren

Sollen die Mahnungsdaten exportiert werden, so drücken Sie im Dialog Mahnung den Schalter Export. Es öffnet sich ein Dialog der den Speicherort und den Dateinamen der CSV abfragt. Bestätigen Sie diesen Dialog, werden die Mahnungsdaten in diese Dateien exportiert und können danach z.B. für einen Serienbrief verwendet werden.


# Arbeitseinsatz

## Aktivierung

Zunächst sind die Arbeitseinsätze zu aktivieren. Das geschieht unter Administration>Einstellungen>Anzeige.

n den betroffenen [Beitragsgruppen](/allgemeine-funktionen/administration/beitragsgruppen) wird die Anzahl der Pflichtstunden und der Betrag für nicht erbrachte Stunden hinterlegt.

Anschließend sollte JVerein neu gestartet werden, damit der Menüpunkt "Arbeitseinsätze prüfen" zur Verfügung steht.

## Arbeitseinsätze buchen

Die Arbeitseinsätze werden direkt beim Mitglied gebucht dafür ist der Tab "Arbeitseinsatz" zu öffnen:

![](/files/-LhnDbX9FLzK-bJhE4xK)

Mit einem Klick auf Neu öffnet sich folgendes Formular:

![](/files/-LhnDbXB7lcs3_9kiHR_)

Geben Sie das Datum ein, an dem die Stunden geleistet wurden, die Anzahl der Stunden und, im Feld Bemerkung, was geleistet wurde.

In den Einstellungen von JVerein auf der Ansicht Beiträge können Sie ein Arbeitsstunden Modell ändern und negative Stunden einstellen.

Danach kann hier beim Erfassen von Arbeitsstunden im Feld Stunden auch ein negativer Wert eingetragen und damit die Sollstunden des Mitglieds erhöht werden. Damit kann man Dienstleistungen des Vereins, die mit Arbeitsstunden gegengerechnet werden können, einfach erfassen und abrechnen.

## Arbeitseinsätze prüfen

Die Arbeitseinsätze können ausgewertet werden. Dabei werden Minder-, Normal- und Mehrleistungen überprüft:

![](/files/-LhnDbXDDJaFLPRQNUWs)

Die Daten in der Liste können entweder im PDF- oder CSV-Format ausgegeben werden. Die CSV-Daten können als Serienbriefdatenquelle mit beliebigen Textverarbeitungen z. B. zur Erzeugung von Mahnungen zur Erledigung der Arbeit verwendet werden. Weiterhin ist die Generierung von Zusatzbeträgen zur weiteren Abrechnung möglich.


# Zusatzbeträge

Für jedes Mitglied können Zusatzbeträge hinterlegt werden. Diese Beträge werden zusätzlich zum Mitgliedsbeitrag eingezogen. Die Abrechnungen können einmalig (z. B. Eigenanteil für die Teilnahme an einer Veranstaltung) oder wiederkehrend (z. B. Instrumentenversicherung) angelegt werden. (Die Zusatzbeträge-Sektionen werden in JVerein nur angezeigt, wenn unter Jameica/JVerein/Administration/Einstellungen/Anzeige der Haken bei "Zusatzbeträge anzeigen" gesetzt ist.)

Als Wiederholungs-Intervall stehen zur Auswahl:

* monatlich
* zweimonatlich
* vierteljährlich
* halbjährlich
* jährlich

Beim Buchungstext können die allgemeinen Variablen verwendet werden.

Die Zusatzbeträge können sowohl bei jedem Mitglied auf dem entsprechenden Reiter angesehen werden, als auch in einer Übersicht für alle Mitglieder (Unter Jameica/JVerein/Zusatzbeträge). Dabei kann die Anzeige eingeschränkt werden auf

* alle Mitglieder
* aktive
* noch nicht ausgeführte Beträge
* nach den verschieden Ausführungsterminen.

Durch einen Doppelklick auf einen Zusatzbetrag wird der Bildschirm für die Bearbeitung geöffnet. Mit einem Rechtsklick öffnet sich ein Menü. Damit kann

* der nächste Fälligkeitstermin gesetzt werden
* der vorherige Fälligkeitstermin gesetzt werden
* das Ausführungsdatum gelöscht werden
* der Zusatzbetrag werden

![](/files/-LhnDcPCQJd5L2Q8LMKI)

![](/files/-LhnDcPEmCldmieoVZMD)

Bei der Abrechnung finden folgende Prüfungen statt:

* liegt das Fälligkeitsdatum auf dem Endedatum oder danach: Keine Berechnung
* liegt das Fälligkeitsdatum auf dem Stichtagsdatum oder davor: Berechnung. Auf das Fälligkeitsdatum wird das Intervall addiert.

### Beipiel 1

Fälligkeitsdatum: 1.11.2008

Endedatum: 31.10.2008

-> keine Berechnung

### Beispiel 2

Fälligkeitsdatum: 1.11.2008

Endedatum: 31.12.2100

Intervall: Monatlich

Stichtagsdatum: 1.11.2008 -> Berechnung

Anschließend wird das Fälligkeitsdatum auf den 1.12.2008 gesetzt. Am oder nach dem 1.12.2008 findet die nächste Berechnung statt.

Danach wird das Fälligkeitsdatum auf den 1.1.2009 gesetzt.....

## Vorlagen

Bei den Zusatzbeträgen gibt es den Button Vorlagen Damit wird eine Liste der gespeicherten Vorlagen aufgerufen. Mit einem Doppelklick wird eine Vorlage ausgewählt.

Bei der Erfassung von Zusatzbeträgen kann angegeben werden, ob der Zusatzbetrag als Vorlage gespeichert werden soll. Dabei kann angegeben werden, ob Datumsangaben mitgespeichert werden sollen.


# Zusatzbeträge importieren

Zusatzbeträge können auch importiert werden. Der Import kann über eine CSV-Datei (Default-Format), die nachfolgend beschrieben wird, erfolgen. Der Dateiname muss eine Endung haben. Z. B. .csv oder .txt. Es kann jede beliebige Endung verwendet werden. Der Dateiname darf keine Punkte, Sonderzeichen oder Leerstellen enthalten. Die Datenfelder werden durch Semikolon getrennt. Das Encoding kann beim Import ausgewählt werden.

Zur Zuordnung des Zusatzbetrages zum Mitglied muss entweder die Mitglieds\_ID, Ext\_Mitgieds\_ID oder Nachname und Vorname angegeben werden. Die nicht benötigten Spalten sind wegzulassen. Die Angabe von Nachname und Vorname setzt voraus, dass es keine Doubletten bei den Namen gibt.

Vorlage mit Mitglieds\_ID:

```
Mitglieds_Nr;Betrag;Buchungstext;Fälligkeit;Intervall;Endedatum
123;53.25;Jahresbeitrag;1.1.2011;12;01.01.2020
```

Vorlage mit Ext\_Mitglieds\_ID:

```
Ext_Mitglieds_Nr;Betrag;Buchungstext;Fälligkeit;Intervall;Endedatum
5555;53.25;Jahresbeitrag;1.1.2011;12;01.01.2020
```

Vorlage mit Nachname und Vorname:

```
Nachname;Vorname;Betrag;Buchungstext;Fälligkeit;Intervall
Schmitt;Monika;53.25;Jahresbeitrag;1.1.2011;12
```

Vorlage mit Nachname und Vorname und Endedatum:

```
Nachname;Vorname;Betrag;Buchungstext;Fälligkeit;Intervall;Endedatum
Schmitt;Monika;53.25;Jahresbeitrag;1.1.2011;12;1.1.2015
```

Die Datenfelder selbst sind folgendermaßen definiert

## Nachname

Nachname. Muss in Kombination mit dem Vornamen abgegeben werden, wenn die Mitglieds\_Nr nicht angegeben wurde.

## Vorname

Vorname. Muss in Kombination mit dem Nachnamen abgegeben werden, wenn die Mitglieds\_Nr nicht angegeben wurde.

## Betrag

Betrag. Anstatt eines Komma ist ein Punkt anzugeben.

## Buchungstext

Buchungstext. Max 140 Stellen. Darf kein Semikolon enthalten.

## Fälligkeit

Datum der Fälligkeit des Betrages. Format TT.MM.JJJJ

## Intervall

Intervall der Zahlung. 0=keine Wiederholung, 1 = monatlich, 2 = zweimonatlich, 3 = vierteljährlich, 6 = halbjährlich, 12 = jährlich

## Endedatum

Endedatum der Zahlung

## Buchungsart

Nummer der Buchungsart

Jede Datei enthält eine Kopfzeile und pro Zusatzbuchung eine Zeile.


# Spendenbescheinigung

Mit JVerein können Spendenbescheinigungen ausgestellt und gespeichert werden. Vorbereitend ist sind ein oder mehrere [Formulare](/allgemeine-funktionen/administration/formulare) einzurichten.

## Übersicht

![](/files/-LhnDhO4As4mJwlTXb1X)

Durch einen Klick auf neu öffnet sich das Spendenbescheinigungs-Bearbeitungsfenster (siehe unten). Mit einem Doppelklick auf eine Spendenbescheinigung öffnet sich das Bearbeitungsfenster (siehe unten). Mit einem Rechtsklick öffnet sich ein Kontextmenü. Damit können Spendenbescheinigungen gelöscht werden. Durch einen Klick auf PDF wird die Spendenbescheinigung im PDF-Format ausgegeben.

Tipp: In der Mitgliedersuche kann man mit einem Klick auf die rechte Maustaste ein Kontextmenü öffnen. Darin den Menüpunkt Spendenbescheinigung auswählen. Dann wird das Spendenbescheinigungsformular mit den Daten des Mitglieds gefüllt.

Neben der manuellen Erstellung von Spendenbescheinigungen können sie auch automatisch aus dem Mitgliedskonto erzeugt werden.

Voraussetzungen für die automatische Generierung:

* Administration|Allgemein Daten zum Verein und zu den Spendenbescheinigungen werden gespeichert.
* Administration|Buchungsarten mindestens eine Buchungsart hat ein Häkchen im Feld Spende
* Buchung wurde dem Mitgliedskonto und einer Buchungsart mit dem Merkmal Spende zugeordnet.

![](/files/-LhnDhO7uFPyxONh8l3Q)

## Einzel- oder Sammelbestätigungen

Spendenbescheinigungen können in Form von Einzelbestätigungen oder Sammelbestätigungen erzeugt werden. Es sind zwei Formular-Arten (Spendenbescheinigung und Sammelbestätigung) hierfür vorgesehen.

### Einzelbestätigungen

Einzelbestätigungen können auf drei Arten erzeugt werden:

* manuell durch Eingabe aller Daten
* aus einem Mitglied / Mitgliedskonto (rechts Klick auf Buchung) heraus für eine einzelne Buchung. In diesem Fall werden die Mitgliedsdaten komplett in die Spendenbescheinigung übernommen, die Buchung bestimmt den Betrag und das Spendendatum.
* Automatische Generierung (siehe unten)

### Sammelbestätigungen

Sammelbestätigungen können auf zwei Arten erzeugt werden:

* aus einem Mitglied / Mitgliedskonto (rechts Klick auf Mitgliedsname) heraus für alle Buchungen im Mitgliedskonto. Es werden nur die Buchungen erfasst, die noch auf keiner Spendenbescheinigung oder Sammelbestätigung ausgewiesen wurden. In diesem Fall werden die Mitgliedsdaten komplett in die Spendenbescheinigung übernommen, die erste Buchung bestimmt das Spendendatum, der Betrag ist die Summe der Beträge aller Buchungen.
* Automatische Generierung (siehe unten)

### Automatische Generierung von Spendenbescheinigungen

In der Übersicht über Spendenbescheinigungen können über den Button \_neu (automatisch) \_Spendenbescheinigungen generiert werden. Hier kommen die Einstellungen zum Tragen. Es werden nur für die Mitglieder oder Spender Spendenbescheinigungen erzeugt, die eine vollständige Adresse (Straße und PLZ und Ort) eingetragen haben. Außerdem werden nur die Mitglieder oder Spender erfasst, deren Spendenbetrag >= dem Mindestbetrag in den Einstellungen ist.

In der Übersicht werden zunächst alle Namen und Buchungen angezeigt, die schließlich als Spendenbescheinigung angelegt werden. Der Typ der Spendenbescheinigungen (Einzel / Sammel) macht sich an der Anzahl Buchungen fest, die erfasst wurden.

Über den Button *erstellen* werden Spendenbescheinigungen erzeugt.

### Spendenbescheinigungen (Liste)

In der Liste können ein oder mehrere Einträge markiert werden. Über ein Kontextmenu (rechter Mausklick) stehen verschiedene Aktionen zur Verfügung:

* Drucken (standard)
* Drucken (individuell)
* Duplizieren (nur wenn genau ein Eintrag gewählt ist
* Löschen

Sind mehrere Einträge markiert, wird die Aktion auf alle markierten Einträge angewendet. Das Drucken beschränkt sich darauf, die Dokumente in dem in den Einstellungen angegebenen Verzeichnis zu speichern.

Über die Buttons in der Buttonleiste stehen die Erzeugung einer neuen bzw. die automatische Generierung (siehe oben) von Spendenbescheinigungen zur Verfügung.

Alle Einstellungen (siehe unten) werden sowohl bei dem Standard-Dokument als auch dem individuellen Dokumenten berücksichtigt.

### Spendenbescheinigung (Einzeldarstellung)

In der Einzeldarstellung wird der Ausdruck über Buttons ebenfalls angeboten. Im Unterschied zum Druck aus der Liste heraus wird zunächst der Datei-Dialog mit der Voreinstellung des Spendenbescheinigungsverzeichnisses aus den Einstellungen und dem erzeugten Namen angeboten. Hier kann das Verzeichnis und der Name noch einmal korrigiert werden.

Der Ausdruck über die Buttons funktioniert nur, wenn die Spendenbescheinigung bereits einmal gespeichert wurde. Die Aktionen neu und drucken direkt hintereinander werden mit einer Fehlermeldung abgewiesen.

## Weitere Anpassungen

### Formulare

Vorlagen von [Formulare](/allgemeine-funktionen/administration/formulare)n können auch mehrere Seiten umfassen. Formularfelder können auch auf anderen Seiten als der ersten platziert werden (siehe auch Formularfelder).

### Formularfelder

Formularfelder können nun auch auf anderen Seiten als nur der ersten Seite platziert werden. Hierzu gibt es die Spalte "Seite", mit der die Seitennummer angegeben wird.

Für Spendenbescheinigungen stehen nun ergänzend folgende zusätzlichen Felder zur Verfügung:

* Spendenzeitraum Datum der ersten und letzten Buchung auf der Sammelbestätigung
* Buchungsliste
* Alle Buchungen als Liste formatiert:

`Datum Betrag Verzicht Zuwendungsart`

Für eine korrekte Formatierung sollte eine Schriftart mit fester Zeichenbereite gewählt werden.

### Einstellungen

#### Lang-Name

Langer Name des Vereins, bis 70 Zeichen

#### BegünstigterZweck

Bis zu 100 Zeichen

#### Straße

Bis zu 50 Zeichen

#### Ort

Bis zu 50 Zeichen

#### Dateinamenmuster Spende

Für die Generierung von Dokumenten mit Mitglieds-Bezug. Zunächst nur für Spendenbescheinigungen genutzt, könnte aber auch für Kontoauszug des Mitgliedskontos oder den Personalbogen genutzt werden.

#### Mindestbetrag für Spendenbescheinigungen

Allgemeine Einstellung ab welchem Betrag eine Spendenbescheinigung erstellt werden soll. Diese Einstellung kommt bei der automatischen Generierung von Spendebescheinigungen zum Tragen. Bei der Erzeugung einer Spendenbescheinigung aus einem Mitglkiedskonto heraus, wird diese Einstellung nicht beachtet.

#### Verzeichnis für Spendenbescheinigungen

Um ein flüssiges Erzeugen von mehreren Dokumenten zu ermöglichen, kann hier das Verzeichnis für die PDF-Dateien festgelegt werden. Wenn aus der Liste der Spendenbescheinigungen heraus die Dokumente generiert werden, werden sie in diese Verzeichnis geschrieben. Das Verzeichnis wird auch vorbelegt, wenn eine Dokumentenerstellung aus der Detailansicht Spendenbescheinigung erfolgt. Hier wird jedoch der Dateidialog angeboten.

#### Drucke Buchungsart

Ist das Häkchen gesetzt, wird in der Buchungsliste nicht der Zweck aus der Buchung, sondern die der Buchung zugewiesene Buchungsart verwendet. Bei sprechenden Namen eine einheitlichere Darstellung.


# Auswertungen


# Auswertung Mitglieder

## Allgemein

Der Mitgliederbestand kann nach verschiedenen Kriterien ausgewertet und das Ergebnis für zur direkten Nutzung oder zur Weiterverarbeitung exportiert werden. Hierzu gibt es folgende Möglichkeiten:

1. Filterung des Datenbestands
2. Sortierung der Ausgabe
3. Wahl des Ausgabeformats
4. Definition der Spalten bei CSV-Ausgabe

Die Ausgabe erfolgt entweder im PDF- oder im CSV-Format. Nach der Erzeugung der Datei wird ein entsprechendes Anzeigeprogramm aufgerufen.

## Sortierung

Die Sortierung erfolgt wahlweise nach

* Name, Vorname
* Eintrittsdatum
* Geburtsdatum
* Geburtsmonat und -jahr (Geburtstagliste).

Hinweis: Runde Geburtstage können in der [Jubiläumsliste](http://www.jverein.de/wiki/index.php?title=Jubiläen) ausgegeben werden.

## Ausgabe im PDF-Format

Das PDF-Format dient zur direkten Verwendung von Mitgliederdaten. Die Ausgabe erfolgt in 5 Spalten:

* Name
* Anschrift / Kommunikation
* Geburtsdatum
* Eintritt / Austritt / Kündigung
* Beitragsgruppe / Eigenschaften

## Ausgabe im CSV-Format

Eine [CSV-Datei](http://de.wikipedia.org/wiki/CSV_\(Dateiformat\)) ist eine Textdatei, bei der jeder Datensatz (jedes Mitglied) als einzelne Textzeile gespeichet ist. Die Textzeilen bestehen aus Feldern die mit Semikolon-Zeichen getrennt sind (im deutschen Sprachraum). Dieses einfache Dateiformat lässt sich sowohl mit einem Texteditor (bei Windows z.B. Notepad, bei Linux z.B. vim,Emacs,Nano) als auch mit einer Tabellenkalkulation wie Excel oder OpenOffice-Calc editieren.

Eine CSV-Datei kann in OpenOffice oder WinWord als Serienbriefdatenquelle zugewiesen werden.

Für die Ausgabe als CSV-Format gibt es 3 verschiedene Möglichkeiten:

* Mitgliederliste CSV
* Addressbuchexport CSV
* eigene Vorlagen für CSV (ab Version 2.5)

Bei derMitgliederliste CSVwerden sämtliche vorhandenen Mitglieder-Eigenschaften inklusive selbst definierte[Zusatzfelder](http://www.jverein.de/wiki/index.php?title=Felddefinitionen)in die CSV-Datei exportiert.

DerAddressbuchexport CSVeignet sich u.a. für die Weiterverarbeitung in Mailprogrammen (z. B. Thunderbird, Outlook Express).

### Vorlagen für eigene CSV-Formate

Ab Version 2.5 kann man eigene Vorlagen für den CSV-Export erstellen.

Dazu ist zunächst unter[Einstellungen->Dateinamenmuster](http://www.jverein.de/wiki/index.php?title=Einstellungen#Dateinamenmuster)ein Verzeichnis zu wählen, in dem alle selbst erstellten Vorlagen gespeichert werden.

Jede der selbst erstellten Vorlagen ist ebenfalls eine CSV-Datei. Diese Dateien müssen mit einem externen Programm erstellt werden, also mit einem Texteditor oder mit einem Tabellenkalkulationsprogramm. Damit JVerein diese Vorlagendateien erkennt, müssen diese im gewählten Vorlagenverzeichnis gespeichert werden.

[![](http://www.jverein.de/wiki/images/0/09/VorlagenCSVAuswahl.jpg)](http://www.jverein.de/wiki/index.php?title=Datei:VorlagenCSVAuswahl.jpg)

Die Vorlagen kann man direkt in der Liste Ausgabe auswählen

Alle in diesem Verzeichnis vorhandenen CSV-Dateien werden im Dialog Auswertung Mitgliedsdaten im Auswahlfeld Ausgabe aufgelistet.

**Hinweis:** Wird das Vorlagen-Verzeichnis geändert oder neue Dateien in diesem Verzeichnis erstellt, so ist JVerein neu zu starten. Bei einer Änderung einer bestehenden Vorlage ist dies jedoch nicht notwendig.

**Wie ist nun eine solche Vorlagendatei aufgebaut?**

Jede CSV Vorlagendatei besteht aus 2 Zeilen:

1. Zeile: frei wählbare Spaltenüberschriften
2. Zeile: Zuordnung der JVerein-Felder zu den in Zeile 1 definierten Spalten

**Beispiel**

Datei Eintrittsdatum.csv, wird angezeigt unter Ausgabe alsVorlage CSV: Eintrittsdatum(ohne Endung .csv)

```
Name;Vorname;Eintrittsdatum
mitglied_name;mitglied_vorname;mitglied_eintritt
```

**Wie kann ich einfach Vorlagendateien erstellen?**

1. Zunächst erzeugt man mittels der Auswahl

   Mitgliederliste CSV

   eine CSV-Datei die alle möglichen Datenfelder beinhaltet.
2. Dann öffnet man diese mit einem Tabellenkalkulationsprogramm, z.B. Excel oder OpenOffic-Calc. Hier sieht man nun die exportierten Datensätze, wobei die JVerein-Feldnamen in der ersten Zeile stehen
3. Durch Löschen und Umsortieren von Spalten wird jetzt die gewünschte Spaltenreihenfolge definiert. Es sollten nur noch die Spalten übrig bleiben die man wirklich in der Ausgabe haben möchte.
4. Nun dupliziert man die erste Zeile und benennt in der ersten Zeile die Spalten so um wie man sie haben möchte
5. Zum Schluss löscht man noch alle Datensätze ab Zeile 3, da die Daten in der Vorlage ja nicht benötigt werden

Das war's. Die Vorlagen braucht man ja nur einmalig zu erstellen und kann Sie bei jedem Export nutzen.


# Auswertung Kursteilnehmer

Die Kursteilnehmer können nach Abbuchungsdatum selektiert werden. Die Ausgabe erfolgt im PDF-Format.

[![Auswertungkursteilnehmer.jpg](http://www.jverein.de/wiki/images/7/7f/Auswertungkursteilnehmer.jpg)](http://www.jverein.de/wiki/index.php?title=Datei:Auswertungkursteilnehmer.jpg)


# Jubiläen

Die Mitglieder, die ein Mitgliedschaft- oder Alters-Jubiläum begehen, können ausgewertet werden. Unter Administration|Einstellungen|Statistik werden die Jubeljahre eingetragen. Bei der Auswertung kann aus einer Dropdown-Box das Jahr ausgewählt werden. Zur Verfügung stehen das aktuelle Jahr, das Vorjahr und 2 Folgejahre. Die Ausgabe erfolgt im PDF-Format.

![](/files/-LhnDcM-WEc0KwVtQfAn)


# Jubiläumsliste

Die Mitglieder, die ein Mitgliedschaft- oder Alters-Jubiläum begehen, können ausgewertet werden. Unter Administration|[Einstellungen](http://www.jverein.de/wiki/index.php?title=Einstellungen)|[Statistik](http://www.jverein.de/wiki/index.php?title=Einstellungen#Statistik)werden die Jubeljahre eingetragen. Bei der Auswertung kann aus einer Dropdown-Box das Jahr ausgewählt werden. Zur Verfügung stehen das aktuelle Jahr, das Vorjahr und 2 Folgejahre. Die Ausgabe erfolgt im PDF-Format.

[![Jubilaeen.png](http://www.jverein.de/wiki/images/1/13/Jubilaeen.png)](http://www.jverein.de/wiki/index.php?title=Datei:Jubilaeen.png)


# Statistik

Für die Erstellung einer Statistik gibt es generell drei Möglichkeiten:

* Direkte Nutzung der Statistik-Funktion in JVerein. Diese erstellt direkt eine PDF-Datei mit Tabellen (keine Grafik)
* Export ausgewählter Daten mittels Mitglieder-Auswertung und Verarbeitung in einer Tabellenkalkulation
* Direkter Zugriff eines Analyse-Programms (z.B. OpenOffice) auf die JVerein-Datenbank

## Statistik-Funktion in JVerein

![](/files/-LhnDjx-K2uQK9Q8Ft6j)

Für die Statistik ist ein Stichtag vorzugeben. Standardmässig wird der 31.12. des aktuellen Jahres vorgegeben.

![](/files/-LhnDjx2rEhRjTi3WW49)

### Altersgruppen

In der Statistik nach Altersgruppen wird der Mitgliederbestand nach den in den Einstellungen unter Statistik eingetragenen Altersgruppen summiert. Die Ausgabe erfolgt nach Geschlecht getrennt und insgesamt.

### Beitragsgruppen

Die Statistik nach Beitragsgruppen summiert den Mitgliederbestand nach den Beitragsgruppen nach Geschlecht und insgesamt.

### Anmeldungen/Abmeldungen\[Bearbeiten]

In diesem Bereich wird die Anzahl der An- und Abmeldungen zwischen dem 1.1. und dem eingegebenen Stichtag ermittelt.

## Statistik mittels Auswertung und Export

Unter Auswertungen->Mitglieder können die Mitgliederdaten zunächst nach diversen Kriterien gefiltert und das Ergebnis in eine CSV-Datei exportiert werden. In dieser Datei sind auch selbst definierte Eigenschaften und Zusatzfelder enthalten.

Mit einer Tabellenkalkulation wie Excel oder OpenOffice können die Daten dann eingelesen werden. Hier kann dann nochmals gefiltert werden. Natürlich können hier auch Grafiken erzeugt werden, wie Kuchendiagramme, Balkendiagramme usw.

Ein weitere wichtige Anwendung ist die Erstellung einer Bestandserhebung für einen Verband, wie z.B. einen Sportverband. Die Verbände verlangen oft eine spezifische Statistik die je nach Verband/Verein nur durch selbst definierte Eigenschaften und Zusatzfelder umgesetzt werden kann.

## Direkter Zugriff von OpenOffice/LibreOffice

Wenn häufig fest definierte Statistiken erstellt werden sollen kann dieser Weg der schnellste sein, denn aus OpenOffice/LibreOffice kann direkt auf die H2-Datenbank zugegriffen werden. Man benötigt dazu jedoch einige Kenntnisse der ooBase-Anwendung und auch SQL-Kenntnisse. Die Vorbereitung einer neuen Statistik ist hier also aufwändiger.


# Statistik Jahrgänge

Mit der Statistik Jahrgänge werden die Mitglieder nach Geburtsjahrgängen gezählt. Dabei gibt es eine Unterscheidung nach Geschlecht. Die Ausgabe ist im PDF- und im CSV-Format möglich.


# Mail

In JVerein ist ein einfaches Mail-Programm integriert. Hiermit ist es möglich, einfache Textmails mit Dateianhängen an einzelne Mitglieder, Gruppen von Mitglieder oder alle Mitglieder zu verschicken. Es werden stets einzelne Mails versendet, d.h. bei bspw. 200 ausgewählten Mitgliedern eben auch 200 Mails an jeweils nur die E-Mail-Adresse des Mitglieds (nur eine Adresse im To). Die einzelnen E-Mails können mittels Variablen personalisiert werden.

Der Empfang von Mails ist nicht vorgesehen.

## Konfiguration

Die Konfiguration ist unter Einstellungen beschrieben.

## Mail-Vorlagen

Für den Fall, dass immer ähnliche Mails versandt werden, kann die Tipparbeit durch Mailvorlagen minimiert werden.

![](/files/-LhnDbCFyAGqt_9pH93B)

Durch einen Doppelklick auf den Betreff oder durch einen Klick auf neu öffnet sich das Bearbeitungsfenster.

![](/files/-LhnDbCHzo-Otr_WfMON)

## Mails

In der Liste aller Mails wird der Betreff, das Bearbeitungs- und das Versanddatum angezeigt.

![](/files/-LhnDbCJWqVcckPs0wqT)

Durch einen Klick auf neu öffnet sich ein Mail-Vorlagen-Auswahlfenster:

![](/files/-LhnDbCLwqMkZmlS25Of)

Entweder wird eine Mailvorlage ausgewählt oder es geht ohne Vorlage weiter.

Ein Doppelklick auf eine Mail öffnet das Bearbeitungsfenster.

![](/files/-LhnDbCNjNZVEshqG-17)

Durch einen Klick auf Hinzufügen öffnet sich folgendes Auswahlfenster:

![](/files/-LhnDbCP-a0oofKlUm-N)

In diesem Fenster sind zunächst alle an- und abgemeldeten Mitglieder sowie alle weiteren Adressen aufgelistet, bei denen eine E-Mail-Adresse hinterlegt ist. Mail-Empfänger können nun einzeln durch Setzen des Häckchens vor der E-Mail-Adresse ausgewählt werden. Ferner stehen (ab Version 2.8.4) folgende Filter bzw. Selektoren zur Verfügung:

* Durch einen Klick auf Eigenschaften öffnet sich ein Dialog mit dem Mitglieder/Adressen anhand von Eigenschaften ausgewählt werden können.
* aktive Mitglieder selektiert alle aktuell angemeldeten Mitglieder (Stichtag=Tagesdatum).
* Mit inaktive Mitglieder werden alle abgemeldeten Mitglieder ausgewählt.
* Um alle Adressen (also nur sämtliche weiteren Adressen jedoch keine Mitglieder) auszuwählen bitte alle Adressen anklicken.
* Bei aktive Mitglieder und Adressen bleiben nur die abgemeldeten Mitglieder unselektiert (entspricht aktive Mitglieder und dann alle Adressen).
* Mit alle werden alle E-Mail-Adressen ausgewählt.

Die obigen Filter/Selektoren wirken additiv, mit keinen wird die komplette Auswahl rückgängig gemacht. Ein Klick auf übernehmen fügt die ausgewählten E-Mail-Adressen dann als Empfänger in die Mail ein.

Der Mailversand kann auch über einen Rechtsklick auf ein Mitglied ausgelöst werden:

![](/files/-LhnDbCRBm30Iaa8YO8w)

## Variablen

Im Betreff und im Text können Variable eingefügt werden, die beim Mailversand mit den konkreten Daten gefüllt werden. Mit Rechtsklick auf den Empfänger können die verfügbaren Variablen und ihre Belegung angezeigt werden.

siehe auch [Mitglieder](/allgemeine-funktionen/mitglieder) und [Variable](/sonstiges/variable)


# Buchführung


# Konten

## Auflistung der Konten

![](/files/-LhnDiEvz9Oyh9YKJXS6)


# Anfangsbestand

## Allgemeines

Für jedes Konto muss zum Beginn des Geschäftsjahres der Anfangsbestand gebucht werden. Wird ein Konto im Laufe des Jahres eröffnet, ist der Bestand zu diesem Zeitpunkt zu buchen.

Kontobestände können nur in zeitlich aufsteigender Reihenfolge eingegeben werden. Wurde beispielsweise zu einem Konto der Bestand zum 1.1.2008 eingegeben, kann nicht mehr für den 1.1.2007 gebucht werden.

Anfangsbestände, die durch einen Jahresabschluss erfasst sind, können nicht mehr geändert oder gelöscht werden. Außerdem können keine neuen Anfangsbestände für abgeschlossene Zeiträume eingegeben werden.

## Auflistung Anfangsbestände

![](/files/-LhnDaiDnPEAIIw4vuMI)

Durch neu werden neue Anfangsbestände aufgenommen. Mit einem Doppelklick auf einen Anfangsbestand kann der Bestand bearbeitet werden. Ein Rechtsklick auf einen Anfangsbestand öffnet ein Kontextmenü. Damit kann ein Anfangsbestand gelöscht werden.

![](/files/-LhnDaiFSuZVdsiv2_Su)


# Buchungen

## Liste der Buchungen

Die im System gespeicherten Buchungen können nach folgenden Kriterien selektiert werden:

* Konto
* Buchungsart
* Projekt
* von Datum
* bis Datum
* enthaltener Text

![](/files/-LhnDc2zezwbgLbZA5ej)

Mit einem Doppelklick auf eine Buchung wird die Detailansicht zur Bearbeitung geöffnet. Mit einem rechten Mausklick öffnet sich ein Kontextmenü. Damit können neue Buchungen aufgenommen werden und bestehende Buchungen gelöscht werden. Der Export der Daten ins PDF-Format wird durch einen Klick auf PDF angestoßen.

Buchungen können nur neu aufgenommen, geändert oder gelöscht werden, wenn sie nicht durch einen [Jahresabschluss](/allgemeine-funktionen/buchf/jahresabschluss) abgeschlossen wurden.

## Import

Siehe [Buchungsimport](/allgemeine-funktionen/buchf/buchungsimport)

## CSV-Export

Die über die Suchkriterien ausgewählten Buchungen können mit einem Klick auf CSV-Export als CSV-Datei ausgegeben werden. Dabei werden bei Nutzung des Mitgliedskontos ggfls. auch die Daten des Mitgliedes ausgegeben.

## PDF-Ausgaben

Die nachfolgenden PDF-Auswertungen sind hier abrufbar. Ausführlich beschrieben werden sie im Artikel [Buchführung Zusammenhänge](/sonstiges/buchfuhrung-zusammenhange).

### PDF-Buchungsjournal

Auflistung aller Buchungen nach verschiedenen Sortierungen.

### PDF-Einzelbuchungen

Auflistung aller Buchungen nach Buchungsarten.

### PDF-Summen

Ausgabe der Summen pro Buchungsart.

## Buchungen

![](/files/-LhnDc31BQyHbZ31WoGz)

Siehe auch [Mitgliedskonto, ](/allgemeine-funktionen/mitgliedskonto)[Splittbuchungen](/allgemeine-funktionen/buchf/splittbuchungen)


# Splittbuchungen

## Allgemeines

Wofür werden Splitbuchungen gebraucht?

Beispiele:

Ein Mitglied überweist für mehrere Familienmitglied den Beitrag in einer Summe. Die Buchung muss für jedes Familienmitglied aufgesplittet werden, damit die Gutschrift für das jeweilige Mitgliedskonto erfolgen kann.

Der Kassierer überweist einen Gesamtbetrag, der aus buchungstechnischen Gründen auf verschiedene Buchungsarten verteilt werden soll.

Der Kassierer erzeugt Sammelüberweisungen, deren Einzelposten er auf verschiedene Buchungsarten verteilen muss.

## Splitbuchung erzeugen

Rechtsklick auf die Buchung, dann Splitbuchung auswählen:

![](/files/-LhnDebVBzVI8XV2ZwYf)

Es erscheint dann:

![](/files/-LhnDebXQRfgjn20KO__)

Die angeklickte Buchung erscheint in der ersten Zeile. In der zweiten Zeile erscheint die Gegenbuchung mit umgekehrtem Vorzeichen beim Betrag.

Jetzt können über den "Neu"-Knopf die Splitbuchungen eingegeben werden:[![Splitbuchung04.png](/files/-LhnDebZZhMLicitzCUq)](http://www.jverein.de/wiki/index.php?title=Datei:Splitbuchung04.png)

Die Splitbuchungen können nur gespeichert werden, wenn

* Haupt- und Gegenbuchung den gleichen Betrag haben, unabhängig vom Vorzeichen.
* Die Summe der Splitbuchungen muss identisch mit dem Betrag der Hauptbuchung übereinstimmen.
* Die Buchungsart bei der Haupt- und der Gegenbuchung muss identisch sein.
* Jede Buchung muss eine Buchungsart haben.

So können die Buchungen gespeichert werden:[![Splitbuchung05.png](/files/-LhnDeba-jKij2vNSd7N)](http://www.jverein.de/wiki/index.php?title=Datei:Splitbuchung05.png)

## Anzeige der Buchungen

Die Splitbuchungen werden in der Liste der Buchungen "normal" angezeigt. Ein Doppelklick auf eine Haupt-, Gegen- oder Splitbuchung öffnet den Splitbuchungsdialog.

[![Splitbuchung06.png](/files/-LhnDebcB6Hgr8KQmnkr)](http://www.jverein.de/wiki/index.php?title=Datei:Splitbuchung06.png)

## Sammelüberweisung

**Ab Version 2.7**

Mit einem Klick auf Sammelüberweisung erscheint folgendes Fenster:

[![Splitbuchung07.png](/files/-LhnDebeGekgSFdZ7MXk)](http://www.jverein.de/wiki/index.php?title=Datei:Splitbuchung07.png)

Es werden die in Hibiscus vorhandenen Sammelüberweisungen angezeigt. Mit einem Doppelklick auf eine Sammelüberweisung werden die Einzelposten der Sammelüberweisung in die Splitbuchungen übernommen.

## Splitbuchungen auflösen

Sollte versehentlich eine Splitbuchung erzeugt worden sein, kann sie über den Knopf "auflösen" wieder aufgelöst werden. Die Gegen- und Splitbuchungen werden gelöscht. Bei der Hauptbuchung wird das Splitbuchungsmerkmal entfernt.


# Buchungsübernahme

Nach der Kontensynchronisation in Hibiscus werden innerhalb von ca. 10 Sekunden die Buchungen aller Konten automatisch zu JVerein übernommen. Alle übernommenen Buchungen werden in einem Dialog angezeigt. Tritt bei der Buchungsübernahme ein Fehler auf, wird ein entsprechender Hinweis ausgegeben.

Die automatische Buchungsübernahme kann deaktiviert werden (siehe Einstellungen#Buchführung).


# Buchungsimport

Buchungen können im CSV-Format importiert werden. Der Dateiname muss eine Endung haben. Z. B. .csv oder .txt. Es kann jede beliebige Endung verwendet werden. Die Datenfelder werden durch Semikolon getrennt. Das Encoding kann ausgewählt werden.

Als Spaltennamen stehen die [Variablen](/sonstiges/variable) aus dem Bereich "Buchungen" zur Verfügung.

```
buchung_betrag;buchung_buchungsart_nummer;buchung_datum;buchung_kontonummer;buchung_name;buchung_zweck1
80;2004;08.04.2012;1;Shop;"Mitgliedsbeitrag
1. Halbjahr
Hansi Müller"
35;2004;08.04.2012;1;Shop;zweck1
```

In OpenOffice/LibreOffice/Excel muss die Datei wie folgt aufgebaut sein:![](/files/-LhnD_aCd6piiR4WmkEz)

Die oberste Zeile dient der Zuordnung. Der Inhalt dieser Zeile muss exakt so geschrieben werden. Hinweis: Das Hinzufügen der Felder "buchung\_buchungsart\_nummer" oder "buchung\_buchungsklasse\_nummer" hat dazu geführt, dass der Import nicht klappt. In die Spalte "buchung\_kontonummer" kommt die (JVerein) Kontonummer zu der die Buchung zugeordnet werden soll. Bei einem Hibiskuskonto ist das die Bankkontonummer. Bei einem reinen JVereinkonto die entsprechende Nummer des Kontos. Man kann sie hier nachschauen bzw. vorab ein Konto anlegen. In diesem Beispiel hat das JVerein interne Konto die Bezeichung "manuell" und die Nummer 2.

![](/files/-LhnD_aETv_Bre9ANyuI)

In LibreOffice "Datei" -> "Speichern unter" wählen und als Dateityp "CSV" auswählen. Zusätzlich den Haken bei "Edit filter settings" setzen.

![](/files/-LhnD_aG8PmtTRtcOTUm)

Die Einstellungen für den Export sind wie folgt:

![](/files/-LhnD_aIMw3wf_UDFLUS)

![](/files/-LhnD_aKKvze57UmQ6o9)

Der Import Button ist in JVerein unter "Buchführung" -> "Buchungen" -> "Import"

Zumindest beim Mac muss man nach dem Import die Ansicht wechseln, erst dann erscheinen die importierten Buchungen in der Liste.

![](/files/-LhnD_aM-b8Il5rCoyou)


# Kontoauszug

Der Kontoauszug ist eine Liste (PDF-Ausgabe) sämtlicher Buchungen auf einem Mitgliedskonto.

Einen Kontoauszug kann in der Anzeige des Mitglieds (bzw. eine weiteren Adresse) abgerufen werden und auf einen Zeitraum eingegrenzt werden.

Die jüngsten Positionen des Kontoauszugs werden auch auf dem Personalbogen ausgegeben.

![](/files/-LhnDbR7Kigo-80sWJjx)

![](/files/-LhnDbR9OXfUrrEFHPOP)


# Projekte

## Einleitung

Innerhalb der Buchführung können Buchungen zu Projekten zusammengefasst werden. Siehe auch <https://jverein-forum.de/viewtopic.php?f=4&t=646>

Die Verwendung von Projekten ist dann sinnvoll, wenn die Informationen, die die normalen Auswertungen liefern, für bestimmte Fragestellungen nicht genügen. Üblicherweise werden die Buchungsklassen und die Buchungsarten darin so angelegt wie es z.B. für steuerliche Gründe sinnvoll oder gar vorgegeben ist. Buchungen, die sachinhaltlich zusammengehören, müssen dann meist aber auf verschiedene Buchungsarten verteilt werden so dass sich der Sachzusammenhang alleine aus den Salden der Buchungsklasse u.U. nicht mehr ergibt.

Indem bei einer Buchung ein Projekt hinterlegt wird, können zusammengehörige Buchungen über das Projekt ausgewertet werden.

## Einstellungen

Unter Administration|Buchführung|Projekte werden die Projekte angelegt bzw. bearbeitet.

![](/files/-LhnDa6kMkch-1xLP39s)

Mit neu kann ein neues Projekt eingerichtet werden.

![](/files/-LhnDa6mWO59cdCffIha)

## Auswertung

Informationen zu Projekten liefert die Funktion Projekt-Saldo (zu finden unter Buchführung|Projekte), Detailinformation filtert man unter Buchführung|Buchungen.

### Projekte-Saldo

In Anlehnung an die Funktion Buchungsklassen liefert die Funktion Projekt-Saldo, die über Buchführung|Projekte aufgerufen wird, die Einnahmen und Ausgaben aller Projekte gruppiert nach Buchungsarten. Auch die Salden aller Einnahmen und Ausgaben je Projekt sowie der jeweilige Projektgewinn werden ermittelt.

![](/files/-LhnDa6oylZOZ2RDy0_C)

Die Berechnung kann auf einen Datumsbereich eingegrenzt werden.

Um sich wiederholende Projekte z.B. jahresweise vergleichen zu können, kann entweder für jedes Jahr ein neues Projekt mit Jahreszahl (z.B. "St. Martin 2013", "St. Martin 2014" usw.) verwendet werden. Dann erhält man bei einem mehrjährigen Datumsbereich die einzelnen Projekte in einer Liste (wie im Beispiel des obigen Screenshots).

Alternativ kann man aber auch stets dasselbe Projekt verwenden (z.B. "St. Martin") und dann für einen Mehrjahresvergleich die Auswertung mit unterschiedlichen Datumsbereichen (je Jahr) mehrmals abrufen.

Die Tabelle kann als PDF-Datei ausgegeben werden.

### Buchungen

Die Liste aller Buchungen (Buchführung|Buchungen) kann auf ein Projekt, ggf. auch mit Datumseingrenzung, gefiltert werden. So erhält man die Liste aller Buchungen zu einen Projekt, die auch als PDF- oder CSV-Datei ausgegeben werden kann.


# Buchungsklasse

Die Buchungsklassen dienen dazu die einzelnen Buchungsarten entsprechend den steuerlichen Vorgaben zu gruppieren. Siehe auch [Buchführung Zusammenhänge.](/sonstiges/buchfuhrung-zusammenhange)

![](/files/-LhnDeHOQ01P_f8Y1x0h)

![](/files/-LhnDeHQ4h0ARZ7lKBtK)


# Jahressaldo

Hier können für alle Konten die Salden eines Geschäftsjahres angezeigt werden. Der Beginn des Geschäftsjahres wird unter Einstellungen eingegeben.

Sofern kein [Anfangsbestand](/allgemeine-funktionen/buchf/anfangsbestand) vorhanden ist, wird ein entsprechender Hinweis ausgegeben.

![](/files/-LhnDdJpu67BSFVnoW-T)

Die Daten können im PDF-Format ausgegeben werden.


# Jahresabschluss

Zunächst wird eine Liste der bereits getätigten Jahresabschlüsse angezeigt:

![](/files/-LhnDe23r9r8EEHEBwrY)

In der Liste der Jahresabschlüsse kann mit einem Linksklick auf einen Abschluss ein Kontext-Menü geöffnet werden. Hiermit wird die Löschung eines Jahresabschlusses erledigt.

Damit ein Jahresabschluss verbucht werden kann, müssen folgende Bedingungen erfüllt sein:

* Für jedes Konto muss ein Jahresanfangsbestand existieren
* Alle Buchungen müssen einer Buchungsart zugeordnet worden sein.
* Die Abschlüsse müssen in chronologischer Reihenfolge erfolgen.

Es kann jeweils nur der neuste Jahresabschluss gelöscht werden.

Durch eine Klick auf neu kann ein neuer Jahresabschluss vorgenommen werden:

![](/files/-LhnDe25pTA9CyzvRq0W)


# Administration


# Einstellungen

## Allgemein

Name und Anschrift des Vereins sowie die Bankverbindung und Gläubiger-ID für die Abbuchung müssen hier eingegeben werden (Pflichtangaben).

Die Pflichtfelder werden von der Abrechnung für die Erstellung der Lastschriften zwingend benötigt. Die weiteren Angaben werden überwiegend bei Spendenbescheinigungen eingesetzt.

![](/files/-LhnDf49XjM2doVXglgd)

## Anzeige

![](/files/-LhnDf4BX2zUXwKvFyqp)Durch die Einstellungen kann das Verhalten von JVerein beeinflußt werden.

Nach Änderungen der mit Stern gekennzeichneten Werte ist ein Neustart von Jameica erforderlich.

Folgende Einstellungen können vorgenommen werden:

### Geburtsdatum Pflichtfeld

Beim Mitglied muss ein Geburtsdatum eingetragen sein, damit der Datensatz gespeichert werden kann.

### Eintrittsdatum Pflichtfeld

Beim Mitglied muss ein Eintrittsdatum eingetragen sein, damit der Datensatz gespeichert werden kann.

### Sterbedatum

Das Eingabefeld für das Sterbedatum ist vorhanden und auswertbar

### Kommunikationsdaten anzeigen

Beim Mitglied können folgende Kommunikationsdaten gepflegt werden:

* private Telefonnummer
* Handynummer
* Dienstliche Telefonnummer
* E-Mail Adresse

### Zusatzbeträge anzeigen

Tab Zusatzabbuchungen beim Mitglied anzeigen. Impliziert, dass die Übersicht der Zusatzabbuchungen (nicht) angezeigt wird und die Option bei der Abbuchung (in)aktiv ist.

### Vermerke anzeigen

Tab Vermerke beim Mitglied anzeigen. Beim Mitglied können 2 mal 255 Zeichen Vermerke gespeichert werden.

### Wiedervorlage anzeigen

Tab Wiedervorlage beim Mitglied anzeigen. Impliziert, dass die Übersicht der Wiedervorlagen (nicht) angezeigt wird.

### Kursteilnehmer anzeigen

Kursteilnehmer ein-/ausblenden. Auswirkung auf die Abbuchung.

### Lehrgänge anzeigen.

Zu einem Mitglied können die durchgeführten Lehrgänge mit Ergebnissen gespeichert werden.

### Juristische Personen erlaubt.

Die Eingabe von Firmen, Organisationen und Behörden als Mitglieder wird erlaubt. Anstatt Name und Vorname werden Name-Zeile1 und Name-Zeile2 erfasst. Geburtsdatum und Geschlecht werden nicht erfasst.

### Mitgliedsfoto.

zu jedem Mitglied kann ein Foto gespeichert werden.

### Lesefelder anzeigen

Tab Lesefelder beim Mitglied anzeigen. Lesefelder können unter Administration - Lesefelder definiert werden

### Zusätzliche Adressen

In einem eigenen Dialog können weiteren Adressen von z.B. Spender, Lieferanten, Trainer gespeichert werden.

### Auslandsadressen

Beim Mitglied kann zusätzlich der Wohnsitz-Staat gespeichert werden

### Arbeitseinsatz

Beim Mitglied können Arbeitseinsätze erfasst werden.

In einem eigenen Dialog können Buchungen von Arbeitsstunden angezeigt und geprüft werden.

### Dokumentenspeicherung

Speicherung von Dokumenten zu Mitgliedern und Buchungen. Wird diese Einstellung aktiviert muss das Plugin jameica.messaging installiert sein.

### individuelle Beiträge

Grundsätzlich zahlt das Mitglied den Beitrag, der in der Beitragsgruppe angegeben wurde. Sofern diese Option aktiviert wurde, kann bei jedem Mitglied ein abweichender individueller Beitrag angegeben werden.

### externe Mitgliedsnummer

Vereine, die auf Bundes- oder Landesebene organisiert sind und eine durchgängige Mitgliedsnummer verwalten möchten, können in JVerein eine externe Mitgliedsnummer speichern.

### Basis für Berechnung des Alters.

In der Ansicht Tabellen kann in der Mitgliederliste in einer Spalte das Alter angezeigt werden. Hier mit diesem Feld bestimmen Sie welches Referenzdatum bei der Berechnung des Alters verwendet wird.Zur Auswahl stehen:

* Aktuelles Datum. Das Alter berechnet sich aus dem Geburtsdatum und dem aktuellen Datum.
* Jahres Start. Das Alter berechnet sich aus dem Geburtstag und dem 01.01. des aktuellen Jahres.
* Jahres Ende. Das Alter berechnet sich aus dem Geburtstag und dem 31.12. des aktuellen Jahres.

### Buchungsart Auswahl

Hier kann eingestellt werden wie sich bei Buchungen das Feld für die Buchunsgart verhält:

Bei Suche bei Eingabe tippt man den Wortteil der Bezeichnung der Buchungsart ein, nach ein paar Millisekunden wird einer Auswahlliste mit den Treffern angezeigt aus der man dann die gewünschte Buchungsart übernehmen kann.

Anzeige der kompletten Liste stellt eine Drop-Down-Liste mit allen Buchungsarten zur Verfügung.

### Buchungsart Sortierung

Wie sollen die Buchungsarten sortiert werden: nach Bezeichnung, nach Nummer oder nach Bezeichnung/Nummer.

## Beiträge

![](/files/-LhnDf4DeJHkYAkGfmvj)

Beitragsmodell, siehe auch [Beitragsmodelle](/allgemein/beitragsmodelle)

Die Standardwerte für den Zahlungsrhytmus und den Zahlungsweg bei der Speicherung neuer Mitglieder kann eingestellt werden.

Für die SEPA-Konvertierung ist das SEPA-Land auszuwählen.

### Arbeitsstundenmodell

Mit dem Arbeitsstundenmodel wird die Buchung von Arbeitsstunden eingestellt.

Mögliche Werte sind:

#### Standardverfahren

Es können beim Erfassen der Arbeitsstunden nur positive Werte im Stundenfeld eingegeben werden.

#### negative Stunden erlaubt

Beim Erfassen der Arbeitsstunden vom Mitgliedern können im Stundenfeld positive und negative Werte eingetragen werden. Positive und negative Werte können sich gegenseitig aufheben. Negative Werte können die Gesamtschuld an Arbeitsstunden bei einem Mitglied erhöhen und zu einer höheren Buchung von Zusatzbeiträgen führen.

## Dateinamenmuster

![](/files/-LhnDf4FuDYC6XjWKMFm)

Bei der Ausgabe von Dateien (Abbuchung, Auswertungen...) werden die Dateinamen nach dem vorgegebenen Muster aufgebaut. Es können zusätzliche, vom Betriebssystem unterstützte Zeichen, in das Muster aufgenommen werden. Bleibt das Muster leer, wird kein Vorschlag für den Dateinnamen angezeigt. Spendenbescheinigungen werden jeweils für den einzelnen Spender ausgestellt. Daher sollten zur leichteren Identifizierung Name und Vorname in den Dateinamen aufgenommen werden.

Folgende Variable stehen zur Verfügung:

* a$ : Aufgabe (z. B. auswertung, abbuchung)
* d$ : Aktuelles Datum
* s$ : Sortierung. Wird nur bei Auswertungen gefüllt. Ansonsten leer.
* z$ : Aktuelle Zeit
* n$ : Name des Mitglieds
* v$ : Vorname des Mitglieds

Verzeichnis für CSV-Vorlagen.

## Spendenbescheinigungen

![](/files/-LhnDf4HfveuSgyPsMMz)

Hier können die Werte zur Erstellung von Spendenbescheinigungen eingestellt werden.

Mindestbetrag: Es werden nur Spendenbescheinigungen für Einzelspenden ausgestellt, die diesen Betrag übersteigen.

Verzeichnis: In einem Durchlauf können mehrere Spendenbescheinigungen erstellt werden. Jede Spendenbescheinigung wird in ein eigenes Dokument ausgegeben und in das angegebene Verzeichnis gespeichert.

Buchungsart drucken: Im Normalfall wird der Verwendungszweck aus der Buchung in die Spendenbescheinigung übernommen. Sofern diese Option aktiviert wurde, wird der Text aus der Buchungsart genommen.

## Buchführung

![](/files/-LhnDf4JUrNYEURQvDYj)

Hier sind folgende Eingaben nötig bzw. möglich:

Beginn des Geschäftsjahres in der Form TT.MM.

Automatische Übernahme von Buchungen aus Hibiscus (Standard: aktiviert).

Unterdrückung nicht bebuchter Buchungsarten in Listen/Auswertungen (Standard: nicht aktiviert).

## Rechnungen

![](/files/-LhnDf4LiX-0NmoJYPZ0)

Texte für die einzelnen Zahlungswege für den Rechnungsdruck. In den Text zur Abbuchung können die Variablen ${IBAN}, ${BIC}, ${MANDATID} ${Konto} und ${BLZ} eingemischt werden.

## Tabellen

![](/files/-LhnDf4Nx8nS1JNztDK-)

Festlegung der Spalten, die in Tabellen angezeigt werden sollen.

## Mail <a href="#einstellungenmail" id="einstellungenmail"></a>

![](/files/-LhnDf4PJ8QeBGQ-JYCM)

Alternativ zur EMail-Adresse kann auch der Name zur Absenderadresse hinzugefügt werden: "Mein Name <<vorstand@verein.de>>" Wichtig ist dabei das Format: (Name) (Spitze Klammer auf) (Email) (Spitze Klammer zu)

Hinweis: Die Passwörter werden aber JVerein 2.6.1 verschlüsselt in einer Jameica-Wallet-Datei abgelegt (im Jameica Datenordner, Unterordner "cfg"), und sind mit dem Jameica-Masterpasswort gesichert, das beim Starten von JVerein eingegeben wird.

Um versendete EMails auch im EMail-Postfach (und nicht nur in JVerein) abzulegen, gibt es zwei Möglichkeiten:

1. Eine Kopie (Cc) oder Blindkopie (Bcc) der EMail verschicken. Dazu das Feld "Immer Cc an Adresse" oder "Immer Bcc an Adresse" mit einer EMailadresse ausfüllen.
2. Die EMail in den "Gesendete"-Ordner eines ggf. vorhandenen IMAP-Kontos ablegen. Dazu den Bereich "IMAP 'Gesendete'-Ordner mit den IMAP-Zugangsdaten ausfüllen und "Kopie in 'Gesendete'-Ordner IMAP ablegen" anklicken. Der technische Name des "Gesendete"-Ordners kann variieren, ist aber meist "Sent".

Beide Möglichkeiten können auch kombiniert werden.

## Statistik

![](/files/-LhnDf4R9nQIcFwPC8NY)

Für statistische Zwecke können Altersgruppen angegeben werden. Erfassen Sie die Gruppen wie im folgendem Beispiel

1-5,6-10,11-17,18-25,26-50,50-100

Zur Ausgabe einer Jubiläumsliste werden die Jubeljahre durch Komma getrennt eingetragen. Ohne Eingabe werden die Standardwerte 10,25,40,50 verwendet.

Es kann eine Liste der Altersjubilare ausgegeben werden. Ohne Eingabe werden die Standardwerte 50,60,65,70,75,80,85,90,95 verwendet.

Ab Version 2.5 gibt es das Feld Mindestalter f. Mitgliedschaftsjubiläum

Geben Sie hier eine Zahl ein, dann werden Mitgliedsjahre, die vor diesem Alter liegen beim Errechnen eines Mitglieds-Jubiläums nicht mit gerechnet.

Für weitere technische Details siehe: Informationen für Entwickler //TODO


# Beitragsgruppen

Mit Neu kann eine neue Beitragsgruppe eingerichtet werden.

![](https://github.com/jverein/jverein-handbuch/tree/7a7b5a645186b65a634bbe865664632876fb43ca/assets/Beitragsgruppenübersicht.PNG)

Durch einen Doppelklick wird die Bearbeitung einer Beitragsgruppe eingeleitet.

Durch die Markierung einer Beitragsgruppe und Löschen wird die Löschung eingeleitet. Alternativ kann mit einem rechten Mausklick auf eine Beitragsgruppe ein Kontext-Menü geöffnet werden. Damit kann eine Beitragsgruppe, die keinem Mitglied zugeordnet ist, gelöscht werden. Bei zugeordneten Beitragsgruppen erscheint eine Fehlermeldung

![](/files/-LhnDepkDQsU6nboe4yL)

Es muss mindestens eine Beitragsgruppe erfasst werden. Jeder Beitragsgruppe ist eine der folgenden Arten zuzuordnen:

1. Normal
2. Familie: Zahler
3. Familie: Angehöriger
4. Die Zuordnung einer Buchungsart bewirkt die korrekte Verbuchung des Mitgliedsbeitrages in der Buchführung.

Zu einer Beitragsgruppe kann eine interne Notiz erfaßt werden.

## Beitragsart Normal

Dies ist die Standard-Beitragsart, die für alle Mitglieder gewählt sein sollte, die nicht zu einer (als solchen gemeldeten) Familie gehören.

## Beitragsart Familie

Die Beitragsart Familie setzt sich aus zwei Beitragsgruppen zusammen. Das Hauptmitglied, das das zahlende Mitglied ist, wird in einer Beitragsgruppe der Art Familie: Zahler geführt. Alle anderen Familienangehörigen werden in eine Beitragsgruppe der Art Familie: Angehöriger. Dabei ist zu beachten, dass nur dem zahlenden Mitglied ein Beitrag berechnet wird, die Angehörigen sind beitragsbefreit.

Die Gruppierung in Familienverbände erlaubt die schnelle Übersicht aller Familienmitglieder auf der Detailansicht aller Familienmitglieder. Siehe auch Mitglieder -> Mitgliedschaft und Beitragsmodelle -> Familientarif.

Siehe Familientarife

## Sekundäre Beitragsgruppen

Sollen für Mitglieder die Beiträge aus mehr als einer Beitragsgruppe abgerechnet werden, können sekundäre Beitragsgruppen eingerichtet werden. Dazu muss unter Administration | Einstellungen | Anzeige das Häkchen "sekundäre Beitragsgruppen anzeigen" gesetzt werden. Anschließend ist es möglich, Beitragsgruppen als sekundäre Beitragsgruppen zu kennzeichnen.

![](/files/-LhnDepm5BuobaPkCNph)

Die so gekennzeichneten Beitragsgruppen können den Mitgliedern als sekundäre Beitragsgruppe zugewiesen werden.


# Buchführung


# Buchungsklasse

Die Buchungsklassen dienen dazu die einzelnen Buchungsarten entsprechend den steuerlichen Vorgaben zu gruppieren. Siehe auch [Buchführung Zusammenhänge.](/sonstiges/buchfuhrung-zusammenhange)

![](/files/-LhnDeHOQ01P_f8Y1x0h)

![](/files/-LhnDeHQ4h0ARZ7lKBtK)


# Buchungsart

Über Buchungsarten kann festgelegt werden, für welche Zwecke Geld eingenommen oder ausgegeben wurde.

![](/files/-LhnDasfSocfkvzXmbDQ)

Mit einem Klick auf PDF-Ausgabe wird eine Buchungsarten-Liste erstellt.

![](/files/-LhnDashOXZPHUnOqYkE)

Mit neu kann eine neue Buchungsart eingerichtet werden. Jeder Buchungsart wird eine Nummer zugeordnet. Diese Nummer dient der Sortierung in der Buchungsliste. Z. B. werden den Einnahmen die 1.000er Nummern, den Ausgaben die 2.000er und den Umbuchungen die 3.000er gegeben.

Für jede Buchungsart wird die Art "Einnahme", "Ausgabe" oder "Umbuchung" ausgewählt.

![](/files/-LhnDasjuhnv_cFLuuy9)

Anstelle des Begriffs "Buchungsarten" wird im Kontext der Buchhaltung oft von "Konto" gesprochen, ein Kontenrahmen listet dann alle möglichen Buchungsarten/Konten auf. Insbesondere für gemeinnützige Vereine ist hier der Standardkontenrahmen SKR 49 interessant, der im Forum als Vorlage zur Verfügung steht.


# Kontenrahmen Import Export

## Allgemein

Die JVerein-Buchführung beruht auf (könnte man auch als Konten bezeichnen) und auf Buchungsklassen (Kontenrahmen). Für den Austausch von Kontenrahmen zwischen Vereinen gibt es den Export und Import im XML-Format.

Für den Austausch gibt es ein Forum unter <http://www.jverein.de/forum/viewforum.php?f=12>. Sofern ihr einen allgemeingültigen Kontenrahmen für einen bestimmten Vereinstypen (z. B. Schulfördervereine) erstellt habt, bzw. in JVerein erfasst habt, könnt ihr ihn dort den Vereinskollegen zur Verfügung stellen.

## Export

Beim Export ist ein Verzeichnis und ggfls. ein Dateiname auszuwählen.

Ein Export ist nur möglich, wenn Buchungsklassen existieren.

## Import

Beim Import ist die Datei auszuwählen.

Ein Import ist nur möglich, wenn weder Buchungsklassen noch Buchungsarten existieren.

## Datenformat

```
<kontenrahmen>
  <buchungsklassen>
    <buchungsklasse bezeichnung="Klasse 1000" nummer="1000">
      <buchungsarten>
         <buchungsart nummer="1000" bezeichnung="Mitgliedsbeitrag" art="0" spende="false"/>
         <buchungsart nummer="1005" bezeichnung="Anfängerschwimmen" art="0" spende="false"/>
         <buchungsart nummer="1010" bezeichnung="Allg. Spenden" art="0" spende="true"/>
      </buchungsarten>
    </buchungsklasse> 
    <buchungsklasse bezeichnung="Klasse 2000" nummer="2000"> 
      <buchungsarten> 
        <buchungsart nummer="2000" bezeichnung="Personalkosten" art="1" spende="false"/> 
  :
  :
  :
</kontenrahmen>
```

:

:


# QIF-Import

## Starten des Dialoges

Sie finden den Dialog in

* JVerein
  * Administration
    * Buchführung
      * QIF Datei-Importieren

## Wann verwende ich den Dialog

Möchten Sie auf JVerein wechseln und Ihre alten Buchungen aus dem früheren Programmen übernehmen, unterstützt Sie dieser Dialog bei der einmaligen Übernahme aller Buchungen.

Voraussetzungen damit dieser Dialog verwendet werden kann sind:

* Ihr altes Programm exportiert in QIF Dateien
* JVerein enthält noch keine Buchungen
* JVerein enthält noch keine Anfangsbestände von Konten

## Allgemeines

Viele Programme wie z.B. Quicken exportieren ihre Buchungen in Dateien, die das QIF Format verwenden.

Dieses Format ist leider nicht sehr exakt definiert und überlässt den Entwicklern viel Freiräume, was den Import nicht gerade vereinfacht.

Das hier vorliegende Import-Modul orientiert sich an folgender Dokumentation: Quicken Interchange Format und wurde mit Exports aus verschiedenen Quicken Versionen getestet.

## Überblick

Der Import von QIF Buchungen läuft in folgenden Schritten:

* Buchungen im alten Programm exportieren
* Konten in JVerein anlegen
* Buchungsgruppen und Buchungsarten in JVerein anlegen
* QIF Dateien in JVerein einlesen
* Buchungsarten den externen zuordnen
* eventuell Mitglieder zuordnen
* JVerein Datenbank sichern
* Buchungen übernehmen

## Vorbereitungen

### Vorbereitung in JVerein

Dieser Dialog unterstützt bei der ersten Übernahme von Buchungen beim Umstieg auf JVerein aus dem früher verwendeten Programm.

In JVerein müssen dazu die Konten angelegt werden, für die Buchungen importiert werden sollen.

Geben Sie weder ein Eröffnungsdatum, noch einen Anfangssalto an, weil diese Daten mit dem Import gesetzt werden. Legen Sie auch nur die Konten an die für den Import benötigt werden.

Möchten Sie weitere Konten in JVerein führen, können Sie diese später anlegen, nachdem der Import abgeschlossen wurde.

Nun müssen Sie noch die Buchungsklassen und Buchungsarten in JVerein anlegen. Prüfen Sie dabei gleich, ob Sie jeder Buchungsart des alten Programmes eine neuen Buchungsart aus JVerein zuordnen könnten.

Sollen Buchungen Mitgliederkonten zugeordnet werden, müssen alle Mitglieder in JVerein angelegt sein.

### Vorbereitung im alten Programm

Exportieren Sie die Buchungen eines jeden Kontos in eine eigene QIF Datei.

Auch wenn das Programm die Möglichkeit bietet, alle Konten in eine Datei zu exportieren, wird der Import dieser Dateien von JVerein nicht unterstützt.

Bei Tests mit Quicken hat sich herausgestellt, das Buchungen in der Datei fehlen, wenn mehrere Konten in eine Datei exportiert werden.

So lässt Quicken bei Umbuchungen zwischen Konten die Belastungsbuchung weg. Wurde das Konto mit der Entlastungsbuchung bereits geschlossen, exportiert Quicken diese Kontodaten gar nicht und lasst damit den Transfer komplett weg, was zu falschen Kontoständen führt.

## Import durchführen

### Schritt 1 - Dateien importieren

Die Übernahme der Buchungen beginnt mit dem Einlesen der QIF Dateien in JVerein. Dieser Vorgang ändert noch keine Buchung in JVerein, ist harmlos und kann jederzeit wiederholt werden.

Die Daten der QIF Dateien werden in JVerein in den Tabellen QIFImportHead und QIFImportPos eingetragen und können hier mit den nächsten Arbeitsschritten weiter für die Buchungsübernahme vorbereitet werden.

Das Einlesen einer Datei läuft innerhalb einer Datenbank Transaktion. Das bedeutet, wenn beim Einlesen ein Fehler auftritt, werden aus diese Datei keinerlei Daten übernommen. Sie bekommen immer alles oder gar nichts.

Lesen Sie nach und nach für alle gewünschten Konten die QIF Dateien an.

Nach dem Einlesen einer Datei wird der Name des Kontos in der Auswahlbox Externes Konto aufgenommen.

Wählen Sie hier das Konto aus und prüfen Sie die eingelesenen Daten, vor allem ob Eröffnungssalto und Gesamt Salto mit den Angaben im alten Programm überein stimmen.

Möchten Sie einen Import wiederholen, können Sie jederzeit den Import eines Kontos oder aller Konten löschen, in dem Sie die Schalter Import Löschen oder Imports Löschen verwenden.

### Schritt 2 - JVerein Konto zuordnen

Ordnen Sie den externen Konten jeweils ein Konto in JVerein zu.

Wählen Sie dazu im Bereich Konto Kopfdaten über die Auswahlbox Externes Konto ein importiertes Konto aus.

Wählen Sie nun im Bereich Zugeordnetes Konto in JVerein.. über die Auswahlbox JVerein Konto das dazugehörige Konto in JVerein. Diese Auswahl wird sofort gespeichert.

Prüfen Sie ob allen externen Konton ein JVereinskonto zugeordnet ist. Wenn Sie ein externes Konto auswählen, wird das zugeordnete JVereins Konto angezeigt.

### Schritt 3 - Buchungsart zuordnen

Wenn Sie den Schalter Buchungsarten zuordnen drücken, wechseln Sie in eine Ansicht, die alle externen Buchungsarten und deren Zuordnung zu JVereins Buchungsarten zeigen und ändern lassen. Buchungen, die keine externe Buchungsart haben, werden einzeln dargestellt und müssen hier auch einzeln bearbeitet werden.

Diese Ansicht bietet folgende Möglichkeiten

* externe Buchungsart einer JVereins Buchungsart zuordnen
* externe Buchungart zum Import sperren
* für eine Buchungsart festlegen, ob Mitgliedskonten referenziert werden können.

Wählen Sie eine Buchungsart in der Liste an, so können Sie auf der Seite Beispielbuchungen einzelne Buchungen zu dieser Buchungsart anschauen und damit leichter entscheiden, welche JVereins Buchungsart diesen Buchungen entspricht.

Wählen Sie die JVereinsbuchungsart aus der Auswahlbox JVerein Buchungsart aus und bestätigen Sie diese Auswahl mit dem Schalten Speichern.

In der Spalte Status zeigt Ihnen nun ein grüner Haken, dass Sie diese Zeile bearbeitet haben und in der Spalte JVerein Buchungsart sehen sie die zugeordnete Buchungsart.

Möchten Sie später Buchungen in Mitgliedskonten übernehmen, dann setzen Sie in den entsprechenden Buchungsarten einen Haken in der Box Für Mitgliedskonto. Speichern Sie diese Änderung mit dem Schalter Speichern.

Sie sehen nun für diese Buchungsarten in der Spalte Mitgliedskonto den Text Buchung im Mitgliedskonto möglich

Haben Sie Buchungsarten die sie nicht übernehmen möchten, z.B. mit Betrag 0 oder Buchung und Korrekturbuchung die sich gegenseitig aufheben, dann können Sie bei solchen in der Box Nicht importieren einen Haken setzen. Speichern Sie diese Änderung mit dem Schalter Speichern.

Sie sehen für diese Buchungsarten in der Spalte Status ein Schloss.

### Schritt 4 - Mitglied zuordnen

Sollen Buchungen in Mitgliedskonten importiert werden, müssen Sie die Namen der externen Buchungen den entsprechenden Mitgliedskonten in JVerein zuordnen.

Öffnen Sie die Ansicht zum Zuordnen der Mitglieder durch Drücken auf den Schalter Mitglieder zuordnen.

Es werden Ihnen alle Namen der externen Buchungen angezeigt, bei denen Sie in der Buchungsart einen Haken in Für Mitgliedskonto gesetzt hatten.

Wählen Sie einen Namen in der Liste an, wird die Auswahlbox JVerein Mitglied mit passenden Namen gefüllt.

Suchen Sie aus der Auswahlbox das Mitgliedskonto, das sie zuordnen möchten und speichern dies durch Drücken auf den Schalter Zuordnung Speichern.

Wird in der Auswahlbox der gewünschte Name nicht mit angezeigt, dann setzen Sie einen Haken in die Box alle Mitglieder anzeigen. Die Auswahlbox enthält nun alle Mitgliedsdaten.

Prüfen Sie die angezeigten Beispielbuchungen, ob diese in das Mitgliedskonto übernommen werden sollen.

### Schritt 5 - JVereins Datenbank sichern

Bis zu diesem Schritt werden die externen Buchungen nur in Tabellen für den Import gespeichert. Alle Einstellungen erfolgten in diesen Tabellen und haben keine Auswirkung auf Konten oder Buchungen in JVerein.

Mit dem nächsten Schritt ändert sich dies und deshalb ist das der richtige Zeitpunkt eine Datensicherung für JVerein durchzuführen.

Erkennen Sie dass der Import nicht das gewünschte Ergebnis brachte, wollen Sie immer zu den jetzt aktuell vorhandenen Datenbestand zurück kehren können.

### Schritt 6 - Buchungen importieren

Haben Sie alle Schritt 1 - 5 erfolgreich abgearbeitet und zeigen die angezeigten Buchungen die erwarteten Daten, dann können Sie nun die Buchungen in JVerein importieren.

Drücken Sie den Schalter Buchungen übernehmen.

Es werden die importieren Daten geprüft und die JVerein Konten geprüft.

Allen externen Buchungen muss eine Buchungsart in JVerein zugeordnet sein oder die Buchung muss für die Übernahme gesperrt sein.

Alle Dateien muss einem Konto in JVerein zugeordnet sein.

Das Konto in JVerein darf keine Buchungen enthalten, das Konto darf keinen Anfangsbestand enthalten.

Sie alle Bedingungen erfüllt werden Sie nochmals gefragt, ob die Buchungen übernommen werden sollen.

Bestätigen Sie diese Frage, startet der Import.

* Alle Buchungen werden in den zugewiesenen Konten getätigt.
* Wenn eingestellt, werden Referenzbuchungen im Mitgliedskonto durchgeführt
* Im zweiten Durchlauf wird für jedes Konto und jedes Jahr ein Anfangsbestand ermittelt und gespeichert
* Für jedes Konto und jedes "alte" Jahr werden Jahresabschlüsse gespeichert.

Diese Aktionen laufen in einer Datenbank Transaktion. Das bedeutet sie bekommen entweder alles oder nichts. Tritt beim Buchen ein Fehler auf, werden alle Änderungen zurück genommen.


# Projekte

## Einleitung

Innerhalb der Buchführung können Buchungen zu Projekten zusammengefasst werden. Siehe auch <https://jverein-forum.de/viewtopic.php?f=4&t=646>

Die Verwendung von Projekten ist dann sinnvoll, wenn die Informationen, die die normalen Auswertungen liefern, für bestimmte Fragestellungen nicht genügen. Üblicherweise werden die Buchungsklassen und die Buchungsarten darin so angelegt wie es z.B. für steuerliche Gründe sinnvoll oder gar vorgegeben ist. Buchungen, die sachinhaltlich zusammengehören, müssen dann meist aber auf verschiedene Buchungsarten verteilt werden so dass sich der Sachzusammenhang alleine aus den Salden der Buchungsklasse u.U. nicht mehr ergibt.

Indem bei einer Buchung ein Projekt hinterlegt wird, können zusammengehörige Buchungen über das Projekt ausgewertet werden.

## Einstellungen

Unter Administration|Buchführung|Projekte werden die Projekte angelegt bzw. bearbeitet.

![](/files/-LhnDa6kMkch-1xLP39s)

Mit neu kann ein neues Projekt eingerichtet werden.

![](/files/-LhnDa6mWO59cdCffIha)

## Auswertung

Informationen zu Projekten liefert die Funktion Projekt-Saldo (zu finden unter Buchführung|Projekte), Detailinformation filtert man unter Buchführung|Buchungen.

### Projekte-Saldo

In Anlehnung an die Funktion Buchungsklassen liefert die Funktion Projekt-Saldo, die über Buchführung|Projekte aufgerufen wird, die Einnahmen und Ausgaben aller Projekte gruppiert nach Buchungsarten. Auch die Salden aller Einnahmen und Ausgaben je Projekt sowie der jeweilige Projektgewinn werden ermittelt.

![](/files/-LhnDa6oylZOZ2RDy0_C)

Die Berechnung kann auf einen Datumsbereich eingegrenzt werden.

Um sich wiederholende Projekte z.B. jahresweise vergleichen zu können, kann entweder für jedes Jahr ein neues Projekt mit Jahreszahl (z.B. "St. Martin 2013", "St. Martin 2014" usw.) verwendet werden. Dann erhält man bei einem mehrjährigen Datumsbereich die einzelnen Projekte in einer Liste (wie im Beispiel des obigen Screenshots).

Alternativ kann man aber auch stets dasselbe Projekt verwenden (z.B. "St. Martin") und dann für einen Mehrjahresvergleich die Auswertung mit unterschiedlichen Datumsbereichen (je Jahr) mehrmals abrufen.

Die Tabelle kann als PDF-Datei ausgegeben werden.

### Buchungen

Die Liste aller Buchungen (Buchführung|Buchungen) kann auf ein Projekt, ggf. auch mit Datumseingrenzung, gefiltert werden. So erhält man die Liste aller Buchungen zu einen Projekt, die auch als PDF- oder CSV-Datei ausgegeben werden kann.


# Eigenschaften-Gruppen

Zur Gruppierung der Eigenschaften können Eigenschaften-Gruppen eingerichtet werden.

Den Eigenschaften-Gruppen gibt man mit, ob sie Pflichtfelder sind (es muss eine Eigenschaft dazu beim Mitglied angewählt werden) oder Kann-Felder (es kann eine Eigenschaft beim Mitglied angewählt werden). Weiterhin kann man anwählen, ob man max. eine Eigenschaft (in Verbindung mit dem Flag "Pflicht" dann genau eine) anwählen kann.

Beispiel für eine Pflichtgruppe: Ein Mitglied gehört mind. einer Abteilung des Vereins an

Beispiel einer nicht-Pflichtgrupe: Ein Mitglied gehört dem Vorstand an

Beispiel einer Eigenschaft Max. 1: Zahlungsart Abbuchung, Überweisung, Dauerauftrag, ggfs. dann in Verbindung mit dem Pflicht-Flag.

![](/files/-LhnDeSF1YyQkI0YRTpD)

![](/files/-LhnDeSI3J86EEr9ft5z)


# Eigenschaften

Jedem Mitglied können Eigenschaften zugeordnet werden. Die Eigenschaften werden unter Administration|Eigenschaften bearbeitet. Jeder Eigenschaft ist eine [Eigenschaften-Gruppe ](/allgemeine-funktionen/administration/eigenschaften-gruppen)zuzuordnen.

![](/files/-LhnDdsuXRlk6VpaiwDa)

![](/files/-LhnDdswlFyLssfkPHkp)


# Felddefinitionen

Der Benutzer kann zusätzliche Datenfelder (=Zusatzfelder) definieren. Diese erscheinen beim Mitglied unter Reiter dem "Zusatzfelder".

![](/files/-LhnDb3m47mWlPkQrMuV)

Eingerichtet werden solche Zusatzfelder unter JVerein -> Administration -> Felddefinitionen

![](/files/-LhnDb3o1KDzaZ5MwEk2)

Durch einen Klick auf neu öffnet sich folgendes Fenster:

![](/files/-LhnDb3qycIx7T0aTr2m)

Der Names des Feldes kann auch den Zeichen a-z und 0-9 und \_ (Unterstrich) bestehen. Er darf keine Leerzeichen enthalten und sich nicht mit existierenden Feldnamen überschneiden. Als Label kann ein beliebiger Begriff verwendet werden, der bei der Eingabe der Daten den Feld vorangestellt wird.

Folgende Datentypen stehen zur Verfügung:

* Zeichenkette (bis zu 1.000 Zeichen lang)
* Datum (Format TT.MM.JJJJ)
* Ganzzahl
* Ja/Nein-Wert
* Währung

Feldnamen und Label können jederzeit geändert werden. Daten gehen hierdurch nicht verloren. Bis zur Version 1.2 (einschl.) kann ein Feld kann nur gelöscht werden, wenn bei keinem Mitglied Daten in diesem Feld gespeichert sind. Ab Version 1.3 werden die Daten nach Rückfrage gelöscht.

Bei der Änderung des Datentypen ist zu beachten, dass eine Konvertierung möglich sein muss. Beispielsweise kann ein Zusatzfeld vom Typ Zeichenfolge nur dann in den Typ Datum umgewandelt werden, wenn ausschließlich Daten in der Form TT.MM.JJJJ gespeichert sind. Alle Datentypen können in Zeichenfolge umgewandelt werden.


# Formulare

In JVerein werden für [Spendenbescheinigungen](/allgemeine-funktionen/spendenbescheinigung), [Rechnungen](/allgemeine-funktionen/rechnungen), [Pre-Notification](/allgemeine-funktionen/abrech/pre-notification) und diverse Zwecke (freie Formulare) Formulare hinterlegt.

Man erstelle ein einfaches Dokument/Formular in Word, Open-/LibreOffice oder was auch immer (Dankeschönschreiben, Rundschreiben, whatsoever...) und lasse an den entsprechenden Stellen im Schreiben einfach leeren Platz (weisse unbeschriebene Stellen) als Platzhalter für die später von JVerein einzufügenden Daten.

Macht Euch hier genau Gedanken, wie Euer Formular aussehen soll und was Ihr später alles an Daten einfügen möchtet.

Bitte in der Textverarbeitungssoftware KEIN FORMULAR erstellen - nur einfach ein Dokument mit weissen/leeren Stellen als Platzhalter für später!! Das reicht.

Nun muss aus dem Dokument noch ein PDF gemacht werden. Das geht mit einem virtuellen PDF-Drucker (z.B. FreePDF XP oder PDFCreator) oder mit Adobe Acrobat (nicht mit dem Reader, der kann halt nur lesen :-) ) oder einfach in Open-/LibreOffice mit dem PDF-Export. Das fertige PDF (mit den weissen/leeren Stellen für die späteren Daten aus jVerein) hat keinerlei Funktionen eingebaut (keine Formularfelder, nur weisse/leere Stellen im Text an der richtigen Stelle).

Dann erstellt man in JVerein unter "Administration->Formulare" ein neues Formular. Dazu unten auf "neu" gehen, Bezeichnung und Art auswählen ("Art" gibt an, wann und wo dieses Formular in JVerein verfügbar sein wird).

Nun noch die gerade erstellte PDF-Datei auswählen und auf "speichern" klicken.

Nun kommt die eigentliche Arbeit:

Unter "Formulare" habt Ihr nun euer neues Formular. Bitte mit rechter Maustaste drauf klicken und aus dem Kontextmenu "Formularfelder" auswählen. Ihr kommt dann auf die Seite "Formularfelder".

Hier klickt Ihr auf "neu", um das erste einzufügende Datenfeld auszuwählen und zu positionieren: (Die spätere Reihenfolge Eurer Datenfelder ist egal! Ihr könnt auch erst hinten anfangen)

Unter "name" könnt Ihr nun aus den möglichen Datenfelder dasjenige aus der Datenbank auswählen, das eingefügt werden soll.

Dieses Datenfeld müsst Ihr nun Millimetergenau auf euer gerade eben generiertes PDF händisch setzen. der Punkt (0,0) liegt unten links auf der Seite!

Tipp: Druckt das Dokument aus und messt mit einem Lineal die Positionen aus.

speichert das Ganze.

geht mit dem grünen Pfeil rechts oben zurück zu den Formularfeldern und schaut Euch das Ergebnis Eurer Arbeit mit "anzeigen" (unten rechts) an.

Das müßt Ihr solange wiederholen, bis das Datenfeld an der richtigen Stelle eingefügt wurde.

Übrigens: Da das System noch nicht weiss, welchen Datensatz es beim Austesten nehmen soll, hat der Entwickler einen Dummy-Datensatz automatisch für das Erstellen und Testen des neuen Formulars bereitgestellt.

## Formulargröße

Für jedes Dokument kann jede beliebige Größe (DIN A4 hoch, quer, A5 oder A6 ...) haben. Die Größe wird in die neu generierten Dokumente übernommen.

## Formularfelder

Liste der Formularfelder:

![](/files/-LhnD_FwcH-SPm3ZBzdV)

Im Menü Formularfelder öffnet sich durch einen Klick auf neu bzw. mit einem Doppelklick auf ein bestehendes Formularfeld der Dialog zur Bearbeitung des Formularfelds - im zweiten Fall bereits gefüllt mit den vorhandenen Werten (siehe unten). Mit einem Rechtsklick auf ein bestehendes Formularfeld öffnet sich ein Kontextmenü, über das das Formularfeld gelöscht werden kann.

Die Definition eines Formularfeldes besteht aus dem Inhalt, der über ein vordefiniertes Feld belegt wird (Empfänger, Betrag etc.), der Startposition auf der Seite (gemessen von links und unten in Millimetern, eine Positionierung auf hundertstel Millimeter ist möglich), der Schriftart/Font (auswählbar aus einer Liste) und der Schriftgröße (Font-Höhe).

Wenn die Formularfelder definiert wurden, kann die Position in Verbindung mit dem aktuellen Formular überprüft und angepasst werden. Gehe hierzu in das Menü "Formulare", markiere das aktuell bearbeitete Formular und gehe über das Kontext-Menü (rechter Mausklick) auf "anzeigen". Prüfe das Aussehen des generierten Formulars anhand der Testdaten und korrigiere gegebenenfalls noch einmal die Positionen der Formularfelder und die Schriftgrößen bis das Gesamtbild passt.

![](/files/-LhnD_G3VL-GFhU0fW1F)

### Formularfelder für Spendenbescheinigungen

* tagesdatum: Enthält das aktuelle Datum im Format TT.MM.JJJJ
* spendenbescheinigung\_empfaenger: Zusammengesetzt aus den Empfängerzeilen der Spendenbescheinigung
* spendenbescheinigung\_datum: Datum der Spendenbescheinigung. Dieses Datum wird verwendet, um zwischen den Formularen zu unterscheiden:
  * Bis 31.12.2012 altes Formular
  * Ab 01.01.2013 neues Formular
* spendenbescheinigung\_betrag: Betrag aus der Spendenbescheinigung
* spendenbescheinigung\_betraginworten: Betrag aus der Spendenbescheinigung in Worten.
* spendenbescheinigung\_spendenart: Art aus der Spendenbescheinigung (Geldspende, Sachspende)
* spendenbescheinigung\_spendedatum: Datum der Spende (Einzelspendenbescheinigung) oder Festtext: "s. Anlage" (Sammelspendenbescheinigung)
* spendenbescheinigung\_spendenzeitraum: Zeitraum der Spenden (Sammelspendenbescheinigung) "\<Datum der ersten Buchung> bis \<Datum der letzten Buchung>". Hinweis: ab 2013 muss dieser Zeitraum auf der ersten Seite angegeben werden!
* spendenbescheinigung\_ersatzaufwendungen: Kennzeichen, ob es sich auf einen "Verzicht auf Erstattung von Aufwendungen" handelt
  * Bis 31.12.2012: "X", wenn das Häkchen gesetzt ist.
  * Ab 01.01.2013: "Ja", wenn das Häkchen gesetzt ist, sonst "Nein".
* spendenbescheinigung\_buchungsliste: Für Sammelbestätigungen die aufbereitete Liste der Buchungen, die bescheinigt werden.
  * Bis 31.12.2012: alte Variante, Liste mit folgenden Spalten:
    * Datum Betrag Verwendung
    * Summenzeile
    * Legende, ob es sich um einen Verzicht auf Erstattung von Aufwendungen handelt.
  * Ab 01.01.2013: den Vorgaben entsprechende neue Liste:
    * "Datum der Zuwendung" "Art der Zuwendung" "Verzicht auf die Erstattung..." Betrag
    * Summenzeile
    * In den Spalten "Verwendung" und "Art der Zuwendung" wird in Abhängigkeit von der Einstellungen "Spendenbescheinigung / Buchungsart drucken" entweder der Name der Buchungsart oder der Zweck aus der Buchung verwendet.
* spendenbescheinigung\_bezeichnungsachzuwendung: Bezeichung des Gegenstandes aus der Spendenbescheinigung
* spendenbescheinigung\_herkunftsachzuwendung:
  * Bis 31.12.2012: Herkunft des Gegenstandes aus der Spendenbescheinigung (keine Angaben, Privatvermögen, Betriebsvermögen)
  * Ab 01.01.2013: Herkunft des Gegenstandes aus der Spendenbescheinigung, Festtexte:
    * bei keine Angaben: "Der Zuwendende hat trotz Aufforderung keine Angaben zur Herkunft der Sachzuwendung gemacht."
    * bei Privatvermögen: "Die Sachzuwendung stammt nach den Angaben des Zuwendenden aus dem Privatvermögen."
    * bei Betriebsvermögen: "Die Sachzuwendung stammt nach den Angaben des Zuwendenden aus dem Betriebsvermögen und ist
    * mit dem Entnahmewert (ggf. mit dem niedrigeren gemeinen Wert) bewertet."
* spendenbescheinigung\_unterlagenwertermittlung: Wenn das Kennzeichen in der Spendenbescheinigung gesetzt ist, der Festtext: "Geeignete Unterlagen, die zur Wertermittlung gedient haben, z. B. Rechnung, Gutachten, liegen vor."

### Formularfelder für Rechnungen

Folgende Formularfelder stehen für Rechnungen zur Verfügung:

* tagesdatum: Enthält das aktuelle Datum im Format TT.MM.JJJJ
* Empfänger: Empfänger der Rechnung. Formatiert für ein Adressfeld
* Zahlungsgrund: Multipel. Es können mehrere Positionen für ein Mitglied in Rechnung gestellt werden. Zur korrekten Darstellung ist "Zahlungsgrund" zu verwenden.
* Zahlungsgrund1:    Sollte ab Version 1.4 nicht mehr verwendet werden
* Zahlungsgrund2:    Sollte ab Version 1.4 nicht mehr verwendet werden.
* Buchungsdatum:    Multipel
* Betrag: Multipel
* sowie alle Felder des Mitgliedsdatensatzes

### Formularfelder für SEPA-PreNotification

Folgende Formularfelder stehen für die PreNotification zur Verfügung:

* tagesdatum:    Enthält das aktuelle Datum im Format TT.MM.JJJJ
* lastschrift\_empfaenger: Empfänger der PreNotification (=Kontoinhaber), formatiert für ein Adressfeld.
* lastschrift\_verwendungszweck: Der Verwendungszweck wie per SEPA ausgegeben.
* lastschrift\_mandatid:    Die Mandatsreferenz
* lastschrift\_mandatdatum: Datum des SEPA-Lastschrift-Mandats
* lastschrift\_bic: Der BIC.
* lastschrift\_iban: Die IBAN
* lastschrift\_betrag: Der Abbuchungsbetrag
* lastschrift\_abrechnungslauf\_nr: Datum des Abrechnungslaufs.
* lastschrift\_abrechnungslauf\_datum: Datum des Abrechnungslaufs.
* lastschrift\_abrechnungslauf\_faelligkeit: Das Buchungsdatum der Lastschrift.
* sowie alle Felder des Zahlungspflichtigen (=Kontoinhaber) aus dem Mitgliedsdatensatz mit jeweils vorangestellten lastschrift\_...

## Beispiele

![](/files/-LhnD_G6qFfY7Pwp85sE)

![](/files/-LhnD_G8Gl8LeKcpJsLQ)

## Freie Formulare

Freie Formulare haben keinen speziellen Zweck und können mit den verfügbaren Variablen belegt werden. Zuerst wird mit einem beliebigen Programm eine Vorlage erstellt im Format .pdf. Die zu füllenden Bereiche werden frei gelassen. Im Bereich Administration/Formulare. Mit "neu" wird ein neues Formular eingepflegt und in der Datenbank verankert. Nachträgliche Änderungen an der Datei haben damit keine Auswirkungen, solange die Datei nicht neu in jVerein eingepflegt wird. In der Liste der Formulare wird das neu angelegte Formular angezeigt. Mit Rechtsklick auf den Eintrag kann man anwählen, ob man Formularfelder auswählen und platzieren will, die Datei mit Dummydaten anzeigen, duplizieren oder löschen will. Um das noch leere Formular mit Feldern zu füllen wählen wir "Formularfelder". Mit "neu" können nun Felder eingefügt werden. Die Variablen werden aus einer Liste ausgewählt und dann durch Abstand zum linken und unteren Seitenrand platziert. Schriftgröße und -art sind wählbar. Mit "anzeigen" kann die korrekte Platzierung geprüft werden. Es werden Dummy-Daten angezeigt.

Die Ausgabe mit echten Daten erfolgt aus der Mitgliederliste. Man filtert geeignet und markiert alle Zeilen, mit dessen Daten das Formular gefüllt werden soll. Ein Rechtsklick mit Auswahl des Formulars erzeugt dann eine PDF-Datei mit entsprechend vielen Seiten.


# Diagnosebackup

Zu Diagnosezwecken oder zur Migration der Daten in ein anderes Datenbanksystem gibt es einen Export der Datenbank ins XML-Format und einen Import aus dem XML-Format.

Wichtig! Das Diagnosebackup ist nicht für den Transfer zwischen verschiedenen Installationen gedacht. Es ist auch kein Backup zur Wiederherstellung der Datenbank.

## Diagnosebackup erstellen

Im Menü unter JVerein|Administration|Erweitert kann das Backup erstellt werden. Es erscheint ein Datei-Speichern-Dialog. Danach wird die Datenbank exportiert.

## Diagnosebackup importieren

Im Menü unter Plugins|JVerein|Erweitert kann das Backup importiert werden. Es erscheint ein Datei-Auswahl-Dialog. Danach wird die Datenbank importiert.


# Import

## Der Import

Zur Zeit ist der Import von Daten über das durch das Programm SPG-Verein (Sparkasse) vorgegebene CSV-Format realisiert. Diese Datenstruktur kann auch von anderen Programmen (auch Excel, LibreOffice und Co.) erzeugt werden (wird weiter unten beschrieben).

Einige zusätzliche Datenfelder können importiert werden. Der Dateiname muss eine Endung haben. Z.b..csv oder .txt. Der Dateiname darf keine Leerstellen enthalten. Es kann jede beliebige Endung verwendet werden. Die Daten werden in SPG-Verein unter Extras - Daten exportieren mit folgenden Parametern ausgegeben:

* Vorlage: Winword
* Dateiendung: .doc
* Feldseparator: ;=Strichpunkt/Semikolon
* Feldeinrahmung: keine
* Zeichensatz: ISO-8859-1
* Feldnamen: Ankreuzen

Als Feldtrennzeichen wird das Semikolon verwendet. Jede Zeile muss die gleiche Anzahl Semikola enthalten. Die Datei darf keine Anführungszeichen enthalten. Bei jedem Mitglied müssen die Spalten Beitragsart 1 und Beitrag 1 gefüllt sein.

Jede Datei enthält eine Kopfzeile und pro Mitglied eine Zeile. Beim Import werden sowohl die Beitragsgruppen-Tabelle als auch die Mitgliedertabelle aufgebaut. Ein erneuter Import löscht die vorhandenen Daten nach einer entsprechenden Warnung.

Sofern vor dem Import Zusatzfelder definiert wurden, können diese auch importiert werden. Die Datenfelder sind entsprechend der Bezeichnung in der Felddefinition in die Datei einzustellen.

Die Eingabedatei muss ISO-8859-1-codiert sein.

![](/files/-LhnDaU-TecCqd1DItxL)

Vor jedem Import sollten Sie sich im klaren sein, welche Einstellungen sie vorgenommen haben. Z.B. wenn sie Eintrittsdatum als Pflichtfeld definieren, dann muss für jedes Mitglied das Eintrittsdatum auch definiert sein. Außerdem sollten sie die, in der Tabelle definierte, maximale Länge, die jeder Eintrag haben darf, berücksichtigen. Wenn Sie dann noch die unterstützten Formate berücksichtigen sollte einem Import nicht mehr viel im Weg stehen.

Das Augenscheinlichste, was sich am Importer verändert hat, ist die Oberfläche; diese ist nun zweigeteilt. Auf der linken Seite befindet sich eine Tabelle mit allen nötigen ( rot hinterlegt ) und allen optionalen Spalten. Auf der rechten Seite erscheinen nach der Auswahl der zu importierenden Datei die in dieser definierten Spaltennamen. Nach dem Öffnen werden automatisch die Spalten zugeordnet, die den gleichen Namen besitzen, wobei die Groß/Kleinschreibung ignoriert wird. Falls Sie Zusatzfelder definiert haben, so werden diese ebenfalls angezeigt. Wenn es Eigenschaftsfelder in der Importdatei gibt werden diese nach dem Öffnen ebenfalls direkt anzeigt und einander zugeordnet. Die restlichen Felder müssen sie dann mittels Drag & Drop den enstprechenden Spalten zuweisen. Sollte eine Zuweisung falsch sein, so können sie diese wieder leicht mit der Entf-Taste löschen.

Es gibt nicht nur sichtbare Änderungen sondern ein paar auch unter der Haube. Deshalb hat sich die Tabelle ein wenig geändert, vor allem die möglichen Formatierungen wurden erweitert. Falls Ihre Einträge in Einführungstrichen eingefasst ist z.B. "Name", dann werden diese automatisch entfernt.

## Importfelder

| Spalte                  | Inhalt                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | Max. Länge | Spalte muss existieren | Leere Spalte erlaubt                         | MySQL                                                                                                                                                                                                                 |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------: | ---------------------- | -------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Mitglieds\_Nr           | Mitgliedsnummer, muss eine eindeutige ID sein, ansonsten kommt es zu einem Fehler. Wird bei der Verwendung von externen Mitgliedsnummern auch in die entsprechende Spalte eingetragen.                                                                                                                                                                                                                                                                                                                                                                                                                                                      |            | ja                     | nein                                         | \`id\` bigint(20) NOT NULL AUTO\_INCREMENT, \`externemitgliedsnummer\` varchar(50) DEFAULT NULL, PRIMARY KEY (\`id\`), UNIQUE KEY \`id\` (\`id\`), UNIQUE KEY \`externemitgliedsnummer\` (\`externemitgliedsnummer\`) |
| Personenart             | n = natürliche Person, j = juristische Person (Firma, Organisation, Behörde). Wenn die Spalte Personenart nicht in der Importdatei existiert, wird defaultmäßig 'n' übernommen.                                                                                                                                                                                                                                                                                                                                                                                                                                                             |          1 | nein                   | ja                                           | char(1) DEFAULT NULL                                                                                                                                                                                                  |
| Anrede                  | Herrn / Frau                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |         40 | ja                     | ja                                           | varchar(40) DEFAULT NULL                                                                                                                                                                                              |
| Titel                   | Dr. ....                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |         40 | ja                     | ja                                           | varchar(40) DEFAULT NULL                                                                                                                                                                                              |
| Nachname                | Nachname, wenn Personenart = j, dann Firmenname Zeile 1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |         40 | ja                     | nein                                         | \`name\` varchar(40) NOT NULL                                                                                                                                                                                         |
| Vorname                 | Vorname, wenn Personenart = j, dann Firmenname Zeile 2                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |         40 | ja                     | nein                                         | varchar(40) DEFAULT NULL                                                                                                                                                                                              |
| Adressierungszusatz     | Adressierungszusatz                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |         40 | nein                   | ja                                           | varchar(40) DEFAULT NULL                                                                                                                                                                                              |
| Strasse                 | Straßenname inkl. Hausnummer                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |         40 | ja                     | nein                                         | varchar(40) NOT NULL                                                                                                                                                                                                  |
| Plz                     | Postleitzahl                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |         10 | ja                     | nein                                         | varchar(10) NOT NULL                                                                                                                                                                                                  |
| Ort                     | Ort                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |         40 | ja                     | nein                                         | varchar(40) NOT NULL                                                                                                                                                                                                  |
| Staat                   | Staat bei Auslandsanschriften                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |         50 | nein                   | ja                                           | varchar(50) DEFAULT NULL                                                                                                                                                                                              |
| Geburtsdatum            | Format TT.MM.JJJJ oder TT.MM.JJ oder TT/MM/JJJJ oder TT/MM/JJJJ. Bei JJ wird funktioniert fuer alle Mitglieder jünger hundert richtig, für älter Menschen muss es angepasst werden. Eine Warnung wird ausgegeben.                                                                                                                                                                                                                                                                                                                                                                                                                           |         10 | ja                     | in Abhängigkeit von den Einstellungen        | date DEFAULT NULL                                                                                                                                                                                                     |
| Sterbetag               | Sterbetag, Austritt sollte auch definiert sein, ansonsten wird das Sterbedatum als Austrittsdatum angenommen. Unterstützte Formate siehe Geburtsdtatum                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |         10 | ja                     | ja                                           | date DEFAULT NULL                                                                                                                                                                                                     |
| Geschlecht              | muss mit einem kleinen oder großen m, w oder o beginnen z.B. gültig: Weiblich, männlich, ohne Angabe, M, w, o. Ist diese Spalte bei einem Mitglied leer so wird man bei der nächsten Bearbeitung des Mitglieds in JVerein aufgefordert das Geschlecht nachzutragen. Möchte man dies vermeiden, sollte man vor dem Import leere Daten in dieser Spalte mit bspw. o belegen.                                                                                                                                                                                                                                                                  |          1 | ja                     | ja                                           | char(1) DEFAULT NULL                                                                                                                                                                                                  |
| BIC                     | BIC                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |         11 | ja                     | Wenn Zahlungsart Lastschrift: nein, sonst ja | varchar(11) DEFAULT NULL                                                                                                                                                                                              |
| IBAN                    | IBAN                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |         35 | ja                     | Wenn Zahlungsart Lastschrift: nein, sonst ja | varchar(34) DEFAULT NULL                                                                                                                                                                                              |
| Mandat\_Datum           | Datum des Mandates TT.MM.JJJJ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |            | ja                     |                                              | date DEFAULT NULL                                                                                                                                                                                                     |
| Zahlungsart             | l (Kleinbuchstabe L) oder Lastschrift oder Abbuchung oder Bankeinzug für Lastschrift, b oder bar für Barzahlung u oder ueberweisung für Überweisung                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |          1 | ja                     | ja                                           | 1 SEPA, 2 Überweisung, 3 Bar, \`zahlungsweg\` int(11) DEFAULT NULL                                                                                                                                                    |
| Zahlungsrhytmus         | 1 monatlich, 3 vierteljährlich, 6 halbjährlich, 12 jährlich, wenn keine Angabe erfolgt, wird jährlich angenommen.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |          2 | nein                   | ja                                           | int(11) DEFAULT NULL                                                                                                                                                                                                  |
| Zahlungstermin          | 1 = Monatlich, 31 = Vierteljährlich (Jan./Apr./Juli/Okt,), 32 = Vierteljährlich (Feb./Mai /Aug./Nov.), 33 = Vierteljährlich (März/Juni/Sep./Dez.), 61 = Halbjährlich (Jan./Juli), 62 = Halbjährlich (Feb./Aug.), 63 = Halbjährlich (März/Sep.), 64 = Halbjährlich (Apr./Okt.), 65 = Halbjährlich (Mai /Nov.), 66 = Halbjährlich (Juni/Dez.), 1201 = Jährlich (Jan.), 1202 = Jährlich (Feb.), 1203 = Jährlich (März), 1204 = Jährlich (Apr.), 1205 = Jährlich (Mai ), 1206 = Jährlich (Juni), 1207 = Jährlich (Juli), 1208 = Jährlich (Aug.), 1209 = Jährlich (Sep.), 1210 = Jährlich (Okt.), 1211 = Jährlich (Nov.), 1212 = Jährlich (Dez.) |        1-4 | nein                   | ja                                           | int(11) DEFAULT NULL                                                                                                                                                                                                  |
| KtoiPersonenart         | Personenart des abweichenden Kontoinhabers, n = natürliche Person, j = juristische Person                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |          1 | nein                   | nein                                         |                                                                                                                                                                                                                       |
| KtoiAnrede              | Anrede des abweichenden Kontoinhabers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |         10 | nein                   | nein                                         |                                                                                                                                                                                                                       |
| KtoiTite                | Titel des abweichenden Kontoinhabers (Dr. o. ä.)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |         10 | nein                   | nein                                         |                                                                                                                                                                                                                       |
| KtoiName                | Name des abweichenden Kontoinhabers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |         40 | nein                   | nein                                         |                                                                                                                                                                                                                       |
| KtoiVorname             | Vorname des abweichenden Kontoinhabers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |         40 | nein                   | nein                                         |                                                                                                                                                                                                                       |
| KtoiStrasse             | Straße des abweichenden Kontoinhabers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |         40 | nein                   | nein                                         |                                                                                                                                                                                                                       |
| KtoiAdressierungszusatz | Adressierungszusatz des abweichenden Kontoinhabers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |         40 | nein                   | nein                                         |                                                                                                                                                                                                                       |
| KtoiPlz                 | Postleitzahl des abweichenden Kontoinhabers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |         10 | nein                   | nein                                         |                                                                                                                                                                                                                       |
| KtoiOrt                 | Ort des abweichenden Kontoinhabers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |         40 | nein                   | nein                                         |                                                                                                                                                                                                                       |
| KtoiStaat               | Staat des abweichenden Kontoinhabers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |         40 | nein                   | nein                                         |                                                                                                                                                                                                                       |
| KtoiEMail               | EMail-Adresse des abweichenden Kontoinhabers                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |         50 | nein                   | nein                                         |                                                                                                                                                                                                                       |
| Telefon\_privat         | private Telefonnummer                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |         20 | ja                     | ja                                           |                                                                                                                                                                                                                       |
| Telefon\_dienstlich     | dienstliche / geschäftliche Telefonnummer                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |         20 | ja                     | ja                                           |                                                                                                                                                                                                                       |
| Handy                   | Mobile Telefonnummer                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |         20 | nein                   | ja                                           |                                                                                                                                                                                                                       |
| Email                   | EMail-Adresse                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |         50 | ja                     | ja                                           |                                                                                                                                                                                                                       |
| Eintritt                | Eintrittsdatum, unterstützte Formate siehe Geburtsdatum                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |         10 | ja                     | in Abhängigkeit von den Einstellungen        |                                                                                                                                                                                                                       |
| Beitragsart\_1          | Bezeichnung der Beitragsart. Z. B. Jugendliche, Erwachsene, Familien ...                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |         30 | ja                     | nein                                         |                                                                                                                                                                                                                       |
| Beitrag\_1              | Höhe des Beitrages in Euro (Format xxx,xx)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |            | ja                     | nein                                         |                                                                                                                                                                                                                       |
| individuellerbeitrag    | Höhe des individuellen Beitrages in Euro (Format xxx,xx).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |            | nein                   | ja                                           |                                                                                                                                                                                                                       |
| Austritt                | Datum des Austritts, je nach Vereinssatzung ist die Kündigung erst zum Jahresende wirksam. Hier wird das Wirksamwerden der Kündigung vermerkt. Unterstützte Formate siehe Geburtsdatum.                                                                                                                                                                                                                                                                                                                                                                                                                                                     |         10 | ja                     | ja                                           |                                                                                                                                                                                                                       |
| Kuendigung              | Datum der Kündigung. Unterstützte Formate siehe Geburtsdatum                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |         10 | ja                     | ja                                           |                                                                                                                                                                                                                       |
| Vermerk1                | 1. Vermerk                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |        255 | nein                   | ja                                           |                                                                                                                                                                                                                       |
| Vermerk2                | 2. Vermerk                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |        255 | nein                   | ja                                           |                                                                                                                                                                                                                       |
| Eigenschaft\_xxxxx      | Eigenschaft eines Mitglieds. Diese Spalte kann mehrfach vorkommen. Anstatt von xxxxx wird die Eigenschaftengruppe eingetragen. Die importieren Eigenschaften dieser Gruppe zugeordnet.                                                                                                                                                                                                                                                                                                                                                                                                                                                      |         30 | nein                   |                                              |                                                                                                                                                                                                                       |

## Beispieldatei

### **Mit den Pflichtfeldern**

```
Mitglieds_Nr;Anrede;Titel;Nachname;Vorname;Straße;Plz;Ort;Geburtsdatum;Geschlecht;BIC;IBAN;Bankleitzahl;Kontonummer;Mandat_Datum;Zahlungsart;Telefon_privat;Telefon_dienstlich;Email;Eintritt;Beitragsart_1;Beitrag_1;Austritt;Kündigung
22;Herrn;Dr.;Meier;Hans;Ackerstr.1;12345;Testenhausen;22.02.1970;m;MARKDEFF;DE68210501700012345678;12345678;12345;01.01.2000;l;01234-56789;;hans.meier@web.de;01.01.2000;Erwachsene;22,00;;;
```

### Mit allen Feldern (außer Eigenschaften)

```
Mitglieds_Nr;Personenart;Anrede;Titel;Nachname;Vorname;Adressierungszusatz;Straße;Plz;Ort;Staat;Geburtsdatum;Sterbetag;Geschlecht;BIC;IBAN;Bankleitzahl;Kontonummer;Mandat_Datum;Mandat_Sequence;Mandat_Version;Zahlungsart;Zahlungsrhytmus;Zahlungstermin;KtoiPersonenart;KtoiAnrede;KtoiTitel;KtoiName;KtoiVorname;KtoiStrasse;KtoiAdressierungszusatz;KtoiPlz;KtoiOrt;KtoiStaat;KtoiEMail;Telefon_privat;Telefon_dienstlich;Handy;Email;Eintritt;Beitragsart_1;Beitrag_1;individuellerbeitrag;Austritt;Kündigung;Vermerk1;Vermerk2
22;Herrn;n;Dr.;Meier;Hans;;Ackerstr.1;12345;Testenhausen;Deutschland;22.02.1970;;m;MARKDEFF;DE68210501700012345678;12345678;12345;01.01.2000;1;l;12;1201;;;;;;;;;;;;01234-56789;;0170-1234567890;hans.meier@web.de;01.01.2000;Erwachsene;22,00;44,00;;;;
```

## Vorbereiten einer Mitgliederdatei in Office

n LibreOffice/OpenOffice/Excel müssen in der ersten Zeile die Feld- bzw- Spaltenbezeichnungen stehen und zwar genau in der oben angegebenen Schreibweise. Auf jeden Fall müssen Spalten für alle Pflichtfelder angelegt werden. Es können aber auch für alle Felder Spalten vorhanden sein, die dann leer bleiben.

![](/files/-LhnDaU9jy-PjW6Rvsq8)

Standardmäßig müssen "Geburtsdatum" und "Eintritt" (Eintrittsdatum) angegeben werden. Unter "Administration" -> "Einstellungen" -> "Anzeige" kann dies vorab geändert werden. Speichern nicht vergessen.

![](/files/-LhnDaUB-atWDNB2kP8B)

In der Spalte "Beitragsart\_1" muss die Bezeichnung einer vorhandenen Beitragsgruppe eingetragen werden. Man kann sie unter "Administration" -> "Einstellungen" -> "Beitragsguppen" nachschauen oder eine neue anlegen.

![](/files/-LhnDaUDG0odnv00jRbR)

Gültige Werte für die Spalte "Zahlungsart" sind b für bar, u für Überweisung oder l für Lastschrift oder Abbuchung oder Bankeinzug. b,u oder l müssen klein geschrieben sein. Wenn l angegeben wird muss auch die IBAN angegeben werden. Ein Feld kann auch leer bleiben, dann wird vom Programm "Barzahlung" angenommen. Keins der Felder darf einen Zeilenumbruch beinhalten. Dies führt zu einer nicht importierbaren CSV Datei.

Beim speichern als CSV Datei (Comma Seperated Values) muss man zumindest in LibreOffice einen Haken bei "Edit filter settings" machen, um weitere Einstellungen vornehmen zu können.

![](/files/-LhnDaUFwd5euBU25x2k)

Die Einstellungen sind wie folgt:

![](/files/-LhnDaUHt7N3n6zSETkH)

## Anfängerfehler beim Importieren

Nach dem ausführlichen Testen von JVerein ist man gewillt, seine Stammdaten in die Software zu importieren. Dies kann sich unter Umständen als sehr schwierig erweisen. Je nach Aufwand, den man beim Testen betrieben hat, existieren in der Datenbank Verknüpfungen, die nicht automatisch gelöscht werden können. Dies betrifft unter anderem Beispielmitglieder und einen virtueller Buchungslauf. Der Buchungslauf blockiert das Überschreiben der Mitgliederdaten und führt damit zu Fehlern beim Importieren.

Im Idealfall baut man einen ganz neuen Ordner (Datenbankordner) für den produktiven Einsatz. Damit erledigen sich auch Fragen nach "Rücksetzen" der Buchungsnummern nach mehreren Testläufen.

## Formatierung von Beträgen

Beträge können entweder als Ganzzahl oder mit Euro und Cent getrennt durch ein Komma angegeben werden. Wichtig ist, dass die Daten in der CSV-Datei ohne führende oder angehängte Leerzeichen geschrieben werden. Es wurde von Problemen mit Excel berichtet.


# Adresstypen

Unter Administration|Einstellungen|Ansicht ist die Option 'zusätzliche Adressen' zu aktivieren

Neben den Mitgliedern können diverse Adressen gespeichert werden. Die Adressen werden kategorisiert. Vorgegeben ist der Adresstyp 'Spender/in'. Weitere Adresstypen können hier eingerichtet werden.

![](/files/-LhnDaYJkURMBPNblGGY)

![](/files/-LhnDaYLWmjRlm6YBWg2)


# Lesefelder

Lesefelder sind virtuelle Datenbank-Felder. Sie werden mit Hilfe eines Scriptes berechnet und sind daher nur lesbar (-> Lesefelder ). Jedes Lesefeld besteht aus einer Bezeichnung und Skript-Code.

Lesefeld-Namen können frei, aber eindeutig gewählt werden. Intern wird `mitglied_lesefelder_` vorne angefügt. Um z.B. beim Schreiben einer E-Mail auf Lesefeld Anrede zuzugreifen, muss `${mitglied_lesefelder_Anrede}` eingegeben werden.

Der Inhalt von Lesefeldern wird durch <http://www.beanshell.org/>-Skripte beschrieben. Damit ist es möglich sehr komplexe Skripte in Java zu erstellen.

Jedes Skript muss als Rückgabe-Wert einen String zurückliefern.

## Lesefelder nutzen

Zunächst muss die Lesefelder-Funktion aktiviert werden. Administration | Einstellungen | Anzeige | Lesefelder anzeigen.![](/files/-LhnD_hF-Ig8lBoqVUWU)

Beim nächsten Start von Jameica erscheint unter Administration die neue Option Lesefelder. Außerdem wird sofort auf der Mitglieder-Details-Seite ein neuer Tab Lesefelder angezeigt. Über den Bearbeiten-Knopf erhält man die Möglichkeit neue Lesefelder anzulegen und vorhandene zu editieren bzw. zu löschen.

Die Skripts für Lesefelder werden in Java geschrieben. Genauere Informationen über und Möglichkeiten mit dem Beanshell-Interpreter, ist auf [www.beanshell.org](http://www.beanshell.org) verfügbar. Nachfolgend ein paar Beispiele.

Die Lesefelder können als Formularfelder verwendet werden.

## Beispielscripte

### Statisch - Für jedes Mitglied identisch

```
"Dieser Text ist für jedes Mitglied identisch."
```

### Als Funktion - VorKommaNachname

```
String f()
{
  return mitglied_vorname + ", " + mitglied_name;
};
return f();
```

### Anrede - Liebe, Lieber, Hallo

```
String r = "";
if(mitglied_geschlecht.equals("w"))
  r = "Liebe " + mitglied_vorname;
else if(mitglied_geschlecht.equals("m"))
  r = "Lieber " + mitglied_vorname;
else
  r = "Hallo " + mitglied_vorname;
r += ",";
return r;
```

### Anrede - Wie oben + "liebe Eltern" bei nicht volljährigen Mitgliedern

```
import java.text.DateFormat;
import java.text.SimpleDateFormat;

public int getAlter()
{
    int age = -1;
    DateFormat formatter = new SimpleDateFormat("dd.MM.yy");
    Date date = formatter.parse(mitglied_geburtsdatum);
    Calendar dob = Calendar.getInstance();  
    dob.setTime(date);  
    Calendar today = Calendar.getInstance();  
    age = today.get(Calendar.YEAR) - dob.get(Calendar.YEAR);  
    if (today.get(Calendar.DAY_OF_YEAR) < dob.get(Calendar.DAY_OF_YEAR)) age--;
    return age;
}

String r = "";
try
{

if(mitglied_geschlecht.equals("w"))
  r = "Liebe " + mitglied_vorname;
else if(mitglied_geschlecht.equals("m"))
  r = "Lieber " + mitglied_vorname;
else
  r = "Hallo " + mitglied_vorname;

if(getAlter()<18)
  r += ", liebe Eltern";

r += ",";

}
catch (Exception e)
{
  r = e.getMessage();
}

return r;
```

### 14-Tage-Frist / Bitte um Rückmeldung bis...

```
import java.text.SimpleDateFormat;
import java.text.DateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;

Calendar calendar = new GregorianCalendar();
calendar.add(Calendar.DAY_OF_YEAR, 14);
DateFormat dateFormat = new SimpleDateFormat("dd. MMMM yyyy");
return dateFormat.format(calendar.getTime());
```


# Lehrgänge

Zur Nutzung der Lehrgänge ist die Option in den Einstellungen (Administration | Einstellungen) zu aktivieren.

## Lehrgangsarten

### Übersicht über die Lehrgangsarten

![](/files/-LhnDd5zON28507Az8_u)

### Lehrgangsart neu anlegen oder bearbeiten

![](/files/-LhnDd61G7hKMixxxIJW)

Die Bezeichnung des Lehrgangs muss ausgefüllt werden. Die restlichen Daten können leer gelassen werden. Diese Daten sind dann einzugeben, wenn beim Mitglied der Lehrgang angelegt wird.

## Lehrgangsübersicht beim Mitglied

![](/files/-LhnDd63fWuANRbMNscf)

## Lehrgang beim Mitglied anlegen

![](/files/-LhnDd65w16Y2lMOpac7)


# Spende

Wer die Weiterentwicklung von JVerein mit finanziellen Mitteln unterstützen will, ist herzlich eingeladen dies zu tun. Dafür steht das Konto mit der IBAN DE15200411110569153000 (BIC COBADEHDXXX) zur Verfügung. Bei Nutzung von Hibiscus gibt es in JVerein auch den Menüpunkt Administration | Spende für JVerein.

Das Geld wird u. a. für den Betrieb der Web-Site benötigt. Falls mal ein größerer Betrag zusammenkommt, wird ggfls. auch in Hardware für Linux und MacOS investiert.

Vielen Dank im Voraus.


# Sonstiges

JVerein steht unter der GPL V3:

```
                    GNU GENERAL PUBLIC LICENSE
```

```
                       Version 3, 29 June 2007

 Copyright (C) 2007 Free Software Foundation, Inc. 
<
http://fsf.org/
>

 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

                            Preamble

  The GNU General Public License is a free, copyleft license for
software and other kinds of works.

  The licenses for most software and other practical works are designed
to take away your freedom to share and change the works.  By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users.  We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors.  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.

  To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights.  Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received.  You must make sure that they, too, receive
or can get the source code.  And you must show them these terms so they
know their rights.

  Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.

  For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software.  For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.

  Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so.  This is fundamentally incompatible with the aim of
protecting users' freedom to change the software.  The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable.  Therefore, we
have designed this version of the GPL to prohibit the practice for those
products.  If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.

  Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary.  To prevent this, the GPL assures that
patents cannot be used to render the program non-free.

  The precise terms and conditions for copying, distribution and
modification follow.

                       TERMS AND CONDITIONS

  0. Definitions.

  "This License" refers to version 3 of the GNU General Public License.

  "Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.

  "The Program" refers to any copyrightable work licensed under this
License.  Each licensee is addressed as "you".  "Licensees" and
"recipients" may be individuals or organizations.

  To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy.  The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.

  A "covered work" means either the unmodified Program or a work based
on the Program.

  To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy.  Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.

  To "convey" a work means any kind of propagation that enables other
parties to make or receive copies.  Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.

  An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License.  If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.

  1. Source Code.

  The "source code" for a work means the preferred form of the work
for making modifications to it.  "Object code" means any non-source
form of a work.

  A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.

  The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form.  A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.

  The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities.  However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work.  For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.

  The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.

  The Corresponding Source for a work in source code form is that
same work.

  2. Basic Permissions.

  All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met.  This License explicitly affirms your unlimited
permission to run the unmodified Program.  The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work.  This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.

  You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force.  You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright.  Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.

  Conveying under any other circumstances is permitted solely under
the conditions stated below.  Sublicensing is not allowed; section 10
makes it unnecessary.

  3. Protecting Users' Legal Rights From Anti-Circumvention Law.

  No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.

  When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.

  4. Conveying Verbatim Copies.

  You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.

  You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.

  5. Conveying Modified Source Versions.

  You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:

    a) The work must carry prominent notices stating that you modified
    it, and giving a relevant date.

    b) The work must carry prominent notices stating that it is
    released under this License and any conditions added under section
    7.  This requirement modifies the requirement in section 4 to
    "keep intact all notices".

    c) You must license the entire work, as a whole, under this
    License to anyone who comes into possession of a copy.  This
    License will therefore apply, along with any applicable section 7
    additional terms, to the whole of the work, and all its parts,
    regardless of how they are packaged.  This License gives no
    permission to license the work in any other way, but it does not
    invalidate such permission if you have separately received it.

    d) If the work has interactive user interfaces, each must display
    Appropriate Legal Notices; however, if the Program has interactive
    interfaces that do not display Appropriate Legal Notices, your
    work need not make them do so.

  A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit.  Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.

  6. Conveying Non-Source Forms.

  You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:

    a) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by the
    Corresponding Source fixed on a durable physical medium
    customarily used for software interchange.

    b) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by a
    written offer, valid for at least three years and valid for as
    long as you offer spare parts or customer support for that product
    model, to give anyone who possesses the object code either (1) a
    copy of the Corresponding Source for all the software in the
    product that is covered by this License, on a durable physical
    medium customarily used for software interchange, for a price no
    more than your reasonable cost of physically performing this
    conveying of source, or (2) access to copy the
    Corresponding Source from a network server at no charge.

    c) Convey individual copies of the object code with a copy of the
    written offer to provide the Corresponding Source.  This
    alternative is allowed only occasionally and noncommercially, and
    only if you received the object code with such an offer, in accord
    with subsection 6b.

    d) Convey the object code by offering access from a designated
    place (gratis or for a charge), and offer equivalent access to the
    Corresponding Source in the same way through the same place at no
    further charge.  You need not require recipients to copy the
    Corresponding Source along with the object code.  If the place to
    copy the object code is a network server, the Corresponding Source
    may be on a different server (operated by you or a third party)
    that supports equivalent copying facilities, provided you maintain
    clear directions next to the object code saying where to find the
    Corresponding Source.  Regardless of what server hosts the
    Corresponding Source, you remain obligated to ensure that it is
    available for as long as needed to satisfy these requirements.

    e) Convey the object code using peer-to-peer transmission, provided
    you inform other peers where the object code and Corresponding
    Source of the work are being offered to the general public at no
    charge under subsection 6d.

  A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.

  A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling.  In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage.  For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product.  A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.

  "Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source.  The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.

  If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information.  But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).

  The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed.  Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.

  Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.

  7. Additional Terms.

  "Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law.  If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.

  When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it.  (Additional permissions may be written to require their own
removal in certain cases when you modify the work.)  You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.

  Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:

    a) Disclaiming warranty or limiting liability differently from the
    terms of sections 15 and 16 of this License; or

    b) Requiring preservation of specified reasonable legal notices or
    author attributions in that material or in the Appropriate Legal
    Notices displayed by works containing it; or

    c) Prohibiting misrepresentation of the origin of that material, or
    requiring that modified versions of such material be marked in
    reasonable ways as different from the original version; or

    d) Limiting the use for publicity purposes of names of licensors or
    authors of the material; or

    e) Declining to grant rights under trademark law for use of some
    trade names, trademarks, or service marks; or

    f) Requiring indemnification of licensors and authors of that
    material by anyone who conveys the material (or modified versions of
    it) with contractual assumptions of liability to the recipient, for
    any liability that these contractual assumptions directly impose on
    those licensors and authors.

  All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10.  If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term.  If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.

  If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.

  Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.

  8. Termination.

  You may not propagate or modify a covered work except as expressly
provided under this License.  Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).

  However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.

  Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.

  Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License.  If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.

  9. Acceptance Not Required for Having Copies.

  You are not required to accept this License in order to receive or
run a copy of the Program.  Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance.  However,
nothing other than this License grants you permission to propagate or
modify any covered work.  These actions infringe copyright if you do
not accept this License.  Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.

  10. Automatic Licensing of Downstream Recipients.

  Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License.  You are not responsible
for enforcing compliance by third parties with this License.

  An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations.  If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.

  You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License.  For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.

  11. Patents.

  A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based.  The
work thus licensed is called the contributor's "contributor version".

  A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version.  For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.

  Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.

  In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement).  To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.

  If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients.  "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.

  If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.

  A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License.  You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.

  Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.

  12. No Surrender of Others' Freedom.

  If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all.  For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.

  13. Use with the GNU Affero General Public License.

  Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work.  The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.

  14. Revised Versions of this License.

  The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

  Each version is given a distinguishing version number.  If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation.  If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.

  If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.

  Later license versions may give you additional or different
permissions.  However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.

  15. Disclaimer of Warranty.

  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

  16. Limitation of Liability.

  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.

  17. Interpretation of Sections 15 and 16.

  If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.

                     END OF TERMS AND CONDITIONS

            How to Apply These Terms to Your New Programs

  If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.


<
one line to give the program's name and a brief idea of what it does.
>

    Copyright (C) 
<
year
>
<
name of author
>


    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see 
<
http://www.gnu.org/licenses/
>
.

Also add information on how to contact you by electronic and paper mail.

  If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:


<
program
>
  Copyright (C) 
<
year
>
<
name of author
>

    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License.  Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".

  You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see

<
http://www.gnu.org/licenses/
>
.

  The GNU General Public License does not permit incorporating your program
into proprietary programs.  If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library.  If this is what you want to do, use the GNU Lesser General
Public License instead of this License.  But first, please read

<
http://www.gnu.org/philosophy/why-not-lgpl.html
>
.
```

## Nutzung von Komponenten durch JVerein

| Name                        | Typ                                         | URL                                                                                                                               | Lizenz                                                                   |
| --------------------------- | ------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| Jameica                     | Framework                                   | <https://www.willuhn.de/products/jameica/download.php>                                                                            | GPL V2                                                                   |
| Hibiscus                    | Onlinebankingtool                           | Download über Jameica                                                                                                             | GPL V2                                                                   |
| activation.jar              | Java Beans Activation Framework             | <http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#jaf-1.1-fr-oth-JPR> | Oracle Binary Code License Agreement for Java SE and JavaFX Technologies |
| bsh-core-2.0b4.jar          | Lightweight Scripting für Java              | <http://www.beanshell.org/download.html>                                                                                          | Sun public license / Gnu Lesser Public License                           |
| commons-validator-1.5.1.jar |                                             |                                                                                                                                   |                                                                          |
| core-3.1.0.jar              |                                             |                                                                                                                                   |                                                                          |
| csvjdbc.jar                 | CSV file JDBC driver                        |                                                                                                                                   | GPL V2                                                                   |
| ez-vcard-0.9.5.jar          | ez-vcard is a vCard library written in Java |                                                                                                                                   | BSD 3-Clause License                                                     |
| javase-3.1.0.jar            |                                             |                                                                                                                                   |                                                                          |
| jodatime-2.3.jar            |                                             |                                                                                                                                   |                                                                          |
| jollyday-0.4.7.jar          |                                             |                                                                                                                                   |                                                                          |
| junit-4.8.1.jar             |                                             |                                                                                                                                   |                                                                          |
| mail.jar                    |                                             |                                                                                                                                   |                                                                          |
| nc.jar                      |                                             |                                                                                                                                   |                                                                          |
| snakejaml-1.13.jar          |                                             |                                                                                                                                   |                                                                          |

## `Oracle Binary Code License Agreement for Java SE and JavaFX Technologies`

`ORACLE AMERICA, INC. ("ORACLE"), FOR AND ON BEHALF OF ITSELF AND ITS SUBSIDIARIES AND AFFILIATES UNDER COMMON CONTROL, IS WILLING TO LICENSE THE SOFTWARE TO YOU ONLY UPON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS CONTAINED IN THIS BINARY CODE LICENSE AGREEMENT AND SUPPLEMENTAL LICENSE TERMS (COLLECTIVELY "AGREEMENT"). PLEASE READ THE AGREEMENT CAREFULLY. BY SELECTING THE "ACCEPT LICENSE AGREEMENT" (OR THE EQUIVALENT) BUTTON AND/OR BY USING THE SOFTWARE YOU ACKNOWLEDGE THAT YOU HAVE READ THE TERMS AND AGREE TO THEM. IF YOU ARE AGREEING TO THESE TERMS ON BEHALF OF A COMPANY OR OTHER LEGAL ENTITY, YOU REPRESENT THAT YOU HAVE THE LEGAL AUTHORITY TO BIND THE LEGAL ENTITY TO THESE TERMS. IF YOU DO NOT HAVE SUCH AUTHORITY, OR IF YOU DO NOT WISH TO BE BOUND BY THE TERMS, THEN SELECT THE "DECLINE LICENSE AGREEMENT" (OR THE EQUIVALENT) BUTTON AND YOU MUST NOT USE THE SOFTWARE ON THIS SITE OR ANY OTHER MEDIA ON WHICH THE SOFTWARE IS CONTAINED.`

`1. DEFINITIONS. "Software" means the software identified above in binary form that you selected for download, install or use (in the version You selected for download, install or use) from Oracle or its authorized licensees, any other machine readable materials (including, but not limited to, libraries, source files, header files, and data files), any updates or error corrections provided by Oracle, and any user manuals, programming guides and other documentation provided to you by Oracle under this Agreement. "General Purpose Desktop Computers and Servers" means computers, including desktop and laptop computers, or servers, used for general computing functions under end user control (such as but not specifically limited to email, general purpose Internet browsing, and office suite productivity tools). The use of Software in systems and solutions that provide dedicated functionality (other than as mentioned above) or designed for use in embedded or function-specific software applications, for example but not limited to: Software embedded in or bundled with industrial control systems, wireless mobile telephones, wireless handheld devices, netbooks, kiosks, TV/STB, Blu-ray Disc devices, telematics and network control switching equipment, printers and storage management systems, and other related systems are excluded from this definition and not licensed under this Agreement. "Programs" means: (a) Java technology applets and applications intended to run on the Java Platform, Standard Edition platform on Java-enabled General Purpose Desktop Computers and Servers, and (b) JavaFX technology applications intended to run on the JavaFX Runtime on JavaFX-enabled General Purpose Desktop Computers and Servers. “README File” means the README file for the Software set forth in the Software or otherwise available from Oracle at or through the following URL:`[`http://www.oracle.com/technetwork/java/javase/documentation/index.html`](http://www.oracle.com/technetwork/java/javase/documentation/index.html)

`2. LICENSE TO USE. Subject to the terms and conditions of this Agreement including, but not limited to, the Java Technology Restrictions of the Supplemental License Terms, Oracle grants you a non-exclusive, non-transferable, limited license without license fees to reproduce and use internally the Software complete and unmodified for the sole purpose of running Programs.`

`3. RESTRICTIONS. Software is copyrighted. Title to Software and all associated intellectual property rights is retained by Oracle and/or its licensors. Unless enforcement is prohibited by applicable law, you may not modify, decompile, or reverse engineer Software. You acknowledge that the Software is developed for general use in a variety of information management applications; it is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use the Software in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle disclaims any express or implied warranty of fitness for such uses. No right, title or interest in or to any trademark, service mark, logo or trade name of Oracle or its licensors is granted under this Agreement. Additional restrictions for developers and/or publishers licenses are set forth in the Supplemental License Terms.`

`4. DISCLAIMER OF WARRANTY. THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. ORACLE FURTHER DISCLAIMS ALL WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.`

`5. LIMITATION OF LIABILITY. IN NO EVENT SHALL ORACLE BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, OR DAMAGES FOR LOSS OF PROFITS, REVENUE, DATA OR DATA USE, INCURRED BY YOU OR ANY THIRD PARTY, WHETHER IN AN ACTION IN CONTRACT OR TORT, EVEN IF ORACLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. ORACLE'S ENTIRE LIABILITY FOR DAMAGES HEREUNDER SHALL IN NO EVENT EXCEED ONE THOUSAND DOLLARS (U.S. $1,000).`

`6. TERMINATION. This Agreement is effective until terminated. You may terminate this Agreement at any time by destroying all copies of Software. This Agreement will terminate immediately without notice from Oracle if you fail to comply with any provision of this Agreement. Either party may terminate this Agreement immediately should any Software become, or in either party's opinion be likely to become, the subject of a claim of infringement of any intellectual property right. Upon termination, you must destroy all copies of Software.`

`7. EXPORT REGULATIONS. You agree that U.S. export control laws and other applicable export and import laws govern your use of the Software, including technical data; additional information can be found on Oracle's Global Trade Compliance web site (`[`http://www.oracle.com/products/export`](http://www.oracle.com/products/export)`). You agree that neither the Software nor any direct product thereof will be exported, directly, or indirectly, in violation of these laws, or will be used for any purpose prohibited by these laws including, without limitation, nuclear, chemical, or biological weapons proliferation.`

`8. TRADEMARKS AND LOGOS. You acknowledge and agree as between you and Oracle that Oracle owns the ORACLE and JAVA trademarks and all ORACLE- and JAVA-related trademarks, service marks, logos and other brand designations ("Oracle Marks"), and you agree to comply with the Third Party Usage Guidelines for Oracle Trademarks currently located at`[`http://www.oracle.com/us/legal/third-party-trademarks/index.html`](http://www.oracle.com/us/legal/third-party-trademarks/index.html)`. Any use you make of the Oracle Marks inures to Oracle's benefit.`

`9. U.S. GOVERNMENT LICENSE RIGHTS. If Software is being acquired by or on behalf of the U.S. Government or by a U.S. Government prime contractor or subcontractor (at any tier), then the Government's rights in Software and accompanying documentation shall be only those set forth in this Agreement.`

`10. GOVERNING LAW. This agreement is governed by the substantive and procedural laws of California. You and Oracle agree to submit to the exclusive jurisdiction of, and venue in, the courts of San Francisco, or Santa Clara counties in California in any dispute arising out of or relating to this agreement.`

`11. SEVERABILITY. If any provision of this Agreement is held to be unenforceable, this Agreement will remain in effect with the provision omitted, unless omission would frustrate the intent of the parties, in which case this Agreement will immediately terminate.`

`12. INTEGRATION. This Agreement is the entire agreement between you and Oracle relating to its subject matter. It supersedes all prior or contemporaneous oral or written communications, proposals, representations and warranties and prevails over any conflicting or additional terms of any quote, order, acknowledgment, or other communication between the parties relating to its subject matter during the term of this Agreement. No modification of this Agreement will be binding, unless in writing and signed by an authorized representative of each party.`

`SUPPLEMENTAL LICENSE TERMS`

`These Supplemental License Terms add to or modify the terms of the Binary Code License Agreement. Capitalized terms not defined in these Supplemental Terms shall have the same meanings ascribed to them in the Binary Code License Agreement. These Supplemental Terms shall supersede any inconsistent or conflicting terms in the Binary Code License Agreement, or in any license contained within the Software.`

`A. SOFTWARE INTERNAL USE FOR DEVELOPMENT LICENSE GRANT. Subject to the terms and conditions of this Agreement and restrictions and exceptions set forth in the README File incorporated herein by reference, including, but not limited to the Java Technology Restrictions of these Supplemental Terms, Oracle grants you a non-exclusive, non-transferable, limited license without fees to reproduce internally and use internally the Software complete and unmodified for the purpose of designing, developing, and testing your Programs.`

`B. LICENSE TO DISTRIBUTE SOFTWARE. Subject to the terms and conditions of this Agreement and restrictions and exceptions set forth in the README File, including, but not limited to the Java Technology Restrictions of these Supplemental Terms, Oracle grants you a non-exclusive, non-transferable, limited license without fees to reproduce and distribute the Software, provided that (i) you distribute the Software complete and unmodified and only bundled as part of, and for the sole purpose of running, your Programs, (ii) the Programs add significant and primary functionality to the Software, (iii) you do not distribute additional software intended to replace any component(s) of the Software, (iv) you do not remove or alter any proprietary legends or notices contained in the Software, (v) you only distribute the Software subject to a license agreement that protects Oracle's interests consistent with the terms contained in this Agreement, and (vi) you agree to defend and indemnify Oracle and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of any and all Programs and/or Software. The license set forth in this Section B does not extend to the Software identified in Section D.`

`C. LICENSE TO DISTRIBUTE REDISTRIBUTABLES. Subject to the terms and conditions of this Agreement and restrictions and exceptions set forth in the README File, including but not limited to the Java Technology Restrictions of these Supplemental Terms, Oracle grants you a non-exclusive, non-transferable, limited license without fees to reproduce and distribute those files specifically identified as redistributable in the README File ("Redistributables") provided that: (i) you distribute the Redistributables complete and unmodified, and only bundled as part of Programs, (ii) the Programs add significant and primary functionality to the Redistributables, (iii) you do not distribute additional software intended to supersede any component(s) of the Redistributables (unless otherwise specified in the applicable README File), (iv) you do not remove or alter any proprietary legends or notices contained in or on the Redistributables, (v) you only distribute the Redistributables pursuant to a license agreement that protects Oracle's interests consistent with the terms contained in the Agreement, (vi) you agree to defend and indemnify Oracle and its licensors from and against any damages, costs, liabilities, settlement amounts and/or expenses (including attorneys' fees) incurred in connection with any claim, lawsuit or action by any third party that arises or results from the use or distribution of any and all Programs and/or Software. The license set forth in this Section C does not extend to the Software identified in Section D.`

`D. JAVA TECHNOLOGY RESTRICTIONS. You may not create, modify, or change the behavior of, or authorize your licensees to create, modify, or change the behavior of, classes, interfaces, or subpackages that are in any way identified as "java", "javax", "javafx", "sun", “oracle” or similar convention as specified by Oracle in any naming convention designation. You shall not redistribute the Software listed on Schedule 1.`

`E. SOURCE CODE. Software may contain source code that, unless expressly licensed for other purposes, is provided solely for reference purposes pursuant to the terms of this Agreement. Source code may not be redistributed unless expressly provided for in this Agreement.`

`F. THIRD PARTY CODE. Additional copyright notices and license terms applicable to portions of the Software are set forth in the THIRDPARTYLICENSEREADME file set forth in the Software or otherwise available from Oracle at or through the following URL: http://www.oracle.com/technetwork/java/javase/documentation/index.html. In addition to any terms and conditions of any third party opensource/freeware license identified in the THIRDPARTYLICENSEREADME file, the disclaimer of warranty and limitation of liability provisions in paragraphs 4 and 5 of the Binary Code License Agreement shall apply to all Software in this distribution.`

`G. TERMINATION FOR INFRINGEMENT. Either party may terminate this Agreement immediately should any Software become, or in either party's opinion be likely to become, the subject of a claim of infringement of any intellectual property right.`

`H. INSTALLATION AND AUTO-UPDATE. The Software's installation and auto-update processes transmit a limited amount of data to Oracle (or its service provider) about those specific processes to help Oracle understand and optimize them. Oracle does not associate the data with personally identifiable information. You can find more information about the data Oracle collects as a result of your Software download at`[`http://www.oracle.com/technetwork/java/javase/documentation/index.html`](http://www.oracle.com/technetwork/java/javase/documentation/index.html)`.`

`For inquiries please contact: Oracle America, Inc., 500 Oracle Parkway,`

`Redwood Shores, California 94065, USA.`

`License for Archived Java SE Technologies; last updated 02 April 2013`

`Schedule 1 to Supplemental Terms`

`Non-redistributable Java Technologies`

`JavaFX Runtime versions prior to version 2.0.2, except for version 1.3.1`

`JavaFX Development Kit (or SDK) versions prior to version 2.0.2, except for the version 1.3.1 Runtime components which are included in the version 1.3.1 Development Kit`

`JavaFX Production Suite`

`Java Naming and Directory Interface(TM)`

`Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files`

`Jvmstat`

`Any patches, bug fixes or updates made available by Oracle through Oracle Premier Support, including those made available under Oracle's Java SE Support program`

## &#x20;                GNU LESSER GENERAL PUBLIC LICENSE

```
                       Version 3, 29 June 2007

 Copyright (C) 2007 Free Software Foundation, Inc. 
<
http://fsf.org/
>

 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.


  This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.

  0. Additional Definitions.

  As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.

  "The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.

  An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.

  A "Combined Work" is a work produced by combining or linking an
Application with the Library.  The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".

  The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.

  The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.

  1. Exception to Section 3 of the GNU GPL.

  You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.

  2. Conveying Modified Versions.

  If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:

   a) under this License, provided that you make a good faith effort to
   ensure that, in the event an Application does not supply the
   function or data, the facility still operates, and performs
   whatever part of its purpose remains meaningful, or

   b) under the GNU GPL, with none of the additional permissions of
   this License applicable to that copy.

  3. Object Code Incorporating Material from Library Header Files.

  The object code form of an Application may incorporate material from
a header file that is part of the Library.  You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:

   a) Give prominent notice with each copy of the object code that the
   Library is used in it and that the Library and its use are
   covered by this License.

   b) Accompany the object code with a copy of the GNU GPL and this license
   document.

  4. Combined Works.

  You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:

   a) Give prominent notice with each copy of the Combined Work that
   the Library is used in it and that the Library and its use are
   covered by this License.

   b) Accompany the Combined Work with a copy of the GNU GPL and this license
   document.

   c) For a Combined Work that displays copyright notices during
   execution, include the copyright notice for the Library among
   these notices, as well as a reference directing the user to the
   copies of the GNU GPL and this license document.

   d) Do one of the following:

       0) Convey the Minimal Corresponding Source under the terms of this
       License, and the Corresponding Application Code in a form
       suitable for, and under terms that permit, the user to
       recombine or relink the Application with a modified version of
       the Linked Version to produce a modified Combined Work, in the
       manner specified by section 6 of the GNU GPL for conveying
       Corresponding Source.

       1) Use a suitable shared library mechanism for linking with the
       Library.  A suitable mechanism is one that (a) uses at run time
       a copy of the Library already present on the user's computer
       system, and (b) will operate properly with a modified version
       of the Library that is interface-compatible with the Linked
       Version.

   e) Provide Installation Information, but only if you would otherwise
   be required to provide such information under section 6 of the
   GNU GPL, and only to the extent that such information is
   necessary to install and execute a modified version of the
   Combined Work produced by recombining or relinking the
   Application with a modified version of the Linked Version. (If
   you use option 4d0, the Installation Information must accompany
   the Minimal Corresponding Source and Corresponding Application
   Code. If you use option 4d1, you must provide the Installation
   Information in the manner specified by section 6 of the GNU GPL
   for conveying Corresponding Source.)

  5. Combined Libraries.

  You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:

   a) Accompany the combined library with a copy of the same work based
   on the Library, uncombined with any other library facilities,
   conveyed under the terms of this License.

   b) Give prominent notice with the combined library that part of it
   is a work based on the Library, and explaining where to find the
   accompanying uncombined form of the same work.

  6. Revised Versions of the GNU Lesser General Public License.

  The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.

  Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.

  If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.
```

```
Note: This license has also been called the "New BSD License" or "Modified BSD License". See also the 
2-clause BSD License.

Copyright <YEAR> <COPYRIGHT HOLDER>

Redistribution and use in source and binary forms, with or without modification, are permitted provided that 
the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the 
following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
 the following disclaimer in the documentation and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or
 promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED 
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
POSSIBILITY OF SUCH DAMAGE.
```


# Buchführung Zusammenhänge

**Unterstützung von JVerein bei den Aufgaben eines Kassenwarts und den Kassenprüfern.**

*Beitrag von Siegfried Kübel*

## Zweck

Da die Aufgaben des Kassenwarts und der Kassenprüfer in einer Vereinssatzung oft nur sehr grob umschrieben werden, es aber dennoch einige Regeln und Vorschriften zu beachten gibt, besteht unter Umständen eine Unsicherheit bei der korrekten Ausführung dieser Tätigkeit.

Will man dann auch noch entscheiden, ob der Wechsel (oder Neueinsatz) einer Vereinssoftware wie JVerein sinnvoll und machbar ist, wird die Unsicherheit noch größer.

Erschwerend kommt manchmal hinzu, dass oftmals die Vorstellung eines Buchhalters und eines "Nichtbuchhalters" in puncto Kassenführung sehr unterschiedlich sind, und eine doppelte Buchführung mit einem angepassten "Industriekontenrahmen" für einen "Nichtbuchhalter" nur schwer überblickbar ist.

Deshalb hier eine kurze Beschreibung der Aufgaben eines Kassenwarts und der Kassenprüfer und wie diese Tätigkeiten durch JVerein unterstützt werden können.

Hinweis: Der Autor war selbst über 10 Jahre Kassenwart in einem Musikverein und ist jetzt über 2 Jahre Kassenwart in einem Sportverein und hat somit schon einige Erfahrung auf diesem Gebiet sammeln können.

## Grundlagen

### Aufgaben des Kassenwarts

Oftmals wird in der Vereinssatzung nur sehr knapp die Aufgaben des Kassenwarts beschrieben, z.B. "Die Aufgaben des Kassenwarts erstrecken sich auf die Verwaltung des Vereinsvermögens. Über Einnahmen und Ausgaben ist Buch zu führen". Diese Beschreibung ist zwar richtig, jedoch wird damit nicht ansatzweise beschrieben, nach welchen Gesetzen und Verordnungen das zu geschehen hat.

Sicher ist damit nur, dass man "Buch zu führen hat", und das bedeutet dass man chronologisch, systematisch, lückenlos und ordnungsgemäß alle in Zahlenwerten festgehaltenen, wirtschaftlich bedeutsamen Vorgänge (Geschäftsvorfälle) verzeichnen muss.

Wichtig zu wissen ist, dass sich diese Tätigkeit an das HGB anlehnt, und dabei sind vor allem der § 243 (Aufstellungsgrundsatz) und der § 246 (Vollständigkeit. Verrechnungsverbot) zu nennen.

Mit diesem Wissen ergeben sich folgende Aufgaben und Grundsätze, die eingehalten werden müssen:

1. Im allgemeinen kann die Verwaltung der Kasse mit einer einfachen "Einnahmen-Ausgaben-Rechnung" erfolgen, und es muss keine doppelte Buchführung erstellt werden.
2. Der Jahresabschluss ist nach den Grundsätzen ordentlicher Buchführung (GOB) aufzustellen.
   1. Klarheit und Übersichtlichkeit
   2. Vollständigkeit und Richtigkeit
3. Es gilt der Grundsatz der "Klarheit und Übersichtlichkeit" (§ 243 HGB), das bedeutet die Nachvollziehbarkeit jeder Buchung aber auch des Jahresabschlusses.
4. Es gilt der "Grundsatz der Vollständigkeit" (§ 246 HGB), dies bedeutet dass alle Einnahmen, Ausgaben, Belege, Buchungen vorhanden sein müssen und dass keine Einnahmen mit Ausnahmen verrechnet werden dürfen.
5. Zu guter Letzt hat der Kassenwart eine Auskunfts- und Informationspflicht gegenüber dem Vorstand (und auch dem Finanzamt). Dies beinhaltet z.B. Auskunft über die finanzielle Situation aber auch Detailauskünfte z.B. für eine Entscheidung in der Vorstandsschaft.

### Aufgaben des Kassenprüfers

Auch die Aufgabe der Kassenprüfer wird in der Vereinssatzung oft nur sehr grob beschrieben, z.B. mit folgendem Wortlaut: "Die Kassenprüfer sind verpflichtet alle Unterlagen des Kassenwarts zu überprüfen".

Da jedoch der Kassenwart einige Regeln zu beachten hat (siehe vorheriges Kapitel) ist es natürlich sinnvoll, dass diese Punkte von den Kassenprüfern auch überprüft werden. Zusätzlich sollte aber auch die sachliche Richtigkeit überprüft werden, wie z.B. die Gruppierung der Einnahmen bzw. Ausgaben (siehe Kapitel "Buchungsklassen"). Damit ergeben sich zumindest folgende wichtigen Aufgaben:

1. Überprüfung des Jahresabschlusses auf Richtigkeit, z.B. stimmen die Anfangs- und Endwerte mit den Salden in den Kontoauszügen überein?
2. Überprüfung der Nachvollziehbarkeit und Übersichtlichkeit, z.B. kann jede Buchung nachvollzogen werden?
3. Überprüfung auf Vollständigkeit, z.B. sind alle Belege vorhanden, alle Einnahmen und Ausgaben verbucht und gehören diese auch in das entsprechende Geschäftsjahr?
4. Überprüfung auf sachliche Richtigkeit, z.B. sind die Buchungen richtig den einzelnen "Gruppen" zugeordnet, z.B. nur Spenden sind in der Gruppe "Spende" verbucht und keine Einnahmen von einer Tombola.

## Listen von JVerein für die Buchführung

In diesem Kapitel werden die einzelnen Listen der Buchführung von JVerein beschrieben und wie diese miteinander den Kassenwart und die Kassenprüfer bei Ihrer Arbeit unterstützen.

Normalerweise werden alle notwendigen Listen erstellt, bevor der Jahresabschluss (Navigation: Buchführung => Jahresabschluss) gemacht wird. Durch den Jahresabschluss wird das Geschäftsjahr endgültig abgeschlossen, dies bedeutet dass keine Änderungen (z.B. bei Buchungen) in dem abgeschlossenen Geschäftsjahr mehr möglich sind.

Für die Kassenprüfung werden meist nur die Liste Jahressaldo und die Liste "Buchungsjournal" benötigt, da mit diesen beiden Listen alle Transaktionen und deren sachlichen Zuordnung nachvollzogen werden kann (eventuell sollte die Liste Buchungsklassen noch bereitgelegt werden, da diese für eine eventuelle Meldung fürs Finanzamt wichtig ist und außerdem damit der Kassenbericht relativ einfach angefertigt werden kann).

Entsprechend werden die restlichen Listen nur für besondere Fragestellungen benötigt (z.B. als Grundlage für eine Entscheidung in der Vorstandsschaft).

### Jahressaldo

Die Liste Jahressaldo (Navigation: Buchführung => Jahressaldo) stellt die Verbindung zu den realen Konten und zum Vorjahr her, sprich es wird für jedes Konto der Anfangsbestand, Einnahmen, Ausgaben, Umbuchungen und Endbestand aufgeführt.

Bf-listejahressaldo.png

Diese Liste stellt entsprechend auch die Basis für die Kassenprüfung dar. Die Anfangsbestände finden sich auf der "Jahressaldo-Liste" des Vorjahres wieder und können damit verglichen werden. Die Endbestände der Bankkonten können mit den entsprechenden Kontoauszügen verglichen werden, der Bestand der Kasse wird gezählt.

Somit ist der Jahresendbestand definiert und im nächsten Schritt können die Einnahmen und Ausgaben kontrolliert werden. Dazu dient das Buchungsjournal (siehe nächstes Kapitel).![](/files/-LhnDaI6mRgCkbuMhd6c)

Hinweis: Da auf der "Jahressaldo-Liste" die wichtigsten Zahlenwerte stehen und diese zur nächsten Kassenprüfung im Folgejahr wieder benötigt werden, ist es sinnvoll, am Ende der Kassenprüfung exakt auf dieser Liste die Kassenprüfer mit Unterschrift bestätigen zu lassen, dass die Kasse geprüft wurde und alles in Ordnung ist. Damit ist gewährleistet, dass die Kassenprüfer im Folgejahr auch die richtigen Anfangsbestände verwenden!

### Buchungsjournal

Das "Buchungsjournal" (Navigation: Buchführung => Buchungen => PDF Buchungsjournal) ist die zentrale Liste mit der die komplette Kasse überprüft werden kann, da die gesamte Arbeit damit abgebildet wird.

![](/files/-LhnDaI8IX2x6I4MwSwh)

Um die Vollständigkeit zu gewährleisten sind nur folgende Selektionen der Buchungen erlaubt, die entsprechend in der Überschrift der Liste erscheinen:

Zeitraum: Für die Kassenprüfung sollte natürlich dann das komplette Geschäftsjahr (meist das Kalenderjahr) selektiert werden. Einzelnes Konto oder alle Konten: Diese Selektion hängt von der Arbeitsweise ab, entweder man hat nur ein Ordner mit Belegen (dann sollte entsprechend auch alle Konten selektiert werden) oder man hat einen Belegordner pro Konto, dann sollten entsprechend für jedes Konto ein eigenes Buchungsjournal selektiert werden.

Die Sortierung erfolgt grundsätzlich nach Datum, da die Belege im Belegordner normalerweise auch nach Datum sortiert werden (Hinweis: Die Buchungsnummer erlaubt meist keine sinnvolle Sortierung, da oftmals die Belege erst verspätet beim Kassenwart abgeliefert werden und somit nachträglich (allerdings mit dem richtigen Datum) gebucht werden.

Für die Nachvollziehbarkeit und sachlicher Zuordnung (die die Kassenprüfer normalerweise auch überprüfen sollten) sind folgende Felder im Buchungsjournal enthalten:

Buchungsnummer (Nr) Dient zur Zuordnung der Belege zur Buchung indem jeder Beleg mit der entsprechenden Buchungsnummer beschriftet wird (= Belegnummer).

Hinweis: Gerade die Kassenprüfer sind dankbar, wenn sie anhand einer eindeutigen Nummer den relevanten Beleg im Ordner schnell finden können.

| Datum                  | Ist das Sortierkriterium                                                                                                                                                                                                                                                |
| ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Konto und Auszug       | Damit kann schnell die Transaktion auf dem entsprechenden Kontoauszug gefunden werden                                                                                                                                                                                   |
| Name und Zahlungsgrund | Beschreiben inhaltlich die Buchung                                                                                                                                                                                                                                      |
| Buchungsart            | Stellt die sachliche Zuordnung der Buchung zu einer übergeordneten Gruppe dar (z.B. dürfen Einnahmen aus einer Tombola nicht plötzlich als Spenden gebucht werden). Dies ist auch für die Nachvollziehbarkeit fürs Finanzamt wichtig (siehe Kapitel "Buchungsklassen"). |
| Betrag                 | Der Betrag wird nach Ausgaben und Einnahmen unterschieden, um die Salden ermitteln zu können.                                                                                                                                                                           |

Am Ende der Liste stehen die Summen für Einnahmen, Ausgaben und Umbuchungen. Diese Summen müssen exakt mit den Werten für Einnahmen, Ausgaben und Umbuchungen im Jahressaldo übereinstimmen. Somit wird die Vollständigkeit der Buchungen und damit auch der Belege gewährleistet, da alle Transaktionen im Geschäftsjahr nachgewiesen werden.

### Buchungsartenliste (Summen)

Die "Buchungsartenliste-Summen" (Navigation: Buchführung => Buchungen => PDF Summen) dient dazu einen Gesamtüberblick über die finanzielle Situation zu erhalten, um z.B. einen Kassenbericht anzufertigen.

Entsprechend wird auch am Ende dieser Liste die Summen getrennt nach Einnahmen, Ausgaben und Umbuchungen aufgeführt. ![](/files/-LhnDaIA4yozJrOw_pUv)

### Buchungsartenliste (Einzelbuchungen)

Die "Buchungsartenliste-Einzelbuchungen" (Navigation: Buchführung => Buchungen => PDF Einzelbuchungen) dient für die Klärung einer Detailfrage, z.B. "Wer hat dieses Jahr schon alles gespendet?" oder "Welche Sportgeräte wurden dieses Jahr schon gekauft?").

Deshalb werden entsprechend der Selektion nur die relevanten Buchungen gruppiert nach den Kostenarten und mit den gesamten Informationen (Name, Zahlungsgrund, Zahlungsgrund2) dargestellt.

![](/files/-LhnDaICfTNai-S_N0ZQ)

### Buchungsklassenliste

Die Buchungsklassen dienen dazu die einzelnen Buchungen entsprechend den steuerlichen Vorgaben zu gruppieren. Diese Klassen können in JVerein unter "Administration => Buchungsklasse" angelegt und gepflegt werden.

Für Vereine würde sich folgende Aufteilung anbieten, da diese Gruppierung vom Finanzamt angefragt werden kann, da z.B. für die Steuerbefreiung bestimmte Grenzwerte in diesen Gruppen nicht überschritten werden dürfen:

* Ideeller Bereich
* Vermögensverwaltung
* Zweckbetrieb
* Wirtschaftlicher Geschäftsbetrieb

Unter Administration => Buchungsart werden die Buchungsarten angelegt und gepflegt. Dort können die Buchungsarten auch den einzelnen Buchungsklassen zugeordnet werden. Wichtig dabei ist natürlich, die Buchungsarten so zu definieren, dass diese auch eindeutig zu einer Buchungsklasse zugeordnet werden können.

Die "Buchungsklassenliste" (Navigation: Buchführung => Buchungsklassen) zeigt nun das Ergebnis dieser Aufteilung für ein Geschäftsjahr an.

Die Vollständigkeit der Liste wird dadurch gewährleistet dass zum einen die Gesamtsummen für Einnahmen und Ausgaben ("Gesamtsaldo" in der zweitletzten Zeile) exakt den Gesamtsummen im Jahressaldo entsprechen müssen und zweitens eventuelle Buchungen die keiner Kostenart bzw. Kostenarten die keiner Kostenklasse zugeordnet sind (was nicht sein sollte) auf dieser Liste gesondert aufgeführt werden.

Die Nachvollziehbarkeit wird dadurch gewährleistet, dass jede Buchung genau einer Kostenart zugeordnet ist und dies im Buchungsjournal aufgeführt wird (und von den Kassenprüfern hoffentlich kontrolliert wurde). Somit kann für jede Zeile in der "Buchungsklassenliste" nachvollzogen werden, welche Buchungen im einzelnen zu diesem Wert geführt haben.


# Buchführung Grundsätze

Bei der JVerein-Buchführung handelt es sich um eine einfache Einnahme-Überschuss-Rechnung. Dabei werden alle Zahlungsvorgänge in eine Tabelle nach folgendem Muster eingetragen:

```
+---------+--------------------+------------------------+--------+
| Bu-Nr.  | Name               | Verwendungszweck       |Betrag  |
+---------+--------------------+------------------------+--------+
|       1 | Meier, Fritz       | Mitgliedsbeitrag       |  50,00 |
+---------+--------------------+------------------------+--------+
|       2 | Müller & Co.       | Getränke f. Versamml.  | 123,45 |
+---------+--------------------+------------------------+--------+
```

Die Informationen aus den Kontoauszügen der Banken können im idealen Fall aus Hibiscus übernommen werden. Für Barkassen oder wenn Hibiscus nicht genutzt wird, können alle Buchungen manuell erfasst werden.

Jeder Buchung wird eine Buchungsart zugeordnet. Damit kann nachgewiesen werden, für welche Zwecke Geld eingenommen und ausgegeben wurde:

```
+---------+--------------------+------------------------+--------+--------------+
| Bu-Nr.  | Name               | Verwendungszweck       |Betrag  | Buchungsart  |
+---------+--------------------+------------------------+--------+--------------+
|       1 | Meier, Fritz       | Mitgliedsbeitrag       |  50,00 |     1035     |
+---------+--------------------+------------------------+--------+--------------+
|       2 | Müller & Co.       | Getränke f. Versamml.  | 123,45 |     2080     |
+---------+--------------------+------------------------+--------+--------------+
```

Zur Abbildung von idiellem und wirtschaftlichem Betrieb können mit Hilfe von Buchungsklassen Buchungsarten zusammengefasst werden.

Jede Buchung kann einem Mitgliedskonto zugeordnet werden (Istbuchung: "Geld ist geflossen"):

```
+---------+--------------------+------------------------+--------+--------------+--------------+
| Bu-Nr.  | Name               | Verwendungszweck       |Betrag  | Buchungsart  | Mitglieds-Nr.|
+---------+--------------------+------------------------+--------+--------------+--------------|
|       1 | Meier, Fritz       | Mitgliedsbeitrag       |  50,00 |     1035     |         4711 |
+---------+--------------------+------------------------+--------+--------------+--------------+
|       2 | Müller & Co.       | Getränke f. Versamml.  | 123,45 |     2080     |              |
+---------+--------------------+------------------------+--------+--------------+--------------+
```

Durch Sollbuchungen im Mitgliedskonto wird festgelegt, für welche Zwecke das Mitglied etwas zahlen soll (z. B. Mitgliedsbeitrag). Sollbuchungen werden für Mitgliedsbeiträge und Zusatzbeträge durch die Abrechnung automatisch erstellt. Sie können auch manuell angelegt werden.


# Dokumente

## Voraussetzungen

Die Dokumentenarchivierung wird über den ArchiveService von <http://www.willuhn.de/products/jameica> realisiert. Entweder erfolgt die Installation lokal oder innerhalb eines LANs. Bei der Installation im LAN wird in einer Jameica-Instanz der Archive-Service installiert und gestartet. In den weiteren Jameica-Instanzen ist keine Installation erforderlich. Jameica findet die zentrale Instanz automatisch im LAN. Unter Einstellungen ist die Dokumentenspeicherung zu aktivieren.

Für den ArchiveService müssen folgende Jameica-Plugins zusätzlich installiert werden:

* jameica.messaging
* jameica.soap
* jameica.webadmin
* jameica.xmlrpc

Die Plugins stehen als Nightly-Builds unter <http://www.willuhn.de/products/jameica/download_ext.php> zur Verfügung. Zur Installation werden die Installationsdateien in das plugins-Verzeichnis von Jameica entpackt.

## Allgemein

Zu Mitgliedern und Buchungen können Dokumente beliebiger Art und Anzahl gespeichert werden. Die Funktionalität steht nach der Installation der zusätzlichen Plugins ohne weitere Konfiguration zur Verfügung.

## Neue Dokument speichern

![](/files/-LhnDaEcdJlOa_Q8HZ2L)

Mit einem Klick auf neu öffnet sich folgendes Formular:

![](/files/-LhnDaEeI1rMF9Zd9WEW)

Es wird eine Datei ausgewählt. Standardmässig wird das Tagesdatum vorgegeben. Es kann hier z. B. auch das Datum des Beleges eingetragen werden. Zusätzlich kann zu jedem Dokument ein Kommentar eingetragen werden.

## Dokumente anzeigen oder löschen

Mit einem Rechtsklick auf ein Dokument öffnet sich ein Kontextmenü. Mit den Menüpunkten kann ein Dokument entweder angezeigt oder gelöscht werden.

## Datensicherung

Die gespeicherten Dokumente werden **nicht** durch die Sicherung von Jameica erfasst. Am einfachsten ist es, dass .jameica-Verzeichns komplett zu sichern.


# FAQ

## Wie kann ich JVerein auf einen neuen Rechner bringen?

Q: Ich habe mir einen neuen Laptop zugelegt. Nun möchte ich von meinem alten Laptop alles auf den Neuen übertragen. Welche Dateien bzw. Ordner muss ich mitnehmen? Muss ich das Prog. neu installieren?

A: Es muss der Programm- und der Datenordner auf den neuen Rechner übertragen werden.

## Wo liegt der JVerein-Programmordner?

Q: Wo finde ich den Programmordner?

A: Es gibt keinen fest definierten Platz für den Programmordner. Sofern die Jameica-Suite installiert wurde, ist der Ordner unter C:\Programme\Jameica zu finden. Unter Linux wird oft unter /opt/jameica oder \~/jameica installiert.

## Wo liegt der JVerein-Datenordner standardmäßig?

Q: Wo finde ich den Datenordner standardmäßig?

A:

| Betriebssystem  | Verzeichnis                                                         |
| --------------- | ------------------------------------------------------------------- |
| Linux           | /home/\<username>/.jameica                                          |
| Windows 7 + 8   | C:\Users\\\<username>.jameica                                       |
| Windows 2000/XP | C:\Dokumente und Einstellungen\\\<username>.jameica                 |
| Windows Vista   | C:\Users\\\<username>.jameica oder C:\Benutzer\\\<username>.jameica |
| MacOS           | /Users/\<username>/.jameica oder /Users/\<username>/Library/jameica |

## Wie kann ich den Datenordner an einen Nichtstandardplatz legen?

Q: Wie kann ich den Datenordner an einen Nichtstandardplatz legen?

A: Beim Aufruf von Jameica wird der Schalter `-f pfad`angegeben.

Beispiel: `jameica.bat -f c:/meinejameicadaten`

siehe auch <http://www.willuhn.de/wiki/doku.php?id=support:faq#abweichendes_benutzerverzeichnis_nutzen>

Unter Windows kann mit einem rechten Mausklick auf das Jameica-Icon > Eigenschaften folgendes Bild geöffnet werden:

![](/files/-LhnDcb1_6ZPbOBEaIFs)

Im Feld Ziel wird der Schalter -f VERZEICHNIS wie angegeben verändert.

## Wie kann ich mit JVerein mehrere Vereine verwalten?

Q: Wie kann ich mit JVerein mehrere Vereine verwalten?

A: Für jeden Verein wird ein separates Verzeichnis angelegt. Wie die Verzeichnisse beim Aufruf von Jameica zugeordnet werden, ist der vorherigen Antwort zu entnehmen.

## Kann JVerein über ein Netzwerk/Internet betrieben werden?

Q: Kann JVerein übers Netzwerk/Internet betrieben werden?

A: JVerein kann seine Daten in einer MySQL-Datenbank speichern. Siehe auch MySQL-Support. Beim Betrieb über das Internet ist darauf zu achten, dass die Daten verschlüsselt übertragen werden. Weiterhin wird darauf hingewiesen, dass Jameica, Hibiscus und JVerein keine Benutzerverwaltung haben. Jeder, der Zugriff auf das Verfahren hat, kann alles machen. Beim Umgang mit Geld sicher eine nicht befriedigende Angelegenheit. Es ist auch nicht nachvollziehbar, wer welche Änderung vorgenommen hat. Mir stellt sich allerdings immer wieder die Frage nach dem "Warum?". Meines Erachtens können die Daten durch eine Person gepflegt werden. Ich bin selber Kassenwart eines Vereins mit ca. 400 Mitgliedern und weiß somit wovon ich rede. Den übrigen Vorstandsmitgliedern können PDF-Dokumente oder CSV-Dateien zur Serienbriefgenerierung zur Verfügung gestellt werden. Darin kann auch ohne Probleme gesucht werden.

## Warum kann ich eine Bankverbindung nicht speichern/importieren?

Q: Warum kann ich eine Bankverbindung nicht speichern/importieren?

A: Die Banken verwenden Prüfziffernmethoden zur Überprüfung der Kontonummern. Siehe Prüfziffernberechnung bei der Deutschen Bundesbank. JVerein verwendet zur Berechnung der Prüfziffern die Bibliothek HBCI4Java. Bisher ist mir kein Fehler in der Prüfziffernberechnung bekannt. Daher gehe ich davon aus, das die Meldung immer korrekt ausgegeben wird. Die Prüfziffernberechnung kann unter Hibiscus | Einstellungen | Grundeinstellungen | Kontonummern und Bankleitzahlen mittels Prüfziffern testen ausschalten. Damit wird die Prüfziffernberechnung generell ausgeschaltet. Das gilt sowohl für Hibiscus als auch für JVerein.

## Bei mir erscheint der Fehler java.lang.NoSuchMethodError

Q: Bei mir erschein der Fehler java.lang.NoSuchMethodError. Was muss ich tun?

A: Mit 99%iger Sicherheit liegt ein Versionsmix vor. Jameica in ein leeres Verzeichnis entpacken. Hibiscus und JVerein über Datei|Einstellungen|Plugin installieren.


# Für Entwickler

## Video: Entwicklungsumgebung installieren

<https://youtu.be/xhPIkeO4jco>

## Video: Projekte aktualisieren und Patches erstellen

<https://youtu.be/UFDvKRNLGk8>

## Sortierung von Tabellen verhindern

Standardmäßig können Tabellen durch einen Klick in den Header einer Spalte sortiert werden. In einigen Situationen ist das nicht erwünscht. Mit folgendem Code kann das verhindert werden:

```
xxxList = new TablePart(gi, null)
{
  @Override
  protected void orderBy(int index)
  {
    return;
  }
};
```


# Variable

## Variable

Für diverse Zwecke (z. B. Formulare, Mails, Pre-Notification ...) gibt es Variable.

### Allgemeine Variable

#### aktuellermonat

Aktueller Monat im Format mm.jjjj

#### aktuellesjahr

Aktuelles Jahr im Format jjjj

#### folgejahr

Folgejahr im Format jjj

#### folgemonat

Folgemonat im Format mm.jjjj

#### tagesdatum

Aktuelles Datum in der Form tt.mm.jjjj

#### tagesdatumtt

Aktuelles Datum in der Form tt

#### tagesdatummm

Aktuelles Datum in der Form mm

#### vormonat

Vormonat im Format mm.jjjj

### Buchung

#### buchung\_auszugsnummer

optional

#### buchung\_betrag

Pflicht

#### buchung\_blattnummer

optional

#### buchung\_buchungsart\_nummer

optional

#### buchung\_buchungsklasse\_nummer

optional

#### buchung\_datum

Pflicht

Format TT.MM.JJJJ

#### buchung\_kommentar

optional

#### buchung\_kontonummer

Pflicht

#### buchung\_name

Pflicht

buchung\_zweck1

Pflicht

Das Feld kann mehrzeilig sein. Gesamtlänge 500 Stellen. Mehrzeilige Verwendungszwecke sind in Anführungszeichen zu setzen.

## Lastschrift

#### lastschrift\_anrede

Anrede

#### lastschrift\_geschlecht

Geschlecht (ab Version 2.8.16)

#### lastschrift\_titel

Titel

#### lastschrift\_strasse

Straße

#### lastschrift\_name

Name

#### lastschrift\_vorname

Vorname

#### lastschrift\_plz

PLZ

#### lastschrift\_ort

Ort

#### lastschrift\_email

E-Mail

#### lastschrift\_mandatid

Mandatsnummer

#### lastschrift\_mandatdatum

Datum des Mandates (Ausstellungsdatum)

#### lastschrift\_bic

Bic, die in dieser Lastschrift verwendet wird

#### lastschrift\_iban

vollständige IBAN, die in dieser Lastschrift verwendet wird

#### lastschrift\_ibanmaskiert

IBAN, die in dieser Lastschrift verwendet wird, in maskierter Form

#### lastschrift\_abrechnungslauf\_faelligkeit

Datum der Fälligkeit

#### lastschrift\_verwendungszweck

Verwendungszweck

#### lastschrift\_betrag EUR

Betrag der eingezogen wird

#### lastschrift\_mandatsequence

Mandatssequence - Erste / Wiederholung

#### lastschrift\_anrede\_foermlich

Förmliche Anrede. Z. B. "Sehr geehrter Herr Dr. Wichtig,".

#### lastschrift\_anrede\_du

Informelle Anrede. Z. B. "Hallo Willi,".

### Mitglied

#### mitglied\_adressierungszusatz

Adressierungszusatz

#### mitglied\_adresstyp

interne Nummer des Adresstyps

#### mitglied\_anrede

Anrede

#### mitglied\_anrede\_du

Informelle Anrede

#### mitglied\_anrede\_foermlich

Name mit förmlicher Anrede (Sehr geehrter ...)

#### mitglied\_arbeitseinsatz\_betrag

Betrag pro Stunde fehlenden Arbeitseinsatzes - Format: 0,00

#### mitglied\_arbeitseinsatz\_stunden

Anzahl Stunden Arbeitseinsatz - Format: 0,00

#### mitglied\_austritt

Austrittsdatum - Format: tt.mm.jjjj

#### mitglied\_bankname

Name der Bank

#### mitglied\_beitragsgruppe\_betrag

Bezeichnung der Beitragsgruppe - Format: 0,00

#### mitglied\_beitragsgruppe\_bezeichnung

Bezeichnung der Beitragsgruppe.

#### mitglied\_beitragsgruppe\_id

Schlüsselnummer der Beitragsgruppe.

#### mitglied\_bic

BIC

#### mitglied\_eingabedatum

Datum der Ersteingabe des Datensatzes - Format: tt.mm.jjjj

#### mitglied\_eintritt

Eintrittsdatum - Format: tt.mm.jjjj

#### mitglied\_email

Email-Adresse

#### mitglied\_empfaenger

Formatierte Anschrift -> Erste Zeile: Herr Frau / Zweite Zeile: Vorname Nachname / ...

#### mitglied\_externe\_mitgliedsnummer

externe Mitgliedsnummer

#### mitglied\_geburtsdatum

Geburtsdatum - Format: tt.mm.jjjj

#### mitglied\_geschlecht

Geschlecht m oder w

#### mitglied\_handy

Handy

#### mitglied\_iban

IBAN

#### mitglied\_iban\_maskiert

IBAN, die in dieser Lastschrift verwendet wird, in maskierter Form

#### mitglied\_id

Interne Mitgliedsnummer

#### mitglied\_individuellerbeitrag

Individueller Beitrag

#### mitglied\_konto

Kontonummer

#### mitglied\_kontoinhaber\_adressierungszusatz

Kontoinhaber

#### mitglied\_kontoinhaber\_anrede

Kontoinhaber

#### mitglied\_kontoinhaber\_email

Kontoinhaber

#### mitglied\_kontoinhaber\_name

Kontoinhaber

#### mitglied\_kontoinhaber\_ort

Kontoinhaber

#### mitglied\_kontoinhaber\_personenart

Kontoinhaber

#### mitglied\_kontoinhaber\_plz

Kontoinhaber

#### mitglied\_kontoinhaber\_staat

Kontoinhaber

#### mitglied\_kontoinhaber\_strasse

Kontoinhaber

#### mitglied\_kontoinhaber\_titel

Kontoinhaber

#### mitglied\_kontoinhaber\_vorname

Kontoinhaber

#### mitglied\_kuendigung

Kündigungsdatum - Format: tt.mm.jjjj

#### mitglied\_letzte.aenderung

Datum der letzten Änderung des Mitgliedsdatensatzes - Format: tt.mm.jjjj

#### mitglied\_mandatdatum

SEPA-Mandat - Formatierung für tt.mm.jjjj: $!{dateformat.format($mitglied\_mandatdatum)}

#### mitglied\_mandatid

SEPA-Mandat

#### mitglied\_name

Name

#### mitglied\_namevorname

Name, Vorname

#### mitglied\_ort

Ort

#### mitglied\_personenart

Personentyp: n=natürliche Person, j=juristische Person

#### mitglied\_plz

Postleitzahl

#### mitglied\_staat

Staat

#### mitglied\_sterbetag

Sterbetag - Format: tt.mm.jjjj

#### mitglied\_strasse

Straße

#### mitglied\_telefon\_dienstlich

Telefon dienstlich

#### mitglied\_telefon\_privat

Telefon privat

#### mitglied\_titel

Titel

#### mitglied\_vermerk1

1. Vermerk

#### mitglied\_vermerk2

1. Vermerk

#### mitglied\_vorname

Vorname

#### mitglied\_vornamename

Vorname Name

#### mitglied\_zahlerid

Interne Mitgliedsnummer des zahlenden Mitglieds

#### mitglied\_zahlungsrhytmus

Schlüssel des Zahlungsrhytmus

#### mitglied\_zahlungstermin

Beitragsmodel "flexibel": Zahlungstermin und Zahlungsrhytmus als Text. Beispiele: "Vierteljährlich (Feb./Mai /Aug./Nov.)", "Halbjährlich (Mai /Nov.)"

#### mitglied\_zahlungsweg

Schlüssel des Zahlungsweges

#### mitglied\_zahlungsweg\_text

Bezeichnung des Zahlungsweges

#### mitglied\_eigenschaft\_????

Statt ???? steht eine Eigenschaft, die Sie für Mitglieder definiert haben. Ist die Eigenschaft für dieses Mitglied gesetzt wird als Wert ein X angegeben.

#### mitglied\_zusatzfeld\_????

Statt ???? steht der Name des Zusatzfeldes.

#### mitglied\_lesefelder\_????

Statt ???? steht der Name des Lesefeldes.

### Mitgliedskonto

#### mitgliedskonto\_betrag

Betrag dieser Buchung der bezahlt werden muss

#### mitgliedskonto\_zahlungsgrund

Ein Grund warum bezahlt werden muss z.B. Mitgliedsbeitrag oder Arbeitsstunden

#### mitgliedskonto\_zahlungsgrund1

Noch eine Begründung für diese Buchung

#### mitgliedskonto\_ist

Betrag dieser Buchung der bereits bezahlt wurde

#### mitgliedskonto\_differenz

mitgliedskonto\_betrag - mitgliedskonto\_ist, also was noch zu zahlen ist.

#### mitgliedskonto\_buchungsdatum

Datum der Buchung

## Spendenbescheinigung

#### spendenbescheinigung\_empfaenger

Aufbereitetes Adressfeld des Spenders

#### spendenbescheinigung\_betrag

Betrag

#### spendenbescheinigung\_betraginworten

Betrag in Worten

#### spendenbescheinigung\_datum

Datum der Spendenbescheinigung

#### spendenbescheinigung\_spendenart

Art der Spendenbescheinigung

#### spendenbescheinigung\_spendedatum

Datum der Spende

#### spendenbescheinigung\_spendenzeitraum

Sammelspendenbescheinigungen: Zeitraum der Spende

#### spendenbescheinigung\_ersatzaufwendungen

Ersatz für Aufwendungen

#### spendenbescheinigung\_ersatzaufwendungen\_ja

Ersatz für Aufwendungen

#### spendenbescheinigung\_ersatzaufwendungen\_nein

Ersatz für Aufwendungen

#### spendenbescheinigung\_buchungsliste

Liste der Buchungen

#### spendenbescheinigung\_bezeichnungsachzuwendung

Bezeichnung der Sachzuwendung

#### spendenbescheinigung\_herkunftsachzuwendung

Herkunft der Sachzuwendung

#### spendenbescheinigung\_unterlagenwertermittlung

Unterlagen zur Wertermittlung

### Abrechnungsparameter

Diese Parameter stehen nur beim Abrechnungslauf zur Verfügung. Die Variablen können im Verwendungszweck und im Verwendungszweck des Zusatzbetrages benutzt werden.

#### abrechnungsparameter\_abrechnungsmodus

Text des Abrechnungsmodus

#### abrechnungsparameter\_abrechnungsmonat

Abrechnungsmonat (nur bei entsprechendem Beitragsmodell)

#### abrechnungsparameter\_faelligkeit1

Fälligkeit bei Erstlastschriften

#### abrechnungsparameter\_faelligkeit2

Fälligkeit bei Folgelastschriften

#### abrechnungsparameter\_stichtag

Stichtag

#### abrechnungsparameter\_vondatum

Von-Datum bei Abrechnung von neu eingetretenen Mitgliedern

#### abrechnungsparameter\_bisdatum

Bis-Datum bei Abrechnung von neu eingetretenen Mitgliedern

#### abrechnungsparameter\_zusatzbetraege

Merkmal, ob Zusatzbeträge abgerechnet werden sollen

#### abrechnungsparameter\_kursteilnehmer

Merkmal, ob Kursteilnehmer abgerechnet werden sollen

#### abrechnungsparameter\_kompakteabbuchung

Merkmal, ob die Abbuchung von gleichen Konten zusammengefasst werden sollen

#### abrechnungsparameter\_sepaprint

Merkmal, ob die SEPA-Listen gedruckt werden sollen


# Lizenzen

JVerein steht unter [GPL V3.](/sonstiges/lizenzen#gpl-v3)

## Nutzung von Bibliotheken durch JVerein

### Jameica

Framework, Download: <https://www.willuhn.de/products/jameica/download.php>, Lizenz: [GPL V2](/sonstiges/lizenzen#gpl-v2)

### Hibiscus

Onlinebanking, Download: Intern über Jameica, Lizenz: [GPL V2](/sonstiges/lizenzen#gpl-v2)

### activation.jar

JavaBeans Activation Framework, Download: <http://www.oracle.com/technetwork/java/jaf11-139815.html>, Lizenz: [Oracle Binary Code License Agreement for Java SE und JavaFX Technologies](/sonstiges/lizenzen#oracle-binary-code-license-agreement-for-java-se-und-javafx-technologies)

### bsh-core-2.0b4.jar

Lightweight Scripting for Java, Download: <http://www.beanshell.org/download.html>, Lizenz: Sun Public License (Lizenztext ist nicht mehr verfügbar) und [Gnu Lesser General Public License](/sonstiges/lizenzen#gnu-lesser-general-public-license)

### commons-validator-1.5.1.jar

Valididierung, Download: <https://commons.apache.org/proper/commons-validator/download_validator.cgi>, Lizenz: [Apache License 2.0](/sonstiges/lizenzen#apache-license-20)

### core-3.1.0.jar

Core barcode encoding/decoding library, Download: <https://github.com/zxing/zxing>, Lizenz: [Apache License 2.0](/sonstiges/lizenzen#apache-license-20)

### csvjdbc.jar

CSV file JDBC driver, Download: <https://sourceforge.net/projects/csvjdbc/>, Lizenz: [Gnu Lesser General Public License](/sonstiges/lizenzen#gnu-lesser-general-public-license)

### ez-vcard-0.9.5.jar

ez-vcard is a vCard library written in Java, Download: <https://github.com/mangstadt/ez-vcard>, Lizenz: [ez-card-Lizenz](/sonstiges/lizenzen#ez-card-lizenz)

### text-hyph-xml.jar

Silbentrennung für iText, Download: Die alte Version steht nicht mehr zum Download zur Verfügung, Lizenz: [LGPL](/sonstiges/lizenzen/lgpl)

### javase-3.1.0.jar

Java SE-specific extensions to core ZXing library, Download: <https://github.com/zxing/zxing/wiki/Getting-Started-Developing>, Lizenz: [Apache License 2.0](/sonstiges/lizenzen/apache-license-20)

### jodatime-2.3.jar

Joda-Time provides a quality replacement for the Java date and time classes, Download: <https://github.com/JodaOrg/joda-time/releases>, Lizenz: [Apache License 2.0](/sonstiges/lizenzen/apache-license-20)

### jollyday-0.4.7.jar

This API calculates the holidays for a given year, country and region, Download: <https://sourceforge.net/projects/jollyday/files/releases/>, Lizenz: [Apache License 2.0](/sonstiges/lizenzen/apache-license-20)

### junit-4.8.1.jar

JUnit is a simple framework to write repeatable tests, Download: <https://github.com/junit-team/junit4/wiki/Download-and-Install>, Lizenz:[Eclipse Public License 1.0](/sonstiges/lizenzen/eclipse-public-license-10)

### mail.jar

Java-Mail, Download: <https://java.net/projects/javamail/pages/Home>, Lizenz: [Java-Mail License](/sonstiges/lizenzen/java-mail-license)

### nc.jar

Umrechnung von Einheiten, Download: <http://numericalchameleon.net/de/download.html>, Lizenz: [GPL V3](/sonstiges/lizenzen/gpl-v3)

### snakeyaml-1.13.jar

SnakeYAML is a YAML processor for the Java Virtual Machine, Download: <https://bitbucket.org/asomov/snakeyaml/downloads/> , Lizenz: [Apache License 2.0](/sonstiges/lizenzen/apache-license-20)


# Apache License 2.0

```
 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
```


# Eclipse Public License 1.0

THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.

**1. DEFINITIONS**

"Contribution" means:

a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and

b) in the case of each subsequent Contributor:

i) changes to the Program, and

ii) additions to the Program;

where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.

"Contributor" means any person or entity that distributes the Program.

"Licensed Patents" mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.

"Program" means the Contributions distributed in accordance with this Agreement.

"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.

**2. GRANT OF RIGHTS**

a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.

b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.

c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.

d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.

**3. REQUIREMENTS**

A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:

a) it complies with the terms and conditions of this Agreement; and

b) its license agreement:

i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;

ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;

iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and

iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.

When the Program is made available in source code form:

a) it must be made available under this Agreement; and

b) a copy of this Agreement must be included with each copy of the Program.

Contributors may not remove or alter any copyright notices contained within the Program.

Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.

**4. COMMERCIAL DISTRIBUTION**

Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.

For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.

**5. NO WARRANTY**

EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.

**6. DISCLAIMER OF LIABILITY**

EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

**7. GENERAL**

If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.

If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.

All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.

Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.

This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.


# ez-card-Lizenz

```
Copyright (c) 2012-2016, Michael Angstadt
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met: 

1. Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer. 
2. Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution. 

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The views and conclusions contained in the software and documentation are those
of the authors and should not be interpreted as representing official policies, 
either expressed or implied, of the FreeBSD Project.
```


# Gnu Lesser General Public License

```
GNU LESSER GENERAL PUBLIC LICENSE
                       Version 3, 29 June 2007

 Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.


  This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.

  0. Additional Definitions.

  As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.

  "The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.

  An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.

  A "Combined Work" is a work produced by combining or linking an
Application with the Library.  The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".

  The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.

  The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.

  1. Exception to Section 3 of the GNU GPL.

  You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.

  2. Conveying Modified Versions.

  If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:

   a) under this License, provided that you make a good faith effort to
   ensure that, in the event an Application does not supply the
   function or data, the facility still operates, and performs
   whatever part of its purpose remains meaningful, or

   b) under the GNU GPL, with none of the additional permissions of
   this License applicable to that copy.

  3. Object Code Incorporating Material from Library Header Files.

  The object code form of an Application may incorporate material from
a header file that is part of the Library.  You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:

   a) Give prominent notice with each copy of the object code that the
   Library is used in it and that the Library and its use are
   covered by this License.

   b) Accompany the object code with a copy of the GNU GPL and this license
   document.

  4. Combined Works.

  You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:

   a) Give prominent notice with each copy of the Combined Work that
   the Library is used in it and that the Library and its use are
   covered by this License.

   b) Accompany the Combined Work with a copy of the GNU GPL and this license
   document.

   c) For a Combined Work that displays copyright notices during
   execution, include the copyright notice for the Library among
   these notices, as well as a reference directing the user to the
   copies of the GNU GPL and this license document.

   d) Do one of the following:

       0) Convey the Minimal Corresponding Source under the terms of this
       License, and the Corresponding Application Code in a form
       suitable for, and under terms that permit, the user to
       recombine or relink the Application with a modified version of
       the Linked Version to produce a modified Combined Work, in the
       manner specified by section 6 of the GNU GPL for conveying
       Corresponding Source.

       1) Use a suitable shared library mechanism for linking with the
       Library.  A suitable mechanism is one that (a) uses at run time
       a copy of the Library already present on the user's computer
       system, and (b) will operate properly with a modified version
       of the Library that is interface-compatible with the Linked
       Version.

   e) Provide Installation Information, but only if you would otherwise
   be required to provide such information under section 6 of the
   GNU GPL, and only to the extent that such information is
   necessary to install and execute a modified version of the
   Combined Work produced by recombining or relinking the
   Application with a modified version of the Linked Version. (If
   you use option 4d0, the Installation Information must accompany
   the Minimal Corresponding Source and Corresponding Application
   Code. If you use option 4d1, you must provide the Installation
   Information in the manner specified by section 6 of the GNU GPL
   for conveying Corresponding Source.)

  5. Combined Libraries.

  You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:

   a) Accompany the combined library with a copy of the same work based
   on the Library, uncombined with any other library facilities,
   conveyed under the terms of this License.

   b) Give prominent notice with the combined library that part of it
   is a work based on the Library, and explaining where to find the
   accompanying uncombined form of the same work.

  6. Revised Versions of the GNU Lesser General Public License.

  The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.

  Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.

  If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.
```


# GPL V2

```
GNU GENERAL PUBLIC LICENSE
                       Version 2, June 1991

 Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

                            Preamble

  The licenses for most software are designed to take away your
freedom to share and change it.  By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users.  This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it.  (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.)  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.

  To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have.  You must make sure that they, too, receive or can get the
source code.  And you must show them these terms so they know their
rights.

  We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.

  Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software.  If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.

  Finally, any free program is threatened constantly by software
patents.  We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary.  To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.

  The precise terms and conditions for copying, distribution and
modification follow.

                    GNU GENERAL PUBLIC LICENSE
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License.  The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language.  (Hereinafter, translation is included without limitation in
the term "modification".)  Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope.  The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.

  1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.

You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.

  2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

    a) You must cause the modified files to carry prominent notices
    stating that you changed the files and the date of any change.

    b) You must cause any work that you distribute or publish, that in
    whole or in part contains or is derived from the Program or any
    part thereof, to be licensed as a whole at no charge to all third
    parties under the terms of this License.

    c) If the modified program normally reads commands interactively
    when run, you must cause it, when started running for such
    interactive use in the most ordinary way, to print or display an
    announcement including an appropriate copyright notice and a
    notice that there is no warranty (or else, saying that you provide
    a warranty) and that users may redistribute the program under
    these conditions, and telling the user how to view a copy of this
    License.  (Exception: if the Program itself is interactive but
    does not normally print such an announcement, your work based on
    the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole.  If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works.  But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.

In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.

  3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:

    a) Accompany it with the complete corresponding machine-readable
    source code, which must be distributed under the terms of Sections
    1 and 2 above on a medium customarily used for software interchange; or,

    b) Accompany it with a written offer, valid for at least three
    years, to give any third party, for a charge no more than your
    cost of physically performing source distribution, a complete
    machine-readable copy of the corresponding source code, to be
    distributed under the terms of Sections 1 and 2 above on a medium
    customarily used for software interchange; or,

    c) Accompany it with the information you received as to the offer
    to distribute corresponding source code.  (This alternative is
    allowed only for noncommercial distribution and only if you
    received the program in object code or executable form with such
    an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for
making modifications to it.  For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable.  However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.

If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.

  4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License.  Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.

  5. You are not required to accept this License, since you have not
signed it.  However, nothing else grants you permission to modify or
distribute the Program or its derivative works.  These actions are
prohibited by law if you do not accept this License.  Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.

  6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions.  You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.

  7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all.  For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.

It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices.  Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.

This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.

  8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded.  In such case, this License incorporates
the limitation as if written in the body of this License.

  9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

Each version is given a distinguishing version number.  If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation.  If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.

  10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission.  For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this.  Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.

                            NO WARRANTY

  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.

  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

                     END OF TERMS AND CONDITIONS

            How to Apply These Terms to Your New Programs

  If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License along
    with this program; if not, write to the Free Software Foundation, Inc.,
    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:

    Gnomovision version 69, Copyright (C) year name of author
    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License.  Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary.  Here is a sample; alter the names:

  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
  `Gnomovision' (which makes passes at compilers) written by James Hacker.

  <signature of Ty Coon>, 1 April 1989
  Ty Coon, President of Vice

This General Public License does not permit incorporating your program into
proprietary programs.  If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library.  If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
```


# GPL V3

```
GNU GENERAL PUBLIC LICENSE
                       Version 3, 29 June 2007

 Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

                            Preamble

  The GNU General Public License is a free, copyleft license for
software and other kinds of works.

  The licenses for most software and other practical works are designed
to take away your freedom to share and change the works.  By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users.  We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors.  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.

  To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights.  Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received.  You must make sure that they, too, receive
or can get the source code.  And you must show them these terms so they
know their rights.

  Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.

  For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software.  For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.

  Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so.  This is fundamentally incompatible with the aim of
protecting users' freedom to change the software.  The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable.  Therefore, we
have designed this version of the GPL to prohibit the practice for those
products.  If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.

  Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary.  To prevent this, the GPL assures that
patents cannot be used to render the program non-free.

  The precise terms and conditions for copying, distribution and
modification follow.

                       TERMS AND CONDITIONS

  0. Definitions.

  "This License" refers to version 3 of the GNU General Public License.

  "Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.

  "The Program" refers to any copyrightable work licensed under this
License.  Each licensee is addressed as "you".  "Licensees" and
"recipients" may be individuals or organizations.

  To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy.  The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.

  A "covered work" means either the unmodified Program or a work based
on the Program.

  To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy.  Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.

  To "convey" a work means any kind of propagation that enables other
parties to make or receive copies.  Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.

  An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License.  If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.

  1. Source Code.

  The "source code" for a work means the preferred form of the work
for making modifications to it.  "Object code" means any non-source
form of a work.

  A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.

  The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form.  A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.

  The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities.  However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work.  For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.

  The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.

  The Corresponding Source for a work in source code form is that
same work.

  2. Basic Permissions.

  All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met.  This License explicitly affirms your unlimited
permission to run the unmodified Program.  The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work.  This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.

  You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force.  You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright.  Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.

  Conveying under any other circumstances is permitted solely under
the conditions stated below.  Sublicensing is not allowed; section 10
makes it unnecessary.

  3. Protecting Users' Legal Rights From Anti-Circumvention Law.

  No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.

  When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.

  4. Conveying Verbatim Copies.

  You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.

  You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.

  5. Conveying Modified Source Versions.

  You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:

    a) The work must carry prominent notices stating that you modified
    it, and giving a relevant date.

    b) The work must carry prominent notices stating that it is
    released under this License and any conditions added under section
    7.  This requirement modifies the requirement in section 4 to
    "keep intact all notices".

    c) You must license the entire work, as a whole, under this
    License to anyone who comes into possession of a copy.  This
    License will therefore apply, along with any applicable section 7
    additional terms, to the whole of the work, and all its parts,
    regardless of how they are packaged.  This License gives no
    permission to license the work in any other way, but it does not
    invalidate such permission if you have separately received it.

    d) If the work has interactive user interfaces, each must display
    Appropriate Legal Notices; however, if the Program has interactive
    interfaces that do not display Appropriate Legal Notices, your
    work need not make them do so.

  A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit.  Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.

  6. Conveying Non-Source Forms.

  You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:

    a) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by the
    Corresponding Source fixed on a durable physical medium
    customarily used for software interchange.

    b) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by a
    written offer, valid for at least three years and valid for as
    long as you offer spare parts or customer support for that product
    model, to give anyone who possesses the object code either (1) a
    copy of the Corresponding Source for all the software in the
    product that is covered by this License, on a durable physical
    medium customarily used for software interchange, for a price no
    more than your reasonable cost of physically performing this
    conveying of source, or (2) access to copy the
    Corresponding Source from a network server at no charge.

    c) Convey individual copies of the object code with a copy of the
    written offer to provide the Corresponding Source.  This
    alternative is allowed only occasionally and noncommercially, and
    only if you received the object code with such an offer, in accord
    with subsection 6b.

    d) Convey the object code by offering access from a designated
    place (gratis or for a charge), and offer equivalent access to the
    Corresponding Source in the same way through the same place at no
    further charge.  You need not require recipients to copy the
    Corresponding Source along with the object code.  If the place to
    copy the object code is a network server, the Corresponding Source
    may be on a different server (operated by you or a third party)
    that supports equivalent copying facilities, provided you maintain
    clear directions next to the object code saying where to find the
    Corresponding Source.  Regardless of what server hosts the
    Corresponding Source, you remain obligated to ensure that it is
    available for as long as needed to satisfy these requirements.

    e) Convey the object code using peer-to-peer transmission, provided
    you inform other peers where the object code and Corresponding
    Source of the work are being offered to the general public at no
    charge under subsection 6d.

  A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.

  A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling.  In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage.  For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product.  A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.

  "Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source.  The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.

  If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information.  But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).

  The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed.  Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.

  Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.

  7. Additional Terms.

  "Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law.  If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.

  When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it.  (Additional permissions may be written to require their own
removal in certain cases when you modify the work.)  You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.

  Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:

    a) Disclaiming warranty or limiting liability differently from the
    terms of sections 15 and 16 of this License; or

    b) Requiring preservation of specified reasonable legal notices or
    author attributions in that material or in the Appropriate Legal
    Notices displayed by works containing it; or

    c) Prohibiting misrepresentation of the origin of that material, or
    requiring that modified versions of such material be marked in
    reasonable ways as different from the original version; or

    d) Limiting the use for publicity purposes of names of licensors or
    authors of the material; or

    e) Declining to grant rights under trademark law for use of some
    trade names, trademarks, or service marks; or

    f) Requiring indemnification of licensors and authors of that
    material by anyone who conveys the material (or modified versions of
    it) with contractual assumptions of liability to the recipient, for
    any liability that these contractual assumptions directly impose on
    those licensors and authors.

  All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10.  If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term.  If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.

  If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.

  Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.

  8. Termination.

  You may not propagate or modify a covered work except as expressly
provided under this License.  Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).

  However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.

  Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.

  Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License.  If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.

  9. Acceptance Not Required for Having Copies.

  You are not required to accept this License in order to receive or
run a copy of the Program.  Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance.  However,
nothing other than this License grants you permission to propagate or
modify any covered work.  These actions infringe copyright if you do
not accept this License.  Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.

  10. Automatic Licensing of Downstream Recipients.

  Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License.  You are not responsible
for enforcing compliance by third parties with this License.

  An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations.  If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.

  You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License.  For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.

  11. Patents.

  A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based.  The
work thus licensed is called the contributor's "contributor version".

  A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version.  For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.

  Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.

  In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement).  To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.

  If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients.  "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.

  If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.

  A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License.  You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.

  Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.

  12. No Surrender of Others' Freedom.

  If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all.  For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.

  13. Use with the GNU Affero General Public License.

  Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work.  The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.

  14. Revised Versions of this License.

  The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

  Each version is given a distinguishing version number.  If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation.  If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.

  If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.

  Later license versions may give you additional or different
permissions.  However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.

  15. Disclaimer of Warranty.

  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

  16. Limitation of Liability.

  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.

  17. Interpretation of Sections 15 and 16.

  If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.

                     END OF TERMS AND CONDITIONS

            How to Apply These Terms to Your New Programs

  If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

Also add information on how to contact you by electronic and paper mail.

  If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:

    <program>  Copyright (C) <year>  <name of author>
    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License.  Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".

  You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.

  The GNU General Public License does not permit incorporating your program
into proprietary programs.  If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library.  If this is what you want to do, use the GNU Lesser General
Public License instead of this License.  But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
```


# Java-Mail License

JavaMail uses several licenses:

* Most of the JavaMail source code is licensed under the CDDL license and the GPLv2 with Classpath Exception license; see the license information at the top of each source file.
* The source code for the demo programs is licensed under the BSD license; again, the license is in each source file.
* The binary jar files published to the Maven repository are licensed under the same CDDL and GPLv2+CE licenses as the corresponding source code; see the file

  `META-INF/LICENSE.txt`

  in each jar file.
* The JavaMail API specification is licensed under the standard JCP Specification License.

You'll find the text of the CDDL and GPLv2+CE licenses in the workspace in the file`mail/src/main/resources/META-INF/LICENSE.txt`. The specification license is in the workspace at`mail/src/main/java/doc-files/speclicense.html`. Don't let the presence of these license files in the workspace confuse you into thinking that they apply to all files in the workspace.

You should always read the license file included with every download, and read the license text included in every source file.


# LGPL

```
GNU LESSER GENERAL PUBLIC LICENSE
```

```
                       Version 3, 29 June 2007

 Copyright (C) 2007 Free Software Foundation, Inc. 
<
http://fsf.org/
>

 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.


  This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.

  0. Additional Definitions.

  As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.

  "The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.

  An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.

  A "Combined Work" is a work produced by combining or linking an
Application with the Library.  The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".

  The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.

  The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.

  1. Exception to Section 3 of the GNU GPL.

  You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.

  2. Conveying Modified Versions.

  If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:

   a) under this License, provided that you make a good faith effort to
   ensure that, in the event an Application does not supply the
   function or data, the facility still operates, and performs
   whatever part of its purpose remains meaningful, or

   b) under the GNU GPL, with none of the additional permissions of
   this License applicable to that copy.

  3. Object Code Incorporating Material from Library Header Files.

  The object code form of an Application may incorporate material from
a header file that is part of the Library.  You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:

   a) Give prominent notice with each copy of the object code that the
   Library is used in it and that the Library and its use are
   covered by this License.

   b) Accompany the object code with a copy of the GNU GPL and this license
   document.

  4. Combined Works.

  You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:

   a) Give prominent notice with each copy of the Combined Work that
   the Library is used in it and that the Library and its use are
   covered by this License.

   b) Accompany the Combined Work with a copy of the GNU GPL and this license
   document.

   c) For a Combined Work that displays copyright notices during
   execution, include the copyright notice for the Library among
   these notices, as well as a reference directing the user to the
   copies of the GNU GPL and this license document.

   d) Do one of the following:

       0) Convey the Minimal Corresponding Source under the terms of this
       License, and the Corresponding Application Code in a form
       suitable for, and under terms that permit, the user to
       recombine or relink the Application with a modified version of
       the Linked Version to produce a modified Combined Work, in the
       manner specified by section 6 of the GNU GPL for conveying
       Corresponding Source.

       1) Use a suitable shared library mechanism for linking with the
       Library.  A suitable mechanism is one that (a) uses at run time
       a copy of the Library already present on the user's computer
       system, and (b) will operate properly with a modified version
       of the Library that is interface-compatible with the Linked
       Version.

   e) Provide Installation Information, but only if you would otherwise
   be required to provide such information under section 6 of the
   GNU GPL, and only to the extent that such information is
   necessary to install and execute a modified version of the
   Combined Work produced by recombining or relinking the
   Application with a modified version of the Linked Version. (If
   you use option 4d0, the Installation Information must accompany
   the Minimal Corresponding Source and Corresponding Application
   Code. If you use option 4d1, you must provide the Installation
   Information in the manner specified by section 6 of the GNU GPL
   for conveying Corresponding Source.)

  5. Combined Libraries.

  You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:

   a) Accompany the combined library with a copy of the same work based
   on the Library, uncombined with any other library facilities,
   conveyed under the terms of this License.

   b) Give prominent notice with the combined library that part of it
   is a work based on the Library, and explaining where to find the
   accompanying uncombined form of the same work.

  6. Revised Versions of the GNU Lesser General Public License.

  The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.

  Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.

  If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.
```


# Mozilla Public License

```
MOZILLA PUBLIC LICENSE
                                Version 1.1

                              ---------------

1. Definitions.

     1.0.1. "Commercial Use" means distribution or otherwise making the
     Covered Code available to a third party.

     1.1. "Contributor" means each entity that creates or contributes to
     the creation of Modifications.

     1.2. "Contributor Version" means the combination of the Original
     Code, prior Modifications used by a Contributor, and the Modifications
     made by that particular Contributor.

     1.3. "Covered Code" means the Original Code or Modifications or the
     combination of the Original Code and Modifications, in each case
     including portions thereof.

     1.4. "Electronic Distribution Mechanism" means a mechanism generally
     accepted in the software development community for the electronic
     transfer of data.

     1.5. "Executable" means Covered Code in any form other than Source
     Code.

     1.6. "Initial Developer" means the individual or entity identified
     as the Initial Developer in the Source Code notice required by Exhibit
     A.

     1.7. "Larger Work" means a work which combines Covered Code or
     portions thereof with code not governed by the terms of this License.

     1.8. "License" means this document.

     1.8.1. "Licensable" means having the right to grant, to the maximum
     extent possible, whether at the time of the initial grant or
     subsequently acquired, any and all of the rights conveyed herein.

     1.9. "Modifications" means any addition to or deletion from the
     substance or structure of either the Original Code or any previous
     Modifications. When Covered Code is released as a series of files, a
     Modification is:
          A. Any addition to or deletion from the contents of a file
          containing Original Code or previous Modifications.

          B. Any new file that contains any part of the Original Code or
          previous Modifications.

     1.10. "Original Code" means Source Code of computer software code
     which is described in the Source Code notice required by Exhibit A as
     Original Code, and which, at the time of its release under this
     License is not already Covered Code governed by this License.

     1.10.1. "Patent Claims" means any patent claim(s), now owned or
     hereafter acquired, including without limitation,  method, process,
     and apparatus claims, in any patent Licensable by grantor.

     1.11. "Source Code" means the preferred form of the Covered Code for
     making modifications to it, including all modules it contains, plus
     any associated interface definition files, scripts used to control
     compilation and installation of an Executable, or source code
     differential comparisons against either the Original Code or another
     well known, available Covered Code of the Contributor's choice. The
     Source Code can be in a compressed or archival form, provided the
     appropriate decompression or de-archiving software is widely available
     for no charge.

     1.12. "You" (or "Your")  means an individual or a legal entity
     exercising rights under, and complying with all of the terms of, this
     License or a future version of this License issued under Section 6.1.
     For legal entities, "You" includes any entity which controls, is
     controlled by, or is under common control with You. For purposes of
     this definition, "control" means (a) the power, direct or indirect,
     to cause the direction or management of such entity, whether by
     contract or otherwise, or (b) ownership of more than fifty percent
     (50%) of the outstanding shares or beneficial ownership of such
     entity.

2. Source Code License.

     2.1. The Initial Developer Grant.
     The Initial Developer hereby grants You a world-wide, royalty-free,
     non-exclusive license, subject to third party intellectual property
     claims:
          (a)  under intellectual property rights (other than patent or
          trademark) Licensable by Initial Developer to use, reproduce,
          modify, display, perform, sublicense and distribute the Original
          Code (or portions thereof) with or without Modifications, and/or
          as part of a Larger Work; and

          (b) under Patents Claims infringed by the making, using or
          selling of Original Code, to make, have made, use, practice,
          sell, and offer for sale, and/or otherwise dispose of the
          Original Code (or portions thereof).

          (c) the licenses granted in this Section 2.1(a) and (b) are
          effective on the date Initial Developer first distributes
          Original Code under the terms of this License.

          (d) Notwithstanding Section 2.1(b) above, no patent license is
          granted: 1) for code that You delete from the Original Code; 2)
          separate from the Original Code;  or 3) for infringements caused
          by: i) the modification of the Original Code or ii) the
          combination of the Original Code with other software or devices.

     2.2. Contributor Grant.
     Subject to third party intellectual property claims, each Contributor
     hereby grants You a world-wide, royalty-free, non-exclusive license

          (a)  under intellectual property rights (other than patent or
          trademark) Licensable by Contributor, to use, reproduce, modify,
          display, perform, sublicense and distribute the Modifications
          created by such Contributor (or portions thereof) either on an
          unmodified basis, with other Modifications, as Covered Code
          and/or as part of a Larger Work; and

          (b) under Patent Claims infringed by the making, using, or
          selling of  Modifications made by that Contributor either alone
          and/or in combination with its Contributor Version (or portions
          of such combination), to make, use, sell, offer for sale, have
          made, and/or otherwise dispose of: 1) Modifications made by that
          Contributor (or portions thereof); and 2) the combination of
          Modifications made by that Contributor with its Contributor
          Version (or portions of such combination).

          (c) the licenses granted in Sections 2.2(a) and 2.2(b) are
          effective on the date Contributor first makes Commercial Use of
          the Covered Code.

          (d)    Notwithstanding Section 2.2(b) above, no patent license is
          granted: 1) for any code that Contributor has deleted from the
          Contributor Version; 2)  separate from the Contributor Version;
          3)  for infringements caused by: i) third party modifications of
          Contributor Version or ii)  the combination of Modifications made
          by that Contributor with other software  (except as part of the
          Contributor Version) or other devices; or 4) under Patent Claims
          infringed by Covered Code in the absence of Modifications made by
          that Contributor.

3. Distribution Obligations.

     3.1. Application of License.
     The Modifications which You create or to which You contribute are
     governed by the terms of this License, including without limitation
     Section 2.2. The Source Code version of Covered Code may be
     distributed only under the terms of this License or a future version
     of this License released under Section 6.1, and You must include a
     copy of this License with every copy of the Source Code You
     distribute. You may not offer or impose any terms on any Source Code
     version that alters or restricts the applicable version of this
     License or the recipients' rights hereunder. However, You may include
     an additional document offering the additional rights described in
     Section 3.5.

     3.2. Availability of Source Code.
     Any Modification which You create or to which You contribute must be
     made available in Source Code form under the terms of this License
     either on the same media as an Executable version or via an accepted
     Electronic Distribution Mechanism to anyone to whom you made an
     Executable version available; and if made available via Electronic
     Distribution Mechanism, must remain available for at least twelve (12)
     months after the date it initially became available, or at least six
     (6) months after a subsequent version of that particular Modification
     has been made available to such recipients. You are responsible for
     ensuring that the Source Code version remains available even if the
     Electronic Distribution Mechanism is maintained by a third party.

     3.3. Description of Modifications.
     You must cause all Covered Code to which You contribute to contain a
     file documenting the changes You made to create that Covered Code and
     the date of any change. You must include a prominent statement that
     the Modification is derived, directly or indirectly, from Original
     Code provided by the Initial Developer and including the name of the
     Initial Developer in (a) the Source Code, and (b) in any notice in an
     Executable version or related documentation in which You describe the
     origin or ownership of the Covered Code.

     3.4. Intellectual Property Matters
          (a) Third Party Claims.
          If Contributor has knowledge that a license under a third party's
          intellectual property rights is required to exercise the rights
          granted by such Contributor under Sections 2.1 or 2.2,
          Contributor must include a text file with the Source Code
          distribution titled "LEGAL" which describes the claim and the
          party making the claim in sufficient detail that a recipient will
          know whom to contact. If Contributor obtains such knowledge after
          the Modification is made available as described in Section 3.2,
          Contributor shall promptly modify the LEGAL file in all copies
          Contributor makes available thereafter and shall take other steps
          (such as notifying appropriate mailing lists or newsgroups)
          reasonably calculated to inform those who received the Covered
          Code that new knowledge has been obtained.

          (b) Contributor APIs.
          If Contributor's Modifications include an application programming
          interface and Contributor has knowledge of patent licenses which
          are reasonably necessary to implement that API, Contributor must
          also include this information in the LEGAL file.

               (c)    Representations.
          Contributor represents that, except as disclosed pursuant to
          Section 3.4(a) above, Contributor believes that Contributor's
          Modifications are Contributor's original creation(s) and/or
          Contributor has sufficient rights to grant the rights conveyed by
          this License.

     3.5. Required Notices.
     You must duplicate the notice in Exhibit A in each file of the Source
     Code.  If it is not possible to put such notice in a particular Source
     Code file due to its structure, then You must include such notice in a
     location (such as a relevant directory) where a user would be likely
     to look for such a notice.  If You created one or more Modification(s)
     You may add your name as a Contributor to the notice described in
     Exhibit A.  You must also duplicate this License in any documentation
     for the Source Code where You describe recipients' rights or ownership
     rights relating to Covered Code.  You may choose to offer, and to
     charge a fee for, warranty, support, indemnity or liability
     obligations to one or more recipients of Covered Code. However, You
     may do so only on Your own behalf, and not on behalf of the Initial
     Developer or any Contributor. You must make it absolutely clear than
     any such warranty, support, indemnity or liability obligation is
     offered by You alone, and You hereby agree to indemnify the Initial
     Developer and every Contributor for any liability incurred by the
     Initial Developer or such Contributor as a result of warranty,
     support, indemnity or liability terms You offer.

     3.6. Distribution of Executable Versions.
     You may distribute Covered Code in Executable form only if the
     requirements of Section 3.1-3.5 have been met for that Covered Code,
     and if You include a notice stating that the Source Code version of
     the Covered Code is available under the terms of this License,
     including a description of how and where You have fulfilled the
     obligations of Section 3.2. The notice must be conspicuously included
     in any notice in an Executable version, related documentation or
     collateral in which You describe recipients' rights relating to the
     Covered Code. You may distribute the Executable version of Covered
     Code or ownership rights under a license of Your choice, which may
     contain terms different from this License, provided that You are in
     compliance with the terms of this License and that the license for the
     Executable version does not attempt to limit or alter the recipient's
     rights in the Source Code version from the rights set forth in this
     License. If You distribute the Executable version under a different
     license You must make it absolutely clear that any terms which differ
     from this License are offered by You alone, not by the Initial
     Developer or any Contributor. You hereby agree to indemnify the
     Initial Developer and every Contributor for any liability incurred by
     the Initial Developer or such Contributor as a result of any such
     terms You offer.

     3.7. Larger Works.
     You may create a Larger Work by combining Covered Code with other code
     not governed by the terms of this License and distribute the Larger
     Work as a single product. In such a case, You must make sure the
     requirements of this License are fulfilled for the Covered Code.

4. Inability to Comply Due to Statute or Regulation.

     If it is impossible for You to comply with any of the terms of this
     License with respect to some or all of the Covered Code due to
     statute, judicial order, or regulation then You must: (a) comply with
     the terms of this License to the maximum extent possible; and (b)
     describe the limitations and the code they affect. Such description
     must be included in the LEGAL file described in Section 3.4 and must
     be included with all distributions of the Source Code. Except to the
     extent prohibited by statute or regulation, such description must be
     sufficiently detailed for a recipient of ordinary skill to be able to
     understand it.

5. Application of this License.

     This License applies to code to which the Initial Developer has
     attached the notice in Exhibit A and to related Covered Code.

6. Versions of the License.

     6.1. New Versions.
     Netscape Communications Corporation ("Netscape") may publish revised
     and/or new versions of the License from time to time. Each version
     will be given a distinguishing version number.

     6.2. Effect of New Versions.
     Once Covered Code has been published under a particular version of the
     License, You may always continue to use it under the terms of that
     version. You may also choose to use such Covered Code under the terms
     of any subsequent version of the License published by Netscape. No one
     other than Netscape has the right to modify the terms applicable to
     Covered Code created under this License.

     6.3. Derivative Works.
     If You create or use a modified version of this License (which you may
     only do in order to apply it to code which is not already Covered Code
     governed by this License), You must (a) rename Your license so that
     the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape",
     "MPL", "NPL" or any confusingly similar phrase do not appear in your
     license (except to note that your license differs from this License)
     and (b) otherwise make it clear that Your version of the license
     contains terms which differ from the Mozilla Public License and
     Netscape Public License. (Filling in the name of the Initial
     Developer, Original Code or Contributor in the notice described in
     Exhibit A shall not of themselves be deemed to be modifications of
     this License.)

7. DISCLAIMER OF WARRANTY.

     COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
     WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
     WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
     DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
     THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
     IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
     YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
     COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
     OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
     ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.

8. TERMINATION.

     8.1.  This License and the rights granted hereunder will terminate
     automatically if You fail to comply with terms herein and fail to cure
     such breach within 30 days of becoming aware of the breach. All
     sublicenses to the Covered Code which are properly granted shall
     survive any termination of this License. Provisions which, by their
     nature, must remain in effect beyond the termination of this License
     shall survive.

     8.2.  If You initiate litigation by asserting a patent infringement
     claim (excluding declatory judgment actions) against Initial Developer
     or a Contributor (the Initial Developer or Contributor against whom
     You file such action is referred to as "Participant")  alleging that:

     (a)  such Participant's Contributor Version directly or indirectly
     infringes any patent, then any and all rights granted by such
     Participant to You under Sections 2.1 and/or 2.2 of this License
     shall, upon 60 days notice from Participant terminate prospectively,
     unless if within 60 days after receipt of notice You either: (i)
     agree in writing to pay Participant a mutually agreeable reasonable
     royalty for Your past and future use of Modifications made by such
     Participant, or (ii) withdraw Your litigation claim with respect to
     the Contributor Version against such Participant.  If within 60 days
     of notice, a reasonable royalty and payment arrangement are not
     mutually agreed upon in writing by the parties or the litigation claim
     is not withdrawn, the rights granted by Participant to You under
     Sections 2.1 and/or 2.2 automatically terminate at the expiration of
     the 60 day notice period specified above.

     (b)  any software, hardware, or device, other than such Participant's
     Contributor Version, directly or indirectly infringes any patent, then
     any rights granted to You by such Participant under Sections 2.1(b)
     and 2.2(b) are revoked effective as of the date You first made, used,
     sold, distributed, or had made, Modifications made by that
     Participant.

     8.3.  If You assert a patent infringement claim against Participant
     alleging that such Participant's Contributor Version directly or
     indirectly infringes any patent where such claim is resolved (such as
     by license or settlement) prior to the initiation of patent
     infringement litigation, then the reasonable value of the licenses
     granted by such Participant under Sections 2.1 or 2.2 shall be taken
     into account in determining the amount or value of any payment or
     license.

     8.4.  In the event of termination under Sections 8.1 or 8.2 above,
     all end user license agreements (excluding distributors and resellers)
     which have been validly granted by You or any distributor hereunder
     prior to termination shall survive termination.

9. LIMITATION OF LIABILITY.

     UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
     (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
     DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
     OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR
     ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
     CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
     WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
     COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
     INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
     LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
     RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
     PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
     EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
     THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.

10. U.S. GOVERNMENT END USERS.

     The Covered Code is a "commercial item," as that term is defined in
     48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
     software" and "commercial computer software documentation," as such
     terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
     C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
     all U.S. Government End Users acquire Covered Code with only those
     rights set forth herein.

11. MISCELLANEOUS.

     This License represents the complete agreement concerning subject
     matter hereof. If any provision of this License is held to be
     unenforceable, such provision shall be reformed only to the extent
     necessary to make it enforceable. This License shall be governed by
     California law provisions (except to the extent applicable law, if
     any, provides otherwise), excluding its conflict-of-law provisions.
     With respect to disputes in which at least one party is a citizen of,
     or an entity chartered or registered to do business in the United
     States of America, any litigation relating to this License shall be
     subject to the jurisdiction of the Federal Courts of the Northern
     District of California, with venue lying in Santa Clara County,
     California, with the losing party responsible for costs, including
     without limitation, court costs and reasonable attorneys' fees and
     expenses. The application of the United Nations Convention on
     Contracts for the International Sale of Goods is expressly excluded.
     Any law or regulation which provides that the language of a contract
     shall be construed against the drafter shall not apply to this
     License.

12. RESPONSIBILITY FOR CLAIMS.

     As between Initial Developer and the Contributors, each party is
     responsible for claims and damages arising, directly or indirectly,
     out of its utilization of rights under this License and You agree to
     work with Initial Developer and Contributors to distribute such
     responsibility on an equitable basis. Nothing herein is intended or
     shall be deemed to constitute any admission of liability.

13. MULTIPLE-LICENSED CODE.

     Initial Developer may designate portions of the Covered Code as
     "Multiple-Licensed".  "Multiple-Licensed" means that the Initial
     Developer permits you to utilize portions of the Covered Code under
     Your choice of the NPL or the alternative licenses, if any, specified
     by the Initial Developer in the file described in Exhibit A.

EXHIBIT A -Mozilla Public License.

     ``The contents of this file are subject to the Mozilla Public License
     Version 1.1 (the "License"); you may not use this file except in
     compliance with the License. You may obtain a copy of the License at
     http://www.mozilla.org/MPL/

     Software distributed under the License is distributed on an "AS IS"
     basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
     License for the specific language governing rights and limitations
     under the License.

     The Original Code is ______________________________________.

     The Initial Developer of the Original Code is ________________________.
     Portions created by ______________________ are Copyright (C) ______
     _______________________. All Rights Reserved.

     Contributor(s): ______________________________________.

     Alternatively, the contents of this file may be used under the terms
     of the _____ license (the  "[___] License"), in which case the
     provisions of [______] License are applicable instead of those
     above.  If you wish to allow use of your version of this file only
     under the terms of the [____] License and not to allow others to use
     your version of this file under the MPL, indicate your decision by
     deleting  the provisions above and replace  them with the notice and
     other provisions required by the [___] License.  If you do not delete
     the provisions above, a recipient may use your version of this file
     under either the MPL or the [___] License."

     [NOTE: The text of this Exhibit A may differ slightly from the text of
     the notices in the Source Code files of the Original Code. You should
     use the text of this Exhibit A rather than the text found in the
     Original Code Source Code for Your Modifications.]
```


