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_FILEName der CSV-Datei, defaultexample-export.csv-o OUTPUT_DIRName 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.latexDas LaTeX-Template aus dempandocmitxelatexdas PDF generiert.--pdf-engine=xelatexBenutzexelatexdata/Hieber_Benedikt_1.yamlDaten des Mitgliedsverein.yamlVereinsdaten, Logo, Textbausteine-o data/Hieber_Benedikt_1.pdfPDF 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.csvErzeugen der PDF Dateien in data/.
./create_pdf.sh- XeTex (als Teil von Tex Live)
- Pandoc
- Python
din5008frame.tex:DIN 5008Vorlage, kann inzahlungserinnerung.latexzur Kontrolle eingebunden werdenverein.lco: Letteroptions, wird überverein.yamlinzahlungserinnerung.latexeingebundenlogo.png: Logo, wird überverein.yamlinzahlungserinnerung.latexeingebunden
