Make It Happen: Twingle-Spendenshop an CiviCRM anbinden

Wer sowohl CiviCRM als auch Spenden- oder Mitgliedschaftsformulare von Twingle verwendet, möchte natürlich beides miteinander verknüpfen, damit die eingehenden Daten automatisch an der richtigen Stelle im CRM landen. Das ermöglicht schon lange die von SYSTOPIA entwickelte Twingle-API.

Seit einiger Zeit bietet Twingle die Funktion „Spendenshop“ an: Bestimmte Beträge können mit einem dadurch finanzierbaren Gegenwert hinterlegt werden (z.B. Spende 50 Euro - „1 Jahr Schulbesuch für ein Kind“). Diese „Produkt“-Logik kann natürlich auch anderweitig genutzt werden, z.B. für einen Infomaterial-Bestellservice. Ähnlich wie bei einem Webshop wird der*die Spender*in dann bequem zum Check-out geleitet - das alles wie bei Twingle üblich in ansprechender und benutzerfreundlicher Gestaltung (Praxisbeispiele von terre des hommes und Umweltinstitut München).

Klingt prima, aber kann man diese Funktion auch per Twingle-API mit CiviCRM verbinden? Leider ist das noch nicht der Fall, aber es wird bereits daran gearbeitet. Marc Michalsky, CiviCRM-Entwickler beim Forum Ziviler Friedensdienst e.V., hat schon einen Teil der notwendigen Funktionen programmiert und eine eigene Version der Twingle-API erarbeitet. Wie er berichtet, konnte seine Organisation diese im Weihnachtsgeschäft schon erfolgreich nutzen.

Nun geht es darum, einerseits noch einige fehlende Funktionen zu implementieren und andererseits die Entwicklungsversionen wieder zusammenzuführen. Der sogenannte „Fork“, den Marc erstellt hat, hat ihm erstmal ermöglicht, unabhängig vom Rest der Twingle-CiviCRM-Welt an den Funktionen zu arbeiten. Auf die Dauer ist es aber normalerweise sinnvoll und nachhaltig, wenn die Community nur eine Version pflegt, in deren Rahmen dann die Funktion allen zur Verfügung gestellt wird.

Dafür suchen wir noch Unterstützung. Du interessierst dich dafür, in Zukunft den Twingle-Spendenshop an dein CiviCRM anbinden zu können? Dann melde dich gern bei uns per Mail an peth@systopia.de. Wir arbeiten im Moment an der Planung und Aufwandsschätzung für die ausstehenden Arbeiten und halten euch gern hier auf dem Laufenden.

2 „Gefällt mir“

Hallo Martin,

danke für den Aufruf! Ich hoffe, es finden sich ein paar Organisationen, die diese Erweiterung ebenfalls gebrauchen können!

Hier ein paar Impressionen davon, was mit meiner Fork jetzt schon geht:

Hier ist unser Shop zu finden.

In meiner Fork kann man die Shop-Integration in den Twingle-API Einstellungen aktivieren.
Da die Integration auch beinhaltet, dass die Twingle Shops von Twingle abgerufen und in CiviCRM als Price Sets mit Price Fields für die jeweiligen Produkte angelegt werden können, benötigt man einen Access Key von Twingle. Diesen erhält man vom Twingle Support.

So sieht die Übersicht der Profile nun aus. Neben der Anzeige, ob die Twingle-Shop-Integration für das Profil aktiviert ist, habe ich auch die Anzeige der Selektoren etwas übersichtlicher gestaltet.

In den Profileinstellungen kann man dann die Shop-Integration separat für jedes Profil aktivieren und den Standard-Zuwendungstyp für Produkte, sowie den Zuwendungstyp für zusätzlich getätigte Spenden einstellen.

Möchte man verschiedenen Produkten unterschiedliche Zuwendungstypen zuteilen (z.B. weil manche Produkte als Spende absetzbar sind und andere nicht), muss das Abbilden der Produkte als Price Fields aktiviert werden. An der Implementation dieser Funktion arbeite ich aktuell noch.

Über Twingle eingehende Zuwendungen mit Bestellungen kommen dann so in CiviCRM an: jedes Produkt wird in der Zuwendung als Line Item mit einem Einzelpreis und einem Gesamtpreis ausgezeichnet.

Um einen guten Überblick über die Bestellungen zu behalten, habe ich uns mittels Search Kit und Form Builder eine Tabellenansicht gebaut. Dazu habe ich Custom Fields für Zuwendungen des Typs „Shop-Bestellung“ angelegt, in denen z.B. der Bestellstatus, das Versanddatum und ob wir bereits eine Rechnung erstellt haben abgebildet werden kann.

6 „Gefällt mir“

Interessant. Vielen Dank für die bisherige Arbeit und das Teilen hier!

Wenn ich das Beispiel vom Umweltinstitut richtig deute, können mit der Lösung auch kostenlose Bestellprodukte angeboten werden, z. B. Infoflyer. Praktischerweise gleich mit dem Angebot, doch ein paar Euros dafür zu geben.

Wenn ich das richtig verstehe, können Stand heute pro Profil entweder nur als Spende absetzbare Produkte oder nur als Spende nicht absetzbare Produkte zusammen angeboten werden, nicht jedoch beide Sorten nebeneinander im selben Shop-Formular, weil du Marc an der Implementierung der Produkte als Price Fields noch arbeitest? (Keine Kritik, nur zum Verständnis)

Ist die Verwendung der Spenden-Formulare von Twingle als Shopsystem für nicht-absetzbare Produkte mit Twingle abgesprochen bzw. sind die D’accord damit? Die Beschreibung des Spendenshops stellt augenscheinlich nur auf absetzbare Produkte ab, soweit ich das verstehe.

Hi Daniel,

Wenn ich das Beispiel vom Umweltinstitut richtig deute, können mit der Lösung auch kostenlose Bestellprodukte angeboten werden, z. B. Infoflyer. Praktischerweise gleich mit dem Angebot, doch ein paar Euros dafür zu geben.

Ja, das ist richtig und solche kostenlosen Produkte bieten wir auch an. In CiviCRM entsteht dann eine Zuwendung über 0€. Das könnte man sicherlich noch anders handhaben und stattdessen nur eine Aktivität erstellen, je nachdem, welche Abläufe man hat. Da bei uns eine Bestellung einfach durch eine Zuwendung eines bestimmten Typs mit Line Items und ein paar Custom Fields dargestellt wird, machen 0€-Zuwendungen für uns durchaus Sinn.

Wenn ich das richtig verstehe, können Stand heute pro Profil entweder nur als Spende absetzbare Produkte oder nur als Spende nicht absetzbare Produkte zusammen angeboten werden, nicht jedoch beide Sorten nebeneinander im selben Shop-Formular, weil du Marc an der Implementierung der Produkte als Price Fields noch arbeitest? (Keine Kritik, nur zum Verständnis)

Ja, Stand heute ist das richtig. Ich würde aber deshalb auch meine Fork noch nicht als fertig bezeichnen. Weil aber auch wir diese Funktion benötigen, werde ich das auf jeden Fall noch fertig implementieren, egal, ob die Fork am Ende gemerged wird oder nicht. Die APIs für das Erstellen von Twingle Shops als Price Sets und das Mappen von Produkten als Price Fields sind soweit fertig. Was noch nicht ganz fertig ist, ist das JavaScript im Frontend, wo man in den Profilen die Produkte einzeln mappen kann. Wer mir da gerne helfen will, hier entlang.

Ist die Verwendung der Spenden-Formulare von Twingle als Shopsystem für nicht-absetzbare Produkte mit Twingle abgesprochen bzw. sind die D’accord damit? Die Beschreibung des Spendenshops stellt augenscheinlich nur auf absetzbare Produkte ab, soweit ich das verstehe.

Twingle weiß jedenfalls davon, dass wir auch Produkte im Shop verkaufen, die nicht rein symbolischen Charakter haben. Du hast aber Recht, eigentlich ist der Twingle Shop für sowas (noch) nicht ausgelegt. Daher fehlen z.B. auch die Berechnung von Versandkosten und andere Details, die für einen „echten“ Shop noch nützlich wären. Wir sind dazu aber mit Twingle im Gespräch.

1 „Gefällt mir“

Update

Die Arbeit an der Shop-Integration ist fast abgeschlossen. Es fehlen nur noch ein paar Tests und Übersetzungen.

product_price_field_mapping
Ein Sneak Preview aus meiner Testumgebung.

Twingle-Produkte lassen sich nun in CiviCRM als Preisfelder anlegen, sodass für jedes Produkt einzeln einstellbar ist, als welcher Zuwendungstyp es abgebildet werden soll. Ein angenehmer Nebeneffekt ist, dass sich auf diese Weise auch Bestellungen verarbeiten lassen, die nicht per Twingle-Formular (sondern z.B. telefonisch) eingehen, da man beim Erstellen einer Zuwendung einfach den jeweiligen Shop als Preisschema und die gewünschten Produkte dann als Preisfelder auswählen kann.

Die Shop-Integration haben wir bereits erfolgreich in unserem Ostergeschäft einsetzen können. Sobald die letzten To-Do’s erledigt sind, sollte bald eine Testversion der Twingle API mit Shop-Integration erscheinen.

Wer das CiviCamp in Hamburg besucht, kann in meinem Vortrag zur Nutzung von Twingle mit CiviCRM (Session Slot 3) mehr zu dem Thema erfahren.

3 „Gefällt mir“