rmbinder / Mitgliedsbeitrag

Plugin Mitgliedsbeitrag für die Online-Mitgliederverwaltung Admidio
GNU General Public License v2.0
7 stars 3 forks source link

Abrechnungsperioden #94

Closed idnovic closed 2 years ago

idnovic commented 2 years ago

Wir wurden gerne die Abrechnung alle 6 Monate machen. Allerdings jeweils vom 1.4.22 - 30.9.22 und 1.10.22 - 31.3.23

Wird das unterstützt oder würde das Plugin durcheinander kommen?

Was müsste ich am Code ändern, damit die Perioden stimmen?

rmbinder commented 2 years ago

Geht es nur darum, 2x im Jahr eine Abrechnung durchzuführen? Habt Ihr auch anteilige Beiträge? (Also wenn jemand zum 01.06. eintritt. Muss er dann den vollen Beitrag 1.4. bis 30.9 zahlen oder nur für 4 Monate?) Habt Ihr auch Beiträge aufgrund des Alters?

idnovic commented 2 years ago

Ja wir wollen 2 mal im Jahr eine Abrechnung durchführen. Unsere Beiträge sind eigentlich monatlich. Allerdings ziehen wir im Voraus ein. Also Anfang April für 1.4.-30.9. Deswegen ist die Abrechnung halbjährlich.

Anteilige Beiträge gibt es in den Sinne, das wir nur die "genutzten" Monate abrechnen. Also ja, wenn jemand am 1.5. beitritt, wird 1.4.-30.4. nicht gezahlt, sondern nur 1.5.-30.9.. Verlässt jemand den Verein, erhält die Person nicht genutzte Monate wieder (das macht aber die Buchhaltung, ist keine Voraussetzung für Admidio).

Wir Staffeln nicht nach Alter.

Wir haben 2 Beiträge. Einen Mitgliedschaftsbeitrag. (zahlen alle) Eine Gebühr zur Internetnutzung. (zahlen die meisten)

Ich habe dies so eingestellt, dass es 2 Gruppen gibt welche jeweils eine Gebühr eingestellt haben. Die meisten Mitglieder sollen Teil beider Gruppen werden.

Es gibt auch Ehrenmitglieder, bei denen habe ich eingestellt, dass sie einen Rabatt in Höhe von X haben. Diese zahlen dann wegen der Gruppenzugehörigkeit nichts.

Wenn es Möglich ist, die aktuell von mir erstellten Gruppen, Abhängigkeit und Preise zu exportieren, würde ich diese durch einem privaten Kanal teilen. Falls dies hilft.

rmbinder commented 2 years ago

Mitgliedsbeitrag kann eine anteilige monatliche Beitragsberechnung durchführen (wie bei Euch, die "genutzten" Monate), also wenn jemand zum 1.5. dem Verein beitritt, braucht er nur die Monate Mai bis Dez. bezahlen.

Dies geht aber nur für das aktuelle Abrechnungsjahr, also von Jan. bis Dez., nicht für diesen "Versatz" zweites/drittes und viertes/erstes Quartal.

Derzeit bin ich am Überlegen, ob ich den "Stichtag" abschaffe und den damit verbundenen Vorgang automatisiere. Vielleicht wirkt sich das auch auf die "Abrechnungsperioden" aus.

idnovic commented 2 years ago

Okay verstehe. Vielen Dank. Ich würde mich über eine Lösung wie Sie es vorgeschlagen haben freuen.

Wenn ich den Stichtag (Tag an dem die Gebühren gezahlt werden müssen?) auf den 28.2.21 einstellen würde und eine halbjährliche Abrechnung eingestellt habe, sollte doch vom Plugin zurück gerechnet werden. Weil 6 Monate. Oder was genau passiert? In diesem Beispiel sollte das Plugin dann vom 1.10.20-28.2.21 abrechnen. Zumindest wäre das meine Erwartung.

Wir sind halt hauptsächlich Student:innen. Deswegen der Versatz.

Frage zur anteiligen monatlich Berechnung: Erfolg die Berechnung an Hand von der Anzahl der Tage? Also wenn eine Person am 16.4. dem Verein beitritt, Wird eine Gebühr vom 16.4.-30.4. anteilig berechnet?

Anderes Thema, beim Testen ist mir aufgefallen, dass ich Rechnungen nur für Mitglieder ohne Bankverbindung erstellen darf. Für die Buchhaltung wäre es super, wenn eine vollständige Abrechnung als PDF exportiert werden kann. Also auch für die Mitglieder welche per Sepa gebucht werden.

Noch eine Frage bezieht sich auf die Ausschluss Einstellungen. Was bewirkt es genau, einzelne Gruppen bei der Abrechnung voneinander auszuschließen?

Wenn es okay ist, würde ich später ein Bild schicken und die aktuell eingestellten Abhängigkeiten bei der Abrechnung beschreiben. Wäre super wenn Sie kurz drüber schauen könnten und mir sagen ob das so funktioniert oder Probleme möglich wären.

rmbinder commented 2 years ago

Stichtag Der "Stichtag" hat nur Auswirkungen auf die altersgestaffelten Rollen (passt das Mitglied am Stichtag noch in eine altersgestaffelte Rolle oder muss es in eine andere verschoben werden?). Er hat also nur indirekten Einfluß auf die Beitragsberechnung (den "Stichtag" will ich aber, wie bereits geschrieben, streichen).

anteilige monatliche Berechnung ein Auszug aus der Dokumentation:

Rechnungen nur für Mitglieder Dazu über "Gruppen & Rollen- Listen bearbeiten" eine eigene Liste erstellen. Auf alle Fälle das Feld "Beitrag" einbinden und hier als Bedingung "<>0" eingeben.

Ausschluss Einstellungen ein Auszug aus der Dokumentation: Hinweis: Die Prüfungen haben keinen Einfluss auf die Beitragsberechnung. Sie dienen, wie der Name schon sagt, nur zur Prüfung bestimmter Daten. Das soll im Prinzip dazu dienen, zu erkennen, ob jemand z.B. gleichzeitig in einer altersgestaffelten Rolle und in einer Familienrolle ist. Was evtl. nicht sein darf, sich also ausschließen soll (weil ansonsten doppelter Beitrag berechnet wird).

idnovic commented 2 years ago

Kontoinhaber: bei uns sind die Kontoinhaber meistens die Mitglieder selbst. Allerdings brauchen wir die Adresse des Mitgliedes nicht, weil wir die Zimmernummer im Studentenwohnheim kennen. Bei der Buchhaltung wäre allerdings die Heimatadresse relevant.

Ich habe es jetzt so eingestellt, dass bei jedem Mitglied bei der Registrierung separat Kontoinhaber und Bankdaten eingegeben werden müssen. Obwohl es meistens eine Person ist.

Gibt es Probleme bei der Abrechnung, wenn es in Wahrheit die selbe Person ist? Zur Klarstellung, jedes Mitglied hat keine eigenen Kontodaten eingestellt, sondern separat einen Kontobevollmächtigten. Nur ist es meistens die selbe Person.

idnovic commented 2 years ago

Danke furs Beantworten meiner vielen Fragen!

So wie ich die Dokumentation verstehe, wäre es ausreichend Abrechnungszeiträume angeben zu können. Dann würde das Plugin anstatt 1.1.xx-31.12.xx einen anderen Zeitraum berechnen. Das musste doch funktionieren, solange dieser Zeitraum 12 Monate hat.

rmbinder commented 2 years ago

zu Kontoinhaber: Bei den Kontodaten muss im Prinzip nur die IBAN vorhanden sein.

Wenn aber im Feld Kontoinhaber etwas eingetragen wird, dann geht das Plugin davon aus, dass Kontoinhaber und Mitglied nicht identisch sind und will weitere Informationen des Kontoinhabers (wie Straße, Ort usw.). Welche Daten hier jetzt eingeben werden ist aber egal, die Felder dürfen nur nicht leer sein.

Für die SEPA-XML-Datei werden mindestens folgende Informationen benötigt: Mandatsdatum, Mandats-ID, IBAN, Betrag, Verwendungszweck und Kontoinhaber

Wenn das Feld Kontoinhaber (im Profil im Abschnitt Kontodaten) jetzt ausgefüllt ist, werden diese Angaben für die XML-Datei verwendet. Wenn es leer ist, wird der Name des Kontoinhabers zusammengesetzt aus Vor- und Zuname des Mitglieds. Also an die Bank gesendet wird nur die IBAN und der Name des Kontoinhabers, kein Ort, keine Straße, keine Tel.Nr.

einen anderen Zeitraum berechnen: Wenn der Jahresbeitrag 100€ wäre, könnte man in einer Rolle als Beitrag 50€ (Beitragszeitraum jährlich) eingeben. Bei der anschließenden Berechnung werden 50 € errechnet. In einem halben Jahr dasselbe Spiel von vorne. Wie man hier dann aber eine anteilige Berechnung einbringen könnte, muss ich mir erst nochmal überlegen.

idnovic commented 2 years ago

Okay macht Sinn. Wir arbeiten mit Einzugsdatum in den Verein und Kündigungsdatum. Die aktuelle Logik bei Admidio kennt soweit ich das gesehen habe gar kein Kündigungsdatum. Für uns ist aber das Einzugsdatum wichtig. Für uns würde der Beginn einer Rollenmitgliedschaft nur bedingt funktionieren. Ließe sich aber mit zwei Gruppen für jeweils Mitgliedschaft und Internetnutzung bewerkstelligen. Ich habe nun eingestellt, dass neue Mitglieder automatisch teil der Gruppe sind.

Kündigungsdatum ist nicht so relevant für Admidio. Die Differenz und Erstattung kann die Buchhaltung berechnen.

Wäre natürlich schön wenn die Abrechnung einen Zeitraum angegeben hat. Allerdings können wir auch den Sepa Betreff ändern jedes halbe Jahr.

Aktuell habe ich eine halbjährige Abrechnung eingestellt. Passend zu einem Semester.

luebbe commented 2 years ago

Bisher war es bei uns mit den Abrechnungsperioden einfach. Einmal, zu Jahresbeginn wurden die Beiträge eingezogen/die Rechnung gestellt. Wer im Laufe des Jahres hinzukommt, zahlt anteilig für den Rest des Jahres. Hier gab es unter anderem die Komplikation, dass z.B. durch neu hinzugekommene Geschwister/Eltern, mitten im Jahr der Familienbeitrag attraktiver wird, als die Einzelbeiträge und wir das dann umstellen. Geht momentan nur mit selber nachrechnen, ist aber nicht schlimm. Jetzt ist jemand hinzugekommen, der partout den Beitrag für sein Kind quartalsweise per Dauerauftrag überweisen will. D.h. dafür müsste ich wohl eine neue Rolle definieren, um diese Sonderregelung abzubilden?

rmbinder commented 2 years ago

@luebbe: So einen Fall hatte ich auch mal. Ich habe dazu eine Rolle mit dem Namen "Selbstzahler" (Beitrag 0 €, Beitragszeitraum jährlich) erstellt. Einziges Mitglied in dieser Rolle war dann das Kind, dessen Eltern direkt (bar) zahlten/überwiesen.

Damit das Kind im ganzen System erfasst wurde (also auch in den Abrechnungen/Auswertungen als Beitragszahler) habe ich die Prüfungen entsprechend angepasst: Unter "Rollenmitgliedschaft (Pflicht)" gab es dann folgende (mit Haken markierte) Rollen: Altersgestaffelte Rollen, Familienrollen, Ehrenmitglieder, einige Festbeitragsrollen und diese Rolle Selbstzahler. Unter "Rollenmitgliedschaft (Ausschluss)" habe ich dann entsprechend ausgewählt, dass z.B. ein Ehrenmitglied nicht gleichzeitig Selbstzahler sein darf, usw usw.

luebbe commented 2 years ago

Danke @rmbinder, das ist ein guter Hinweis. Ich richte das mal so ein und kläre unseren Kassierer entsprechend auf. Eigentlich könnte ich dieser "Selbstzahler" Rolle ja schon einen Beitrag zuweisen. Warum nicht 1/4 des Jahresbeitrags, Zeitraum vierteljährlich? Oder kommt das dann Admidio in die Quere, weil es Exports für die Rechnung erstellen möchte? Wir haben auch ein paar Mitglieder, deren Beitrag vom Sozialamt über Gutscheine übernommen wird, die die Mitglieder bei uns abgeben und die unser Kassierer dann beim Sozialamt einreicht. Vielleicht sollte ich das ähnlich handhaben? Bisher laufen die mit dem normalen Beitrag unter Rechnung.

rmbinder commented 2 years ago

"1/4 des Jahresbeitrags, Zeitraum vierteljährlich" hört sich verständlich an, aber das Plugin Mitgliedsbeitrag ist anders aufgebaut. Der Beitrag ist immer der Jahresbeitrag und der Beitragszeitraum wird verwendet für die anteilige Beitragsberechnung. Das passt so nicht.

Besser wäre es, den zu zahlenden Jahresbeitrag als Beitrag in der Rolle zu setzen und als Beitragszeitraum jährlich. Dann Beitrag berechnen und einziehen. Danach neues Fälligkeitsdatum setzen und nochmals einziehen, usw.

Aber warum? Es muss doch kein Einzug stattfinden und somit auch keine XML-Datei erzeugt werden. Es sollte doch reichen, wenn der Kassierer eine Liste erhält mit Daten von Personen, bei denen der Beitrag nicht eingezogen wird, sondern die von selbst zahlen oder einen Gutschein bringen.

luebbe commented 2 years ago

OK, hoffentlich bekomme ich das:

  1. in meinen Kopf und
  2. heute Abend dazu, das einzurichten. Gestern war Training :)

Ich kämpfe gedanklich immer noch mit den Konzepten. Klar gibt es keinen XML Einzug und der Kassierer braucht eine Liste der Rechnungszahler sowie der Sonderfälle. Benötiche ich dann für jeden Selbstzahler mit individuellem Intervall und jeweiligem Beitrag eine neue Rolle? D.h. Selbstzahler Jugend 1/4 jährlich, Selbstzahler Senioren jährlich, Selbstzahler Jugend jährlich etc.? Die Beiträge an sich bleiben ja gleich. Letzendlich müsste man den Selbstzahlern ja auch bestätigen, dass die Zahlung eingegangen ist. Oder sie erinnern, wenn sie es vergessen haben. Was weniger Arbeit macht. Wahrscheinlich erinnern, weil es selten vorkommt.

idnovic commented 2 years ago

OK, hoffentlich bekomme ich das:

  1. in meinen Kopf und
  2. heute Abend dazu, das einzurichten. Gestern war Training :)

Ich kämpfe gedanklich immer noch mit den Konzepten. Klar gibt es keinen XML Einzug und der Kassierer braucht eine Liste der Rechnungszahler sowie der Sonderfälle. Benötiche ich dann für jeden Selbstzahler mit individuellem Intervall und jeweiligem Beitrag eine neue Rolle? D.h. Selbstzahler Jugend 1/4 jährlich, Selbstzahler Senioren jährlich, Selbstzahler Jugend jährlich etc.? Die Beiträge an sich bleiben ja gleich. Letzendlich müsste man den Selbstzahlern ja auch bestätigen, dass die Zahlung eingegangen ist. Oder sie erinnern, wenn sie es vergessen haben. Was weniger Arbeit macht. Wahrscheinlich erinnern, weil es selten vorkommt.

Ich würde es mit Abhängigkeiten versuchen. Vorschlag: Gruppe "Selbstzahler Jugend" ist automatisch Mitglied von "Selbstzahler" Gruppe "Selbstzahler Senioren" ist automatisch Mitglied von "Selbstzahler" Bei den Einstellungen von der Gruppe "Selbstzahler" lässt sich das einstellen.

Nun den Preis bei Selbstzahler einstellen. Den Rabatt in der anderen Gruppe als Differenz mit minus davor (erweiterte Einstellungen beim Buchhaltungsmodul).

Wir haben keine Altersstaffelung aber ich konnte so aus Teilgebühren für unsere Mitglieder jeweils das richtige berechnen lassen. Muss aber hinzufügen, ich teste das alles noch. Gibt nur wenige freiwillige Tester.

idnovic commented 2 years ago

"1/4 des Jahresbeitrags, Zeitraum vierteljährlich" hört sich verständlich an, aber das Plugin Mitgliedsbeitrag ist anders aufgebaut. Der Beitrag ist immer der Jahresbeitrag und der Beitragszeitraum wird verwendet für die anteilige Beitragsberechnung. Das passt so nicht.

Besser wäre es, den zu zahlenden Jahresbeitrag als Beitrag in der Rolle zu setzen und als Beitragszeitraum jährlich. Dann Beitrag berechnen und einziehen. Danach neues Fälligkeitsdatum setzen und nochmals einziehen, usw.

Wenn ich einen Beitragszeitraum jährlich einstellen würde. Was passiert wenn ich 2 mal im selben Jahr dieses Beitrag einziehe?

Ich hätte angenommen: Erster Einzug Jahr 2021, Zweiter Einzug Jahr 2022. Weil das Plugin weiß, Jahr 2021 wurde schon gezahlt.

Oder Ignoriert das Plugin das Datum völlig und geht immer von einem vollen Jahr aus? Mit dem Unterschied dass das Beitrittsdatum für anteilige Berechnung genutzt wird.

Wenn das so ist, würde es ja reichen wenn das Plugin einen von mir eingestellten Zeitraum versteht. Solange dieser 12 Monate hat.

Unsere nächste Abrechnung ist Anfang April. Bisher sieht bei den Tests alles gut aus (6 monatige Zyklen). Ich bin mir nur unsicher was das Plugin im Oktober berechnen würde. Meine Annahme ist, es berechnet Okt-Dez und damit 3 anstatt 6 Monate wie Okt-März.

rmbinder commented 2 years ago

Ich habe mich bei der Entwicklung des Plugins an meinem Verein orientiert mit folgenden Vorgaben:

In Admidio kann man für eine Rolle einen Beitrag und einen Beitragszeitraum definieren. Der Beitrag ist eben der zu zahlende Beitrag (und zwar immer als Jahresbeitrag gesehen), die Einstellung für Beitragszeitraum verwende ich aber für die Berechnung des anteiligen Beitrages. NICHT dafür, wie oft ein Beitrag im Jahr eingezogen wird. In der Dokumentation habe ich das Ganze ausführlich erläutert.

Somit hätten wir im Endeffekt 100 € auf 2x eingezogen.

Dem Plugin ist es im Prinzip egal, wann ein Beitrag bezahlt wurde. Es muss bzw. sollte immer (nach erfolgtem Bankeinzug) der Marker "Bezahlt-Datum" gesetzt werden. Das Setzen dieses Datum ist der Trigger für einige Folgeereignisse (z.B. FRST wird zu RCUR).