Mein wildester Workaround

Hallo zusammen,

mir kam durch verschiedene Formate und Berührungspunkte mit anderen Anwender:innen folgende Idee:

Wir alle schätzen, dass CiviCRM so ein vielfältiges und individuell anpassbares Tool ist. Trotzdem wird eine Installation wohl nie allen Ansprüchen der jeweiligen Nutzer:innen vollends genügen können – sei es, weil wir von einer Funktionalität oder Extension schlicht nichts wissen oder weil es sie noch nicht gibt. In diesem Thread dürft ihr eure wildesten Workarounds präsentieren, wie ihr die Dinge dann doch noch so zurecht gebogen habt, wie ihr es braucht. Ich denke, dass man dabei sicher das eine oder andere lernen und verstehen kann, vielleicht was zu schmunzeln hat oder mindestens die Kreativität der Community zu schätzen lernt :wink:. Hoffentlich können wir auch ein paar Workarounds auflösen oder es ergeben sich Wege, eine neue Funktionalität einzuführen, die der Community zu Gute kommt.

Ein Minileitfaden für euren Post mit Inspirationen:

Ziel: Was ihr erreichen wolltet.
Bereich / Entität: z.B. Zuwendungen, Kontakte, Events etc.
Wunsch: Welche (möglichst konkrete) Funktionalität müsste es für eure Zwecke geben?
Workaround: Wie seid ihr dennoch ans Ziel gekommen? Habt ihr alles erreicht, was ihr gebraucht habt? Wie aufwändig war das? Funktioniert es jetzt problemlos in einer Produktivumgebung? Was waren Herausforderungen?

Das ganze darf gerne humorvoll sein, es geht um eure Storie auf dem Weg durch den Civi-Dschungel.

3 „Gefällt mir“

Ich fange gleich mal mit einer Storie an (zugegebenermaßen schon etwas high-level - das ist hier kein Kriterum):

Ziel: Eigene Rechnungsnummern vergeben, abweichend von Civis Logik
Bereich / Entität: Zuwendungen
Wunsch: Wählbares Muster (z.B. Jahr_Monat_Tag) und wählbare Trennzeichen für Rechnungsnummern, die dann in der Nachrichtenvorlage für Rechnungen und im Dateinamen der PDF berücksichtigt werden.
Workaround: CiviCRM nutzt standardmäßig das Muster Präfix (z.B. RE_ - das kann man frei definieren) _ ID der Zuwendung (die ist fortlaufend, d.h. wird immer um 1 hochgezählt bei jeder neuen Zuwendung). Für einen Kunden, der von einem anderen System (Mein Verein) umgestiegen ist, war das so nicht nutzbar, wir konnten nicht einfach beim Umstieg einen neuen Nummernkreis nach neuem Muster definieren.

Ich habe mir dann mit CiviRules und SQL Tasks eine Logik zusammengebaut (mit massiver Unterstützung einer KI), die die bestehende Rechnungsnummer überschreibt und nach meinem Wunschmuster zusammensetzt. Dafür gibt es eine eigene Tabelle in der Datenbank, wo geprüft wird welcher Monat gerade ist, welches Jahr und was die letzte fortlaufende Nummer war. Das ganze arbeitet dann noch mit so genannten SQL Triggern, die anfänglich durch Updates in Civi (wie ich dann herausfinden musste) regelmäßig einfach verschwunden sind (:exploding_head: ).

Nun ja, das Ganze funktioniert jetzt in diesem einen System, aber ist nur auf genau diesen Use Case zugeschnitten, aufwendig einzurichten und schlecht übertragbar … also keine nachhaltige Lösung.

Für deutsche Anwender:innen mag es naheliegend sein, dass man eigene Rechnungsnummern definieren können muss - aber CiviCRM kommt nunmal in den Ursprüngen aus dem Fundraising in den USA und offenbar gab es diesen Bedarf nie so, dass diese Funktionalität in den Core eingebaut wurde.

Zu guter letzt: Ich arbeite gerade, auch wegen eines Kundenbedarfs, an einer Extension, die das (und weitere, verwandte Thematiken) hoffentlich nachhaltiger abbilden kann. Ich muss mich dabei sehr auf die KI verlassen, weil mir Zeit und Kenntnisse fehlen, um alles selbst zu durchdringen. Ich bin sicher, dass es den Bedarf nach einer schönen und einfachen Lösung anderswo auch gibt (vergebt gerne ein Herz für den Beitrag, wenn dem so ist!) und sollte ich das ganze wirklich zum laufen kriegen und sicher sein, dass es in den meisten Fällen eure Systeme nicht zerschießt, dann werde ich die Extension der Community natürlich auf den bekannten Wegen bereitstellen :).

1 „Gefällt mir“

Super, Idee! Da schließe ich mich gleich mal mit meinem low-level-Workaround für einen ähnlichen, aber simpleren, Fall an, das wirklich seeeeehr gefreestylt ist:

Ziel: Rechnungen als PDF an Personen der Organisation
Bereich / Entität: Kontakte (eigentlich auch Zuwendungen, aber in unser Civi kommen Zuwendungen erst, wenn sie eingegangen sind)
Wunsch: Rechnungen mit frei wählbarer Rechnungsnummer (hochzählen ab einer bestimmten Rechnungsnummer)
Workaround:

  1. Ich habe ein benutzerdefiniertes Feld “Rechnungsnummer” bei Kontakten / Individuals ergänzt.
  2. es gibt drei verschiedene Preise, pro Preisstufe haben wir eine CiviOffice-Vorlage mit dem Token für die “Rechnungsnummer” und natürlich Token für Namen und Adresse erstellt
  3. alle Kontakte pro Preisstufe mit CiviCRM-ID exportiert, mit Excel die Rechnungsnummern erstellt, alles wieder importiert, damit war das Feld “Rechnungsnummer” gefüllt.
  4. Dann pro Preisstufe mit MailBatch und CiviOffice Mails mit personalisiertem PDF-Anhang versendet.
  5. Fertig! Das haben wir so nun schon zwei Mal gemacht :smiley:
2 „Gefällt mir“

Die Extension ist nun fertig und sieht soweit stabil aus. Das komplexere daran ist tatsächlich die Angebots-Funktion, die ihr optional aktivieren könnt. Falls jemand sie benötigen kann und testen mag: GitHub - ParadiesDigital/civicrm.custominvoicenumbersandoffers: This CiviCRM extension adds functionality for custom invoice number cycles in a user chosen format and a new contribution type 'offers' with it's own number cycle, menu structure and custom displays. · GitHub

Ich empfehle natürlich erstmal auf einer Testumgebung zu gucken. Vorerst steht sie auch noch nicht im CiviCRM Extension Verzeichnis, ich würde gerne noch ein bisschen Praxiserfahrung von anderen sammeln.

Für Rechnungen bietet sie jetzt einen eigenen Nummernkreis mit wählbarem Format und auch wählbar, welche Zuwendungsarten diesen Nummernkreis bekommen sollen und welche nicht. Da kann man z.B. zwischen ausgehenden Rechnungen und eingehenden Spenden, die normalerweise auch eine Zahl im Nummernkreis einnehmen würden, differenzieren.

1 „Gefällt mir“

wie cool, @Lucas_Paradies! Ich muss mich und das System noch durch Updates und andere Baustellen bringen, aber dann würde ich die Extension gern testen. Magst du uns die Extension bei einem der Stammtisch vorstellen?

1 „Gefällt mir“