Skip to end of metadata
Go to start of metadata

Dokumentation Zuwendungsbescheinigungs-Extension (de.systopia.donrec)

Die in der vorliegenden Dokumentation beschriebene Software stellt eine Erweiterung ("extension") zu Civi-CRM 4.4.xx dar und dient der Erstellung von Zuwendungsbescheinigungen. Sie wurde for die Version 1.2 erstellt und bis zur CiviCRM-Version 4.6.10 getestet.

Die einwandfreie Funktion im Sinne dieser Dokumentation wurde extensiv getestet und nachgewiesen für den Webbrowser Firefox ( Mozilla Foundation ) unter Linux und MS Windows. Bei Tests mit Firefox unter Android wurden keine Fehler gefunden, der Testumfang war aber geringer. Die Verwendung anderer Browser kann zu Fehlfunktionen führen, hiervon ist abzuraten.

1. Erstellung von Zuwendungsbescheinigungen

Die Erstellung wird auf einem Suchergebnis nach Kontakten ausgeführt. Dabei werden auf dem Suchergebnis zusätzlich bescheinigungsfähige Spenden selektiert:

  • Es werden nur Kontakte berücksichtigt, die unquittierte Zuwendungen haben

  • Es werden nur Zuwendungen bescheinigt, die den Status „Abgeschlossen“ haben und einen financial type aufweisen, der absetzbare Zuwendung = JA eingetragen hat

Die Extension eignet sich auch zur Anwendung auf große Datensätze, da die verwendeten Daten in einem Snapshot gespeichert und für die Dauer der Erstellung gegen Veränderungen gesperrt werden. Mit der Erstellung der Bescheinigung wird diese als "bescheinigt" markiert und kann nicht nochmals bescheinigt werden. Die Extension enthält ferner die Möglichkeit zum Kopieren und Zurücksetzen von Bescheinigungen und zur Umbuchung von Spenden, hierfür steht eine abgestufte Userverwaltung zur Verfügung.

Für die Erstellung von Zuwendungsbescheinigungen können folgende Parameter gewählt werden:


Art der ZWB: Sammelbescheinigungen / Einzelbescheinigungen

Es steht eine HTML-Vorlage zur Verfügung, die für die Erstellung von pdf optimiert ist. Bei der Wahl der Bescheinigungsart ist zu berücksichtigen, daß bei der Auswahl von "Einzelbescheinigungen" IMMER Einzelbescheinigungen erstellt werden, bei der Auswahl von "Sammelbescheinigungen" wird hingegen automatisch auch eine Einzelbescheinigung erstellt, wenn nur eine Spende zu bestätigen ist. Die Vorlage deckt alle Fälle ab und kann unter Administration> Kommunikation> Nachrichtenvorlagen> System Workflow Nachricht geändert werden. Hierfür sind Grundkenntnisse in HTML erforderlich.


Zeitraum der ZWB: Dieses Jahr / letztes Jahr / Datumsbereich

"Dieses Jahr" nimmt als Datumsbereich für die Erstellung das aktuelle Kalenderjahr (z.B. bei Erstellung 15.06.2014 ist der 01.01.2014 – 15.06.2014 hinterlegt)

"Letztes Jahr" nimmt als Datumsbereich für die Erstellung das komplette vergangene Kalenderjahr.

"Datumsbereich wählen" verhält sich in Funktion und Layout analog zu anderen Datumsbereich-Suchen. Es ist möglich, Sammelbescheinigungen über Zeiträume von mehreren Jahren zu erstellen.

Achtung: Es ist möglich, eine Bescheinigung für eine Spende zu erstellen, deren Buchung vor dem Datum des Freistellungsbescheids erfolgt ist. Hier muss manuell geprüft werden, wenn das Datum der Spende länger zurück liegt!

 

Untergrenze (EUR) für Bescheinigungen: Dieses ursprünglich geplante Feature wurde nicht realisiert, da es mit der Art der Kontaktselektion bereits abgedeckt ist. Man verwendet bei Bedarf die Suchfunktion "Contributors by Aggregate Totals" und gibt die gewünschte Untergrenze ein. Man kann so sehr einfach beispielsweise sicherstellen, daß erst ab einer jährlichen Sendensumme von 50€ eine Bestätigung erzeugt wird.

 

Ergebnisformat: pdf Dateien / csv-Liste / pdf-Dateien nach Seitenanzahl

Die Zuwendungsbescheinigungen können als pdf ausgegeben werden. Hierfür wird ein Archiv erzeugt, welches unter Linux mit der Archiv-Verwaltung gehandhabt werden kann, unter MS Windows wird die Verwendung von 7zip empfohlen. Wahlweise können die Dateien als pdf beim Kontakt hinterlegt und gespeichert oder für jede Ansicht erzeugt werden. Derartige Einstellungen werden auf der Verwaltungskonsole vorgenommen. In beiden Fällen kann eine bescheinigte Spende nicht erneut bescheinigt werden, das jeweilige Generieren greift aber auf das jeweils aktuelle Template zu.

Im Erstellungslauf gibt es die Möglichkeit, die Option "Keine Dateien erzeugen" auszuwählen. Diese Option tut nicht unbedingt, was sie verspricht, denn sie wird von der Grundeinstellung "pdf speichern" dominiert. Das pdf wird erzeugt und gespeichert, man bekommt es lediglich nach der Erstellung nicht direkt angeboten.

Wahlweise wird eine csv-Liste ausgegeben, z.B. für manuelle Serienbriefe in Word oder zur Weitergabe an einen Lettershop.

Es empfiehlt sich, die CSV-Liste mit LibreOffice zu öffnen. Dabei sollte als Einstellung „UTF-8“ als Sprache gewählt werden. Die Spalten sollten alle markiert werden und als „Text“ gekennzeichnet werden, damit Postleitzahlen mit führender 0 nicht verkürzt werden. In der CSV-Datei sind dann alle Werte enthalten. Es empfiehlt sich vor der PDF-Erstellung einen Testlauf als CSV zu machen, damit man mit dieser Liste einen Dankbrief erstellen kann.

Optional können die pdf-Dateien nach Seitenanzahl sortiert werden. Hierfür ist kein gesondertes Template, sondern lediglich serverseitig das kleine Programm pdfinfo erforderlich. Bei der Sortierung werden alle 2-seitigen Bescheinigungen in einer pdf-Datei ausgegeben, alle 3-seitigen sind in einer weiteren pdf-Datei zusammengefasst etc.

Für das Drucken der Bescheinigungen empfiehlt es sich, die einzelnen Bescheinigungen in größere pdf-Dokumente zu mergen. Dies ist im normalen Erstellungslauf keine Funktion von Civi. Es stehen aber Hilfsprogramme wie pdfsam unter Linux zur Verfügung, mit denen die Dateien eines Archivs gebatcht werden können.

 

Die Erstellung der Zuwendungsbescheinigungen erfolgt nach folgendem Schema:

Zunächst werden auf der Verwaltungskonsole die Grundeinstellungen der Extension vorgenommen und in der Rechteverwaltung die Berechtigungen zum Erstellen, Zurücksetzen oder Löschen von ZWB den unterschiedlichen Usern zugeordnet. Diese Schritte werden einmalig vorgenommen.

Im zweiten Schritt wird eine Suche nach Kontakten ausgeführt. Dies kann eine beliebige Suche sein, die einen Kontakt oder eine Gruppe von Kontakten als Ergebnis hat. Man selektiert nun aus dem Suchergebnis die gewünschten Kontakte aus ( z. B. Alle Kontakte ), wählt die Aktion "Zuwendungs-bescheinigungen erstellen" und klickt START. Man kann sodann, wie oben beschrieben, den zu bestätigenden Zeitraum und die Art des gewünschten Ergebnisses festlegen und bekommt eine Zusammenfassung angezeigt, wie viele Spenden und Kontakte mit den gewählten Randbedingungen bescheinigt werden. Man hat nun noch die Wahl zwischen Testlauf und Erstellungslauf. Mindestens für umfangreiche Erstellungen wird die Durchführung des Testlaufs empfohlen.

Die Läufe werden weiter unten beschrieben. Folgende Randbedingungen sind im Hinterkopf zu behalten:

- Der Prozeß der ZWB-Erstellung wird von Arbeitsplatzrechner, nicht vom Server getriggert. Das arbeitende Fenster darf nicht geschlossen oder neu geladen werden. Für 1000 Bescheinigungen kann der Prozeß rund 30 Minuten laufen.

- Für die Erstellung wird ein Snapshot der Daten verwendet. Der Snapshot wird 24 Stunden vorgehalten. Er kann ausschließlich von demjenigen User-Login wieder aufgenommen werden, von dem er erzeugt wurde!

 

Testlauf: Mit Klick auf diesen Button werden die Bescheinigungen mit den gewünschten Einstellungen für alle gewählten Kontakte erstellt, die Zuwendungen werden aber NICHT als quittiert markiert. Mit der Durchführung des Testlaufs vergewissert man sich, daß alle Daten die erforderliche Struktur haben und nicht zum Abbruch des Laufs führen.

 

Erstellungslauf: Mit Klick auf diesen Button werden die Bescheinigungen mit den gewünschten Einstellungen für alle gewählten Kontakte erstellt und die bestätigten Zuwendungen werden als quittiert markiert. Diese Zuwendungen sind damit gegen weitere Veränderungen gesperrt. Für Änderung, Stornierung oder Umbuchung muß zunächst die Bescheinigung annulliert werden, damit wird von den betroffenen Spenden der Status "bescheinigt" automatisch wieder entfernt.

Der Status "bescheinigt" kann weder manuell gesetzt oder entfernt werden!

Die erstellten Bescheinigungen können mit der Extension kopiert oder zurückgesetzt werden. Sie erhalten dabei ein Wasserzeichen, dessen Wortlaut auf der Verwaltungskonsole geändert werden kann. Es wird darauf hingewiesen, daß eine Kopie nur ausgestellt oder eine Spende nur umgebucht werden darf, wenn das Original der Bescheinigung zurückgesandt wurde. Weiter können die Bescheinigungen auch gelöscht werden, hierfür gilt das Gleiche. Über die Rechteverwaltung kann der Kreis der berechtigten Personen eingeschränkt werden.

 

Weitere Anmerkungen:

- In den jeweiligen Kontakten erscheint mit der Aktivierung der Extension ein Reiter "Zuwendungsbescheinigungen". In Installationen, die die SfE-Extension zur Erstellung von Spendenbescheinigungen genutzt haben, liegt dann noch der bekannte Reiter "Bescheinigungen" vor. Vorsicht ist insbesondere im Hintergrund bei der Suche nach benutzerdefinierten Feldern oder der Änderung von Templates angebracht. Man vergewissere sich sorgfältig, welche Begriffe zu welcher Extension gehören.

 

2. Reiter "Zuwendungsbescheinigungen" im Kontakt

Auf dem Reiter ist an einem Zähler zu erkennen, wie viele Zuwendungs-bescheinigungen der Reiter enthält. Dieser Zähler wird jeweils beim Laden der Seite aktualisiert.

Öffnet man den Reiter, so sind hier die konkreten Daten (Details aufklappbar) zur erstellten Bescheinigung hinterlegt. Ist die entsprechende Einstellung aktiv, so werden die Bescheinigungen auch als pdf beim Kontakt hinterlegt. Die ZWB sind nach Erstelldatum geordnet, ältere Bescheinigungen stehen weiter unten.

Folgende Informationen werden angezeigt:

  • Versandadresse (Anrede, Titel, Vorname, Nachname, Adresse, Land)
  • Name und Anschrift des Zuwendenden (kann von der Versandadresse abweichen)
  • Auflistung der einzelnen Zuwendungen mit Datum
  • Zuwendungsart

Weiter erhält man über der Liste eine Schaltfläche, mit der neue Zuwendungsbescheinigungen erstellt werden können. Die Auswahl der zu bestätigenden Spenden erfolgt über den einzugebenden Zeitraum. Je nach User und dessen Berechtigungen sind weitere Schaltflächen eingeblendet.

 

Löschen: Diese Funktion ist als Ausnahmefall zu sehen und sollte nur für Administratoren sichtbar und ausführbar sein. Die zu löschende Bescheinigung muß physikalisch beim Ausstellenden vorhanden und entwertet sein, wenn sie in der Datenbank gelöscht wird.

 

Kopie erstellen: Hiermit können Bescheinigungen erneut als pdf-Datei erstellt werden, sie erhalten in diesem Fall ein Wasserzeichen. Es werden exakt die Daten verwendet, die in der ursprünglichen Bescheinigung enthalten waren. Es findet keine Neuabfrage in der Datenbank, z.B. des Namens, statt. In der Auflistung der Bescheinigungen erscheint eine weitere Zeile mit den Angaben

  • Erstelldatum: Datum an dem die Kopie erstellt wurde
  • Status: Kopie

In der Bescheinigungsliste existiert anschließend also ein Eintrag des Originals (Status: Original) und ein Eintrag der Kopie (Status: Kopie).

 

ZWB zurücksetzen: Durch diesen Button wird die Bescheinigung zurückgesetzt („rückgängig“ gemacht), der Status ändert sich auf „Zurückgesetzt“. In diesem Fall erscheint keine neue Zeile in der Bescheinigungsliste, da eine Bescheinigung entweder Erstellt (Original) ODER Zurückgesetzt ist.

Die Zuwendungen aus dieser Bescheinigung werden als unbestätigt markiert.

Nachdem Zuwendungsbescheinigungen erstellt wurden, kann sich die Notwendigkeit zu Korrekturen ergeben. Häufige Korrekturfälle sind Dubletten, falscher Vor- oder Nachname in der Datenbank, oder der angegebene Kontoinhaber ist falsch ( dies ist vermehrt bei SEPA-Lastschriften zu erwarten, da die Banken den übermittelten Kontoinhaber ignorieren und auf dem Kontoauszug kein Kontoinhaber mehr angegeben ist ).

 

(Formale) Vorbedingung: Der Spender muss die falsche Bescheinigung zurückschicken. Wenn die Bescheinigung zurückgesetzt wurde, sind die dort bescheinigten Zuwendungen wieder als unbescheinigt markiert und die Korrekturen können vorgenommen werden. Auch kann dann die Spende auf einen anderen Kontakt umgebucht werden.

 

Zuwendungen umbuchen: In der Extension wird auch eine Funktion "Umbuchen" zur Verfügung gestellt. De jure ist es so, dass Zuwendungen nur umgebucht werden dürfen, wenn der eigentliche Spender z.B. durch den Kontoauszug nachweist, dass das Geld von seinem Konto abging. Es ist lediglich das Umbuchen unbescheinigter Spenden möglich, wird zuvor eine Bescheinigung zurückgesetzt, so muß nach dem Umbuchen eine neue Bescheinigung erstellt werden.

 

Zwendungsbescheinigungen suchen: Die Suche nach ZWB erfolgt in der erweiterten Suche ( advanced search ) über die benutzerdefinierten Felder.

 

3. Sonstiges

Auf einige Details soll nochmals kurz eingegangen werden. Diese betreffen die Sicherheit und Konsistenz der Daten sowie die zahlreichen Änderungsmöglichkeiten, die mit der Extension realisiert sind. Als Vorbemerkung wird darauf hingewiesen, daß grundsätzliche juristische Abklärungen zum Aufbau der Extension erfolgt sind, die Funktionen trotzdem aber auch Aktionen ermöglichen, die ggf. nicht regelkonform sind. Diese Verantwortung liegt beim Anwender und den Regelungen innerhalb der Organisationen, die die Software einsetzen.

Quittierte Zuwendungen: In den Zuwendungen wird sichergestellt, daß bei quittierten Zuwendungen die folgenden Angaben nicht mehr geändert werden können.

  • Status
  • Financial Type
  • Betrag

Diese Charakteristika der Spenden werden folgerichtig auch gegen Änderung gesperrt, wenn ein Snapshot zur Erstellung von ZWB aufgenommen wird. Dies stellt sicher, daß Datenbank und Bescheinigungen stets konsistent bleiben. Insbesondere bei umfangreichen Erstellungsläufen ist dies ein wichtiger Punkt.

 

Rechteverwaltung: In der Benutzerverwaltung sind die folgenden Berechtigungen individuell einer Rolle zuweisbar

  • Berechtigung 1: Bescheinigungen sehen und Kopie erstellen
  • Berechtigung 2: Neue ZWB erstellen, ZWB zurücksetzen, Korrektur erstellen
  • Berechtigung 3: Löschen von Bescheinigungen


Vorlagenerstellung: Die Vorlage für die ZWB ist in HTML erstellt und wird durch das in den Systemeinstellungen von CiviCRM ausgewählte Programm in eine pdf-Datei umgewandelt (Default ist dompdf, empfohlen wird allerdings wkhtmltopdf). In der Datei könnne Logik-Abfragen in der Sprache "Smarty" eingebaut werden.

Das Template muss in jedem Fall für die eigene Organisation angepasst werden (z.B. Angabe des Vereinszwecks laut Satzung, Datum des Freistellungsbescheids etc.). Grundsätzlich kann das Template  für die eigenen Zwecke frei angepasst werden, es soll jedoch unbedingt eine Kopie des Templates für Wiederherstellungen behalten werden. Hinweis: Die Umwandlung von html in pdf ist "tricky", hier wird man viel ausprobieren müssen, welche Änderung zum gewünschten Erfolg führt.

Folgende Tokens stehen zur Auswahl bereit:

(Anmerkung: Was wir hier als "Tokens" bezeichnen sind eigentlich Smarty-Variablen. Daher können diese auch nicht aus dem Token-Menu des Editors ausgewählt werden, sondern müsen so wie sie hier stehen eingetragen werden.)

 TokenWertebereichKommentar
{$id}IntegerID der ZWB
{$status}ORIGINAL, COPY, WITHDRAWN, WITHDRAWN_COPYStatus der ZWB
{$type}{BULK, SINGLE}Sammel- oder Einzelbescheinigung
{$issued_by}IntegerErsteller Kontakt-ID
{$issued_by_display_name}StringName des Erstellers
{$issued_on}ISO-DatumErstelldatum
{$total_amount}DezimalzahlGesamtsumme
{$total}Dezimalzahlgleich {$total_amount}
{$totaltext}String{$total} als deutscher Text
{$totalmoney}String{$total} im CiviCRM-Währungsformat
{$today}ISO-Datumgleich {$issued_on}
{$non_deductible_amount}DezimalzahlGesamtsumme des nicht absetzbaren Anteils
{$currency}drei BuchstabenDerzeit immer 'EUR'
{$date_from}ISO-DatumAnfangs-Datum des Zeitraumes, der bescheinigt wird
{$date_to}ISO-DatumEnd-Datum des Zeitraumes, der bescheinigt wird
{$original_file}ID der OriginaldateiNur gesetzt bei ORIGINAL und wenn Option aktiviert
{$lines}Array mit Zuwendungens.u.
{$items}Array mit Zuwendungenwie {$lines}, nur gesetzt wenn Sammelbescheinigung
{$contributor.id}IntegerKontakt-ID des Zuwendenden
{$contributor.contact_type}StringKontakt-Typ des Zuwendenden
{$contributor.display_name}StringAnzeigename des Zuwendenden
{$contributor.addressee_display}StringAdressat des Zuwendenden
{$contributor.street_address}StringStraße/Hausnummer des Zuwendenden
{$contributor.postal_greeting_display}StringPostansprache des Zuwendenden
{$contributor.email_greeting_display}StringEmailansprache des Zuwendenden
{$contributor.gender}StringGeschlecht des Zuwendenden
{$contributor.prefix}StringPrefix des Zuwendenden
{$contributor.supplemental_address_1}StringAdresszusatz des Zuwendenden
{$contributor.supplemental_address_2}StringAdresszusatz des Zuwendenden
{$contributor.postal_code}StringPostleitzahl des Zuwendenden
{$contributor.city}StringStadt des Zuwendenden
{$contributor.country}StringLand des Zuwendenden
{$addressee.display_name}StringName des Adressaten
{$addressee.addressee_display}StringAdressat des Adressaten
{$addressee.street_address}StringStraße / Hausnummer des Adressaten
{$addressee.supplemental_address_1}StringAdresszusatz des Adressaten
{$addressee.supplemental_address_2}StringAdresszusatz des Adressaten
{$addressee.postal_code}StringPostleitzahl des Adressaten
{$addressee.city}StringStadt des Adressaten
{$addressee.country}StringLand des Adressaten
{$organisation.display_name}StringName der Default-Organisation
{$organisation.addressee_display}StringAdressat der Default-Organisation
{$organisation.street_address}StringStraße / Hausnummer der Default-Organisation
{$organisation.supplemental_address_1}StringAdresszusatz der Default-Organisation
{$organisation.supplemental_address_2}StringAdresszusatz der Default-Organisation
{$organisation.postal_code}StringPostleitzahl der Default-Organisation
{$organisation.city}StringStadt der Default-Organisation
{$organisation.country}StringLand der Default-Organisation

 

 

Die Zuwendungen können wie folgt aufgelistet werden (Beispiel):

 

 {foreach from=$items item=item}
    <p>{$item.receive_date|date_format:"%d.%m.%Y"} | {$item.financial_type} | {$item.total_amount|crmMoney:EUR}</p>
 {/foreach}

 

Innerhalb dieser Schleife kann dann auf die folgende Tokens zugegriffen werden:

 

TokenWertebereichKommentar
{$item.receive_date}ISO DatumEingangsdatum der Zuwendung
{$item.contribution_id}IntegerID der Zuwendung
{$item.total_amount}DezimalzahlGesamtbetrag der Zuwendung
{$item.non_deductible_amount}DezimalzahlNicht absetzbarer Betrag der Zuwendung
{$item.financial_type_id}IntegerID der Zuwendungsart
{$item.financial_type}StringName der Zuwendungsart

 


4. Installation

 

Im Folgenden wird die Installation der Extension beschrieben. Die Beschreibung wurde ohne Änderungen von SYSTOPIA übernommen.

1) Systemvoraussetzungen

  • PHP Version 5.4 oder 5.5

  • Aktueller Browser mit aktiviertem JavaScript

  • PHP Einstelltung max_execution_time sollte mindestens "300" (5 Minuten) betragen

  • PHP Einstelltung memory_limit sollte mindestens "256M", besser "512M" (1/2 GB RAM) betragen

  • Der eingebaute dompdf PDF-Generator ist eine Katastrophe, besser die Alternative >wkpdf2html< installieren.

  • Optional: Möchte man den gruppierten PDF-Exporter verwenden, muss das Programm >pdfinfo< in der Version 0.18.4 oder höher installiert sein.

 

2) Installation

  • DB sichern

  • Erweitertes Logging deaktivieren, falls eingeschaltet

  • Übersetzungsdatei (civicrm.mo) einspielen. Die befindet sich [<drupal_home}/sites/all/]civicrm/l10n/de_DE. Manchmal auch civicrm/l10n/de_DE/LC_MESSAGES. Da muss man die civicrm.mo Datei hinkopieren - aber vorher ein Backup der alten Datei machen!

  • Extension installieren

  • Erweitertes Logging wieder aktivieren, falls vorher eingeschaltet

  • ZWB Berechtigungen in Drupal setzen, auch als Admin!

  • ZWB-Extension konfigurieren: die entsprechende Seite heißt "Donation Receipts Settings/ Zuwendungsbescheinigungs-Einstellungen" und findet sich in der Verwaltungskonsole im Abschnitt "CiviContribute"

  • Wenn gewünscht, das Template anpassen: Menü -> Administration -> Kommunikation -> Nachrichtenvorlagen -> System Workflow Nachricht -> Zuwendungsbescheinigungen - Standardvorlage

 

3) Update

  • DB sichern

  • Extension deaktivieren

  • Erweitertes Logging deaktivieren, falls eingeschaltet

  • vorige Version der Extension im Extension-Ordner löschen

  • neue Version der Extension im Extension-Ordner entpacken

  • Extension aktivieren

  • Erweitertes Logging wieder aktivieren, falls vorher eingeschaltet

  • ggf. aktualisierte Übersetzungsdatei einspielen

  • Wenn gewünscht, das Template mit dem mitgelieferten Default überschreiben:  de.systopia.donrec/templates/Export/default_template.tpl


Labels
  • None

Creative Commons License
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-Share Alike 3.0 United States Licence.