Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Workflow Rechnungen #513

Open
lenilsas opened this issue Dec 3, 2024 · 6 comments · May be fixed by #547
Open

Workflow Rechnungen #513

lenilsas opened this issue Dec 3, 2024 · 6 comments · May be fixed by #547

Comments

@lenilsas
Copy link

lenilsas commented Dec 3, 2024

Ich habe mich in letzter Zeit intensiv mit den Rechnungen beschäftigt und dies weiterentwickelt. Dabei gab es immer wieder Schwierigkeiten mit den Sollbuchungen die erst nicht bezahlt sind und sich durch das Bezahlen die Rechnung ändern kann.
Dann habe ich gemerkt, dass der Workflow etwas unlogisch ist: Man legt Beiträge und Zusatzbeträge an, bei der Abrechnung werden für jeden Betrag einzelne Sollbuchungen erstellt, dann erstellt man eine Rechnung über mehrere Sollbuchungen, auch aus unterschiedlichen Abrechnungsläufen, oder auch nur manche Buchungen aus einem Abrechnungslauf.
Bei Lastschrift gibt es hier keine größeren Schwierigkeiten, da für jede Sollbuchung automatisch eine Istbuchung erzeugt wird und die Lastschriften automatisch erstellt werden.
Bei Überweisung sieht das jedoch anders aus. Hier wird eine Rechnung über mehrere Sollbuchgen gestellt, von denen auch schon welche bezahlt worden sein können. In der Regel wird das Mitglied den Rechnungsbetrag in einer Summe überweisen und dann muss man den Betrag wieder aufsplitten und den Sollbuchungen zuordnen.

Jetzt habe ich einen Vorschlag den Workflow komplett zu verändern:
Beim Abrechnungslauf wird (wenn die Funktion eingeschaltet ist) eine Sollbuchung pro Mitglied und Zahlungsweg mit der Summe der (Sekundären-)Beiträge und Zusatzberäge erzeugt. Außerdem wird, wie aktuell schon bei Lastschriften, für jeden Beitrag und Zusatzbetrag eine Istbuchung mit angegebener Buchungsart etc. erzeugt, dazu eine Gegenbuchung über die Summe aller Buchungen des Abrechnungslaufes (Hier müsste man noch das Verrechnung/Forderungskonto festlegen können wie in #429 gefordert). Dann wird automatisch über jede Sollbuchung eine Rechnung erstellt. Die Positionen in der Rechnung wären dann nicht mehr Sollbuchungen sondern Einträge einer neu anzulegenden Rechnungspositionen Tabelle die vom Abrechnungslauf gefüllt wird.
Das Manuelle erzeugen der Rechnungen würde damit entfallen, jede Rechnung hat eine Sollbuchung, bei Überweisung des Betrages kann dieser einfach zugeordnet werden.
Die Funktion müsste in den Einstellungen oder direkt beim erstellen des Abrechnungslaufs (wie Kompakte Abbuchung) aktiviert oder deaktiviert werden können. Wenn deaktiviert läuft es wie bisher und es werden keine Rechnungen erstellt.

@JohannMaierhofer
Copy link

Ich finde diesen Vorschlag sehr gut und wir sollten in diese Richtung weiter denken. Ich hätte dazu auch einige Anmerkungen und Vorschläge, die aber nicht alle in der ersten Version drinnen sein müssen.

Ich würde das nicht ganz so strickt halten. Meine Idee wäre so:

  • beim Abrechnungslauf gibt es zwei Schalter, Sollbuchungen zusammenfassen und Rechnung erstellen
  • bei Sollbuchungen zusammenfassen wird wie du vorschlägst eine Sollbuchung pro Mitglied und Zahlungsweg mit der Summe der (Sekundären-)Beiträge und Zusatzberäge erzeugt. Die (Sekundären-)Beiträge und Zusatzberäge verweisen auf die Sollbuchung (das wäre praktisch die Rechnungspositionen)
  • ist Rechnung ausgewählt wird für jede Sollbuchung eine Rechnung erzeugt mit den der Sollbuchung zugeordneten Rechnungspositionen. Wurde nicht zusammengefasst dann gibt es halt eine Rechnung für jede Sollbuchung
  • Dieses Verfahren erlaubt es dann auch die Rechnung im nachhinein zu erstellen, aber eben wieder eine eigene Rechnung pro Sollbuchung. Also mit den Rechnungspositionen die in der Sollbuchung gespeichert sind
  • Für frühere Sollbuchungen lässt sich dann keine Rechnung erstellen, weil keine Rechnungspositionen zugeordnet sind. Alternativ könnte man dann einfach die Daten der Sollbuchung in die Rechnung übernehmen
  • In den Rechnung und auch Sollbuchung Detail Views müssten dann die Rechnungspositionen angezeigt werden

Es stellt sich dann die Frage on man Sollbuchungen auch weiterhin manuell erzeugen kann. Dann müsste man erlauben beim Erzeugen auch Rechnungspositionen hinzufügen. Späteres editieren wäre nicht erlaubt.

Das erzeugen der Buchungen auch für nicht Lastschriften während des Abrechnungslaufes sehe ich problematisch. Es gibt ein Problem welches natürlich auch schon bei Lastschriften existiert. Die Buchungen können unterschiedliche Buchungsarten haben, die Gegenbuchung aber nur eine. Die Buchungen tauchen darum zum Solldatum im Buchungklassensaldo auf. Bei Lastschrift ist das nicht so problematisch weil sie ja zu diesem Datum wirklich eingezogen werden. Die Überweisungen können aber auch viel später kommen. Wenn da ein Geschätsjahreswechsel ist passt das Buchugsklassensaldo nicht.
Ich würde darum hier weiterhin keine Buchungen generieren. Dafür könnte man es anders machen. Bezahlt der Überweisende, ordnet man die Buchung der Sollbuchung zu. Haben alle Rechnungspositionen die gleiche Buchungsart wird diese übernommen. Gibt es verschiedene wird eine Splitbuchung erzeugt mit je einer Buchung pro Buchungsart. Die Hauptbuchung wird der Sollbuchung zugeordnet.

Anzahlungen sollten weiter möglich sein. Das lässt sich aber leicht durch einen entsprechenden Zusatzbetrag lösen den man manuell erzeugt. Der wird dann automatisch berücksichtigt. Das gleiche kann man mit Rabatten und Zuschlägen machen indem man dafür jeweils einen Zusatzbetrag erzeugt.
Zukünftig wäre es dann auch schön wenn man durch ein Attribut im Zusatzbetrag angeben könnte ob es sich um eine reguläre Buchung, eine Anzahlung, einen Rabatt oder eine Zuschlag/Gebühr handelt. Das könnte man bei der E-Rechnung auswerten und die entsprechenden Felder im XML füllen.

@JohannMaierhofer
Copy link

Wie ist das jetzt mit #481 und #511? Sind die hinfällig wenn die neue Art implementiert wird oder baust du darauf auf?
Ich frage halt, ob es Sinn macht die noch fertig zu reviewen.

@lenilsas
Copy link
Author

lenilsas commented Dec 5, 2024

#481 ist unabhängig davon, man musste da auch noch was anpassen, das ist aber unwesentlich.
#511 kann erst mal gelassen werden, ich plane gerade noch wie ich es genau umsetzen möchte, es wird aber wahrscheinlich hinfällig sein

@lenilsas
Copy link
Author

lenilsas commented Dec 5, 2024

  • beim Abrechnungslauf gibt es zwei Schalter, Sollbuchungen zusammenfassen und Rechnung erstellen

ja, so ähnlich hatte ich das auch gedacht. Eventuell könnte man die "kompakte Abbuchung" und das Zusammenfassen der Sollbuchungen auch in einem Schlater machen, dass also bei kompakter Abbuchung automatisch nur eine Sollbuchung pro Mitglied und Zahlungsweg erzeugt wird.

  • bei Sollbuchungen zusammenfassen wird wie du vorschlägst eine Sollbuchung pro Mitglied und Zahlungsweg mit der Summe der (Sekundären-)Beiträge und Zusatzberäge erzeugt. Die (Sekundären-)Beiträge und Zusatzberäge verweisen auf die Sollbuchung (das wäre praktisch die Rechnungspositionen)

Wie sollen die Beiträge auf die Sollbuchung verweisen? Momentan gibt es nur die Beitragsgruppen und beim Mitglied die spalte Beitragsgruppe, für den Verweis ist eine neue Tabelle nötig, wie von mir vorgeschlagen "rechnungspositionen", kann natürlich auch "sollbuchungspositionen" o.ä. sein.

  • ist Rechnung ausgewählt wird für jede Sollbuchung eine Rechnung erzeugt mit den der Sollbuchung zugeordneten Rechnungspositionen. Wurde nicht zusammengefasst dann gibt es halt eine Rechnung für jede Sollbuchung
  • Dieses Verfahren erlaubt es dann auch die Rechnung im nachhinein zu erstellen, aber eben wieder eine eigene Rechnung pro Sollbuchung. Also mit den Rechnungspositionen die in der Sollbuchung gespeichert sind

ja, das klingt gut

  • Für frühere Sollbuchungen lässt sich dann keine Rechnung erstellen, weil keine Rechnungspositionen zugeordnet sind. Alternativ könnte man dann einfach die Daten der Sollbuchung in die Rechnung übernehmen

ja, so könnte man das machen

  • In den Rechnung und auch Sollbuchung Detail Views müssten dann die Rechnungspositionen angezeigt werden

Es stellt sich dann die Frage on man Sollbuchungen auch weiterhin manuell erzeugen kann. Dann müsste man erlauben beim Erzeugen auch Rechnungspositionen hinzufügen. Späteres editieren wäre nicht erlaubt.

Ich sehe insgesamt noch nicht so ganz den Grund, warum man Sollbuchungen manuell erstellen muss. Normalerweise sollten dies aus den Zusatzberägen und Beiträgen beim Abrechnungslauf erstellt werden. Es ist quasi ein Weg an der Abrechnung vorbei. Aktuell kann man Istbuchungen einem Mitglied zuordnen und gleichzeitig eine neue Sollbuchung erzeugen, das kann in bestimmten Situationen sinnvoll sein, zB. bei Spenden. Die Sollbuchung ist hier nötig, damit das Mitgliedskonto ausgeglichen bleibt.
Das Bearbeiten der Sollbuchung wäre nötig, wenn man zB. im nachhinein aus Kulanz o.ä. einen Teil des Beitrags erlässt und so die Sollbuchung anpasst. Ob das der korrekte Weg ist weiß ich jedoch nicht, evtl. müsse man auch eine neue Sollbuchung mit der "Erstattung" erstellen. Wahrscheinlich wäre es richtig, dann eine neue "sollbuchungsposition" mit der Erstattung hinzuzufügen.
Die Buchungsart und Buchungsklasse der Sollbuchung wären dann nicht mehr nötig, da diese in den Sollbuchungspositionen stehen würden.
Der Zahler ist, so wie ich es verstanden habe, nur für die Spendenbescheinigungen relevant.

Das erzeugen der Buchungen auch für nicht Lastschriften während des Abrechnungslaufes sehe ich problematisch. Es gibt ein Problem welches natürlich auch schon bei Lastschriften existiert. Die Buchungen können unterschiedliche Buchungsarten haben, die Gegenbuchung aber nur eine. Die Buchungen tauchen darum zum Solldatum im Buchungklassensaldo auf. Bei Lastschrift ist das nicht so problematisch weil sie ja zu diesem Datum wirklich eingezogen werden. Die Überweisungen können aber auch viel später kommen. Wenn da ein Geschätsjahreswechsel ist passt das Buchugsklassensaldo nicht. Ich würde darum hier weiterhin keine Buchungen generieren. Dafür könnte man es anders machen. Bezahlt der Überweisende, ordnet man die Buchung der Sollbuchung zu. Haben alle Rechnungspositionen die gleiche Buchungsart wird diese übernommen. Gibt es verschiedene wird eine Splitbuchung erzeugt mit je einer Buchung pro Buchungsart. Die Hauptbuchung wird der Sollbuchung zugeordnet.

Wenn man Umsatzsteuerpflichtig ist und nicht die Istbesteuerung beantragt hat, muss man so buchen, dass zum Leistungsdatum die Umsatzsteuer fällig wird. Also beim Abrechnungslauf eine Istbuchung auf ein Konto "Umbuchungen" buchen, mit der angegebenen Buchungsart. Und dann noch eine Gegenbuchung über den ganzen Abrechnungslauf Konto "Umbuchungen" Buchungsart "Forderungen aus Lieferungen und Leistungen". Dann können die eingehenden Mitgliedsbeiträge der Buchungsart "Forderungen aus Lieferungen und Leistungen" und der Sollbuchung zugeordnet werden. (Ich bin von Syntax die doppelte Buchführung gewohnt, da gibt es keinen Unterschied zwischen Konten und Buchungsarten. Aus meiner Sicht sind da solche Buchungsvorgänge einfacher, das Umbuchungskonto wäre da nicht nötig. ICh habe versucht mein Vorgehen von da für JVerein anzupassen).
Auch beim Jahreswechsel müssen die Buchungen in dem Jahr gebucht werden in das sie gehören, man muss darauf achten, dass man nicht am 30.12. einen Abrechnungslauf mit Fäligkeit 31.12. macht mit Buchungen für Januar. Wenn das Fälligkeitsdatum richtig gesetzt ist sollte eigentlich nichts schief gehen. Anders herum auch nicht die Dezemberbeiträge und Zusatzbeträge mit Fälligkeitsdatum im neuen Jahr.
Hier ist noch die Frage wie man die Zusatzberäge bucht, eigentlich muss hier ja das beim Zusatzbetrag eingetragene Fälligkeitsdatum verwendet werden, bisher wird je doch das aus dem Abrechnungslauf genommen. Wenn man das ändert, müsste man darauf achten, Zusatzbeträge bis zum Jahresende abzurechnen und nicht erst im Januar, sonst wird das Umbuchen komplizierter.

Anzahlungen sollten weiter möglich sein. Das lässt sich aber leicht durch einen entsprechenden Zusatzbetrag lösen den man manuell erzeugt. Der wird dann automatisch berücksichtigt. Das gleiche kann man mit Rabatten und Zuschlägen machen indem man dafür jeweils einen Zusatzbetrag erzeugt. Zukünftig wäre es dann auch schön wenn man durch ein Attribut im Zusatzbetrag angeben könnte ob es sich um eine reguläre Buchung, eine Anzahlung, einen Rabatt oder eine Zuschlag/Gebühr handelt. Das könnte man bei der E-Rechnung auswerten und die entsprechenden Felder im XML füllen.

Bei Rabatten und Zuschlägen könnte man das so machen, da sie ja vor der Abrechnung bekannt sind. Bei Zahlungen in mehreren teilen ist es auch möglich, wenn man die Istbuchungen mit der richtigen Buchungsart schon vorher angelegt hat, ohne das müsste man nicht, wie die Buchung gesplittet werden soll.
Wenn nach der Rechnungsstellung ein Nachlass vereinbart wird, müsste man ein Gutschrift ausstellen.
Im Falle eines Mahnvervahrens müsste im Nachhinein eine Mahngebühr der Rechnung hinzugefügt werden, dafür müssten die Istbuchungen auch irgendwie erstellt werden.

@JohannMaierhofer
Copy link

JohannMaierhofer commented Dec 6, 2024

Wie sollen die Beiträge auf die Sollbuchung verweisen? Momentan gibt es nur die Beitragsgruppen und beim Mitglied die spalte Beitragsgruppe, für den Verweis ist eine neue Tabelle nötig, wie von mir vorgeschlagen "rechnungspositionen", kann natürlich auch "sollbuchungspositionen" o.ä. sein.

Du hast Recht

Es stellt sich dann die Frage on man Sollbuchungen auch weiterhin manuell erzeugen kann. Dann müsste man erlauben beim Erzeugen auch Rechnungspositionen hinzufügen. Späteres editieren wäre nicht erlaubt.

Ich sehe insgesamt noch nicht so ganz den Grund, warum man Sollbuchungen manuell erstellen muss. Normalerweise sollten dies aus den Zusatzberägen und Beiträgen beim Abrechnungslauf erstellt werden. Es ist quasi ein Weg an der Abrechnung vorbei. Aktuell kann man Istbuchungen einem Mitglied zuordnen und gleichzeitig eine neue Sollbuchung erzeugen, das kann in bestimmten Situationen sinnvoll sein, zB. bei Spenden. Die Sollbuchung ist hier nötig, damit das Mitgliedskonto ausgeglichen bleibt.

Wenn jemand einfach so etwas spendet bräuchte man nicht unbedingt eine Sollbuchung. Ohne die Einträge ist das Konto ja auch ausgeglichen. Es gab ja keine Forderung. Aber wenn mann es im Kontoauszug sehen will, muss man die Sollbuchung erzeugen können.

Das Bearbeiten der Sollbuchung wäre nötig, wenn man zB. im nachhinein aus Kulanz o.ä. einen Teil des Beitrags erlässt und so die Sollbuchung anpasst. Ob das der korrekte Weg ist weiß ich jedoch nicht, evtl. müsse man auch eine neue Sollbuchung mit der "Erstattung" erstellen. Wahrscheinlich wäre es richtig, dann eine neue "sollbuchungsposition" mit der Erstattung hinzuzufügen.

Man könnte in dem Fall die Sollbuchung auch einfach löschen und manuell neu erzeugen. Da müsste eben das manuelle Erzeugen gehen.

Die Buchungsart und Buchungsklasse der Sollbuchung wären dann nicht mehr nötig, da diese in den Sollbuchungspositionen stehen würden.

Es wäre aber trotzdem schön wenn die zugewiesen Buchungen automatisch wie bisher die Buchungsart und Buchungsklasse von der Sollbuchung erben würden. Haben alle Positionen die gleiche, könnte man diese vererben. Bei einem Mix geht das nicht oder man könnte da eine in den Einstellungen konfigurieren, wie z.B. Spitbuchung.
Kann man Sollbuchungen weiter manuell erzeugen ohne die Positionen währe es auch weiter gut wenn man sie dann setzen könnte.

Der Zahler ist, so wie ich es verstanden habe, nur für die Spendenbescheinigungen relevant.

Ja schon, bei Rechnung war halt die Frage wer die Rechnung bekommen soll. Wenn beide, müsste man den Zahler hier speichern.

Das erzeugen der Buchungen auch für nicht Lastschriften während des Abrechnungslaufes sehe ich problematisch. Es gibt ein Problem welches natürlich auch schon bei Lastschriften existiert. Die Buchungen können unterschiedliche Buchungsarten haben, die Gegenbuchung aber nur eine. Die Buchungen tauchen darum zum Solldatum im Buchungklassensaldo auf. Bei Lastschrift ist das nicht so problematisch weil sie ja zu diesem Datum wirklich eingezogen werden. Die Überweisungen können aber auch viel später kommen. Wenn da ein Geschätsjahreswechsel ist passt das Buchugsklassensaldo nicht. Ich würde darum hier weiterhin keine Buchungen generieren. Dafür könnte man es anders machen. Bezahlt der Überweisende, ordnet man die Buchung der Sollbuchung zu. Haben alle Rechnungspositionen die gleiche Buchungsart wird diese übernommen. Gibt es verschiedene wird eine Splitbuchung erzeugt mit je einer Buchung pro Buchungsart. Die Hauptbuchung wird der Sollbuchung zugeordnet.

Wenn man Umsatzsteuerpflichtig ist und nicht die Istbesteuerung beantragt hat, muss man so buchen, dass zum Leistungsdatum die Umsatzsteuer fällig wird. Also beim Abrechnungslauf eine Istbuchung auf ein Konto "Umbuchungen" buchen, mit der angegebenen Buchungsart. Und dann noch eine Gegenbuchung über den ganzen Abrechnungslauf Konto "Umbuchungen" Buchungsart "Forderungen aus Lieferungen und Leistungen". Dann können die eingehenden Mitgliedsbeiträge der Buchungsart "Forderungen aus Lieferungen und Leistungen" und der Sollbuchung zugeordnet werden. (Ich bin von Syntax die doppelte Buchführung gewohnt, da gibt es keinen Unterschied zwischen Konten und Buchungsarten. Aus meiner Sicht sind da solche Buchungsvorgänge einfacher, das Umbuchungskonto wäre da nicht nötig. ICh habe versucht mein Vorgehen von da für JVerein anzupassen).

Ich bin jetzt da mit der Besteuerung nicht so fit. Wegen des Wunsches im Forum nach Unterstützung von Mittelverwendungs Rechnung, und auch wegen dem Zuflussprinzip habe ich etwas im Internet recherchiert.
Ich glaube da gesehen zu haben, dass es durchaus Unterschiede zwischen einfacher und doppelter Buchführung gibt.
Bei der einfachen Buchführung gilt das Zuflussprinzip mit der Ausnahme von 10 Tagen bei periodischen Zahlungen. Ist also etwas periodisches am 31.12 eines Jahres fällig und es wird nicht bis zum 10.1 des nächsten Jahres bezahlt muss es im nächsten Jahr verbucht werden. Bei einer nicht periodischen Forderung gilt nur der Tag an dem das Geld fließt.
Was du beschreibst gilt nur für die doppelte Buchführung. Bei JVerein darf man das dann so auch nicht machen. Wenn man so veranlagt ist muss man ein anderes Tool nehmen.

Auch beim Jahreswechsel müssen die Buchungen in dem Jahr gebucht werden in das sie gehören, man muss darauf achten, dass man nicht am 30.12. einen Abrechnungslauf mit Fäligkeit 31.12. macht mit Buchungen für Januar. Wenn das Fälligkeitsdatum richtig gesetzt ist sollte eigentlich nichts schief gehen. Anders herum auch nicht die Dezemberbeiträge und Zusatzbeträge mit Fälligkeitsdatum im neuen Jahr.

Siehe oben

Hier ist noch die Frage wie man die Zusatzberäge bucht, eigentlich muss hier ja das beim Zusatzbetrag eingetragene Fälligkeitsdatum verwendet werden, bisher wird je doch das aus dem Abrechnungslauf genommen. Wenn man das ändert, müsste man darauf achten, Zusatzbeträge bis zum Jahresende abzurechnen und nicht erst im Januar, sonst wird das Umbuchen komplizierter.

Wenn sie unterschiedliches Fälligkeitsdatum habe, dann könntest du sie nicht mehr zu einer Sollbuchung zusammen fassen. Aber es würde Sinn machen das Datum aus den Fälligkeiten zu nehmen.

@JohannMaierhofer
Copy link

JohannMaierhofer commented Dec 6, 2024

Hier ist noch die Frage wie man die Zusatzberäge bucht, eigentlich muss hier ja das beim Zusatzbetrag eingetragene Fälligkeitsdatum verwendet werden, bisher wird je doch das aus dem Abrechnungslauf genommen. Wenn man das ändert, müsste man darauf achten, Zusatzbeträge bis zum Jahresende abzurechnen und nicht erst im Januar, sonst wird das Umbuchen komplizierter.

Wenn sie unterschiedliches Fälligkeitsdatum habe, dann könntest du sie nicht mehr zu einer Sollbuchung zusammen fassen. Aber es würde Sinn machen das Datum aus den Fälligkeiten zu nehmen.

Ich glaube ich muss diese Aussage revidieren. Ich habe ja festgestellt, dass bei einfacher Buchführung das Datum des Geldflusses bei der Verbuchung zu nehmen ist und nicht etwa das Datum der Forderung oder das Rechnungsdatum.
Wenn also Zusatzbeiträge mit unterschiedlichem Fälligkeitsdatum zu einer Lastschrift zusammengefasst werden zählt bei der Verbuchung das Datum der Lastschrift. Das gleiche gilt dann auch für die Sollbuchung.

Und bei Bezahlung durch Überweisung gilt in der Buchführung der Tag an dem das Geld eingeht (Ausnahme 10 Tage Regel).

Ich habe dann noch gesehen, dass es im XML der Rechnung einen Abrechnungszeitraum gibt. Vielleicht müsste man hier den Zeitraum der Rechnungspositionen eintragen.

@lenilsas lenilsas linked a pull request Dec 21, 2024 that will close this issue
@lenilsas lenilsas linked a pull request Dec 27, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants