JVerein ist eine Open-Source-Vereinsverwaltung. Es lassen sich dort jedoch keine schön formatierten Zahlungserinnerungen erzeugen.
Mit den Tools in diesem Repository lassen sich aus dem JVerein
CSV-Export anpassbare, mit LaTex formatierte PDF-Dokumente erzeugen.
Alle Beispieldaten in diesem Repository sind automatisch generiert und keine Adressen existierender Personen.
Ein Python Programm (csv2yaml.py
) generiert aus der CSV Datei yaml
Daten für jedes Mitglied. Dort werden die Summe der ausstehenden Zahlungen sowie die Übersicht über einzelne Zahlungen abgelegt.
Diese yaml
Daten werden mit pandoc in ein PDF-Dokument pro Mitglied konvertiert. pandoc
nutzt dafür XeTeX
und zwei Templates. Über die Templates kann Inhalt und Aussehen der Zahlungserinnerung gesteuert werden.
csv2yaml.py
ist ein Python Programm welches die CSV parst und für jedes Mitglied eine yaml
Datei
erzeugt. Diese Datei enthält folgende Felder:
to
(Adresse)sum
(Gesamtsumme)opening
(Anrede)email
(Mailadresse)position[description,value]
csv2yaml.py
hat zwei Parameter:
-c CSV_FILE
Name der CSV-Datei, defaultexample-export.csv
-o OUTPUT_DIR
Name des Ausgabeverzeichnisses, defaultdata
Beispiel Ausgabe:
---
"to": |-
Herr
Benedikt Hieber
Am Bonifatiusbrunnen 7a
79400 Kandern
"sum": |-
106,22
"opening": |-
Hallo Benedikt,
"email": |-
Benedikt Hieber <benedikt.hieber@example.de>
"position":
- "description": |-
Mitgliedsbeitrag 2015
"value": |-
30
- "description": |-
Mitgliedsbeitrag 2016
"value": |-
30
- "description": |-
Mitgliedsbeitrag 2014
"value": |-
30
- "description": |-
Rücklastschrift 2015
"value": |-
8,11
- "description": |-
Rücklastschrift 2014
"value": |-
8,11
...
Pandoc wird mit folgenden Parametern aufgerufen:
pandoc --template=zahlungserinnerung.latex --pdf-engine=xelatex data/Hieber_Benedikt_1.yaml verein.yaml -o data/Hieber_Benedikt_1.pdf
--template=zahlungserinnerung.latex
Das LaTeX-Template aus dempandoc
mitxelatex
das PDF generiert.--pdf-engine=xelatex
Benutzexelatex
data/Hieber_Benedikt_1.yaml
Daten des Mitgliedsverein.yaml
Vereinsdaten, Logo, Textbausteine-o data/Hieber_Benedikt_1.pdf
PDF Ausgabe
Das Skript create_pdf.sh
ruft pandoc
für jede yaml
-Datei in data/
auf.
Export der ausstehenden Mitgliedsbeiträge aus JVerein
als CSV.
Erzeugen der yaml
-Dateien in data/
.
./csv2yaml.py -c mahnungen-20161204214455.csv
Erzeugen der PDF Dateien in data/
.
./create_pdf.sh
- XeTex (als Teil von Tex Live)
- Pandoc
- Python
din5008frame.tex
:DIN 5008
Vorlage, kann inzahlungserinnerung.latex
zur Kontrolle eingebunden werdenverein.lco
: Letteroptions, wird überverein.yaml
inzahlungserinnerung.latex
eingebundenlogo.png
: Logo, wird überverein.yaml
inzahlungserinnerung.latex
eingebunden