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

View Rechnung automatisch erzeugen sollte nur offene Sollbuchungen anzeigen #494

Closed
tolot27 opened this issue Nov 26, 2024 · 16 comments
Closed
Labels
bug Something isn't working

Comments

@tolot27
Copy link
Member

tolot27 commented Nov 26, 2024

Momentan werden bei der Rechnungserzeugungsansicht alle Buchungen angezeigt, unabhängig davon, ob sie bereits ausgeglichen sind oder nicht. Man kann nun "Ohne Abbucher" wählen. Das filtert schon einige Buchungen. Über Datum von/bis kann man das noch weiter eingrenzen. Allerdings bekommt man so nicht unbedingt alle Buchungen herausgefiltert, die bereits ausgeglichen sind (Gegenbuchung existiert). Hier wäre es wirklich hilfreich, dass nur noch Buchungen angezeigt werden, für die es keine Gegenbuchung gibt.
Ansonsten kann es ganz schnell passieren, dass eine Buchung doppelt abgerechnet wird.
Die Eingrenzung der Differenz auf Fehlbetrag hilft im Falle von Rückerstattungen/Gutschriften auch nicht, da diese dann gar nicht angezeigt werden. Daher habe ich bei mir die Differenz auf "Egal" stehen.
Man kann bei der Differenz auch "Überzahlung" auswählen. Dann wird die Gutschrift trotzdem nicht angezeigt.

@tolot27 tolot27 added the bug Something isn't working label Nov 26, 2024
@JohannMaierhofer
Copy link

Ich verstehe die Frage nicht ganz.
Erstens werden in dem View keine Buchungen angezeigt sondern Sollbuchungen.
Es werden auch nur Sollbuchungen aufgenommen für die noch keine Rechnung existiert. Es wird also für keine Sollbuchung eine zweite Rechnung erstellt.
Der Filter Differenz funktioniert bei mir schon. Bei Differenz Fehlbetrag werden nur Sollbuchungen in die Rechnung aufgenommen bei denen die Summe der Beträge der zugewiesenen Buchungen noch geringer ist als der Betrag in der Sollbuchung. Hier wird dann der Fehlbetrag in Rechnung gestellt bzw. angemahnt.
Bei Differenz Überzahlung werden nur Sollbuchungen berücksichtigt bei denen die Summe der Beträge der zugewisenen Buchungen über dem Betrag der Sollbuchung liegt.
Das ist eigentlich das was zu erwarten ist.

Du scheinst hier etwas anderes zu erwarten. Du redest von doppelter Abrechnung. Meinst du da den Abrechnungslauf?

@tolot27
Copy link
Member Author

tolot27 commented Nov 27, 2024

Erstens werden in dem View keine Buchungen angezeigt sondern Sollbuchungen.

Ja, das hätte ich präziser schreiben können. Ich rede hier auch von Sollbuchungen.

Es werden auch nur Sollbuchungen aufgenommen für die noch keine Rechnung existiert. Es wird also für keine Sollbuchung eine zweite Rechnung erstellt.

Das ist partiell korrekt. Ich sehe bei mir auch diejenigen Sollbuchungen, die außerhalb von Rechnungen (ich habe sie bisher nicht genutzt) ganz normal über Abrechnungsläufe erstellt und größtenteils auch alle schon längst bezahlt sind. Es werden alle Sollbuchungen aufgeführt, für die bereits eine Istbuchung zugewiesen ist. Genau für diese ausgeglichenen Sollbuchungen, die damals ohne Rechnung erstellt wurden, braucht man nun auch keine Rechnung mehr.

Es müsste also ein SELECT mk.* FROM mitgliedskonto mk LEFT JOIN buchung b ON mk.id = b.mitgliedskonto WHERE rechnung IS NULL AND b.mitgliedskonto IS NULL gemacht werden, statt nur des rechnung IS NULL.

Wenn man sich das Mitgliedskonto bei der Mitgliedsdetailansicht anschaut, werden ja auch bereits bezahlte Sollbuchungen korrekt mit ihrer Istbuchung berücksichtig und die Differenz 0 ausgegeben.

Der Filter Differenz funktioniert bei mir schon. Bei Differenz Fehlbetrag werden nur Sollbuchungen in die Rechnung aufgenommen bei denen die Summe der Beträge der zugewiesenen Buchungen noch geringer ist als der Betrag in der Sollbuchung. Hier wird dann der Fehlbetrag in Rechnung gestellt bzw. angemahnt. Bei Differenz Überzahlung werden nur Sollbuchungen berücksichtigt bei denen die Summe der Beträge der zugewisenen Buchungen über dem Betrag der Sollbuchung liegt. Das ist eigentlich das was zu erwarten ist.

Nur werden hier reine Gutschriften (negativer Betrag) gar nicht angezeigt. D. h. Zeile

+ "sum(buchung.betrag) is null and mitgliedskonto.betrag > 0 ";
müsste auf <> 0 testen, statt nur auf > 0.

Das gilt auch für

+ "sum(buchung.betrag) is null and mitgliedskonto.betrag > 0 ";
und
+ "(SUM(buchung.betrag) IS NULL AND mitgliedskonto.betrag > 0)");
gleichermaßen.

Das scheint allerdings auch noch nicht zu reichen. Die SQL-Abfragen liefern nun auch die Gutschriften zurück. Allerdings werden sie trotzdem nicht angezeigt, außer bei Egal.

@JohannMaierhofer
Copy link

JohannMaierhofer commented Nov 27, 2024

Das ist partiell korrekt. Ich sehe bei mir auch diejenigen Sollbuchungen, die außerhalb von Rechnungen (ich habe sie bisher nicht genutzt) ganz normal über Abrechnungsläufe erstellt und größtenteils auch alle schon längst bezahlt sind. Es werden alle Sollbuchungen aufgeführt, für die bereits eine Istbuchung zugewiesen ist. Genau für diese ausgeglichenen Sollbuchungen, die damals ohne Rechnung erstellt wurden, braucht man nun auch keine Rechnung mehr.

Dafür gibt es ja die Filter für Datum und die Differenz. Bei Differenz Fehlbetrag werden die ausgeblendet. Fehlbetrag sollte eigentlich normalerweise gewählt sein.

Es müsste also ein SELECT mk.* FROM mitgliedskonto mk LEFT JOIN buchung b ON mk.id = b.mitgliedskonto WHERE rechnung IS NULL AND b.mitgliedskonto IS NULL gemacht werden, statt nur des rechnung IS NULL.

Das sehe ich nicht so. Es kann ja sein, dass jemand in Raten bezahlt oder nicht den vollen Betrag. Bei dir würde dann die Sollbuchungen nicht mehr aufgenommen wenn bereits eine Buchung zugeordnet ist. So wie es ist, ist es richtig. Es wird die Summe der zugeordneten Buchungen ausgerechnet und wenn die noch kleiner als der Sollbetrag in der Sollbuchung ist wird sie angezeigt. Sie ist ja dann nicht ausgeglichen.

Wenn man sich das Mitgliedskonto bei der Mitgliedsdetailansicht anschaut, werden ja auch bereits bezahlte Sollbuchungen korrekt mit ihrer Istbuchung berücksichtig und die Differenz 0 ausgegeben.

Ja, Differenz egal bedeutet auch 0.

Der Filter Differenz funktioniert bei mir schon. Bei Differenz Fehlbetrag werden nur Sollbuchungen in die Rechnung aufgenommen bei denen die Summe der Beträge der zugewiesenen Buchungen noch geringer ist als der Betrag in der Sollbuchung. Hier wird dann der Fehlbetrag in Rechnung gestellt bzw. angemahnt. Bei Differenz Überzahlung werden nur Sollbuchungen berücksichtigt bei denen die Summe der Beträge der zugewisenen Buchungen über dem Betrag der Sollbuchung liegt. Das ist eigentlich das was zu erwarten ist.

Nur werden hier reine Gutschriften (negativer Betrag) gar nicht angezeigt. D. h. Zeile

+ "sum(buchung.betrag) is null and mitgliedskonto.betrag > 0 ";
müsste auf <> 0 testen, statt nur auf > 0.

Aber Sollbuchungen sind Forderungen, da sollte kein negativer Betrag stehen. Jedenfalls denke ich, dass ein Abrechnungslauf sowas nicht erzeugt. Dort kann man zwar einen Beitrag mit negativen Zusatzbeiträgen verrechnen, aber das Ergebnis muss immer ein zu zahlen der Betrag sein.
Bei einer Umdeutung stimmt auch <> nicht. Da müssten alle Vergleiche umgedreht werden.
Wenn du aber meinst, dass eine Sollbuchung dann über z.B. aus einer Lastschrift besteht und einer Gutschrift, dann funktioniert es auch wieder wenn die Summe aus beiden der Forderung entspricht.

@tolot27
Copy link
Member Author

tolot27 commented Nov 27, 2024

Das ist partiell korrekt. Ich sehe bei mir auch diejenigen Sollbuchungen, die außerhalb von Rechnungen (ich habe sie bisher nicht genutzt) ganz normal über Abrechnungsläufe erstellt und größtenteils auch alle schon längst bezahlt sind. Es werden alle Sollbuchungen aufgeführt, für die bereits eine Istbuchung zugewiesen ist. Genau für diese ausgeglichenen Sollbuchungen, die damals ohne Rechnung erstellt wurden, braucht man nun auch keine Rechnung mehr.

Dafür gibt es ja die Filter für Datum und die Differenz. Bei Differenz Fehlbetrag werden die ausgeblendet. Fehlbetrag sollte eigentlich normalerweise gewählt sein.

Es müsste also ein SELECT mk.* FROM mitgliedskonto mk LEFT JOIN buchung b ON mk.id = b.mitgliedskonto WHERE rechnung IS NULL AND b.mitgliedskonto IS NULL gemacht werden, statt nur des rechnung IS NULL.

Das sehe ich nicht so. Es kann ja sein, dass jemand in Raten bezahlt oder nicht den vollen Betrag. Bei dir würde dann die Sollbuchungen nicht mehr aufgenommen wenn bereits eine Buchung zugeordnet ist. So wie es ist, ist es richtig. Es wird die Summe der zugeordneten Buchungen ausgerechnet und wenn die noch kleiner als der Sollbetrag in der Sollbuchung ist wird sie angezeigt. Sie ist ja dann nicht ausgeglichen.

Wir nähern uns langsam an. 😄

Wenn man egal wählt, dürften ausgeglichene Buchungen (Soll=Ist) für die es auch keine Rechnung gibt (weil damals nicht gemacht) meiner Ansicht nach gar nicht angezeigt werden. Man kann das über den Datumsfilter nur bedingt eingrenzen, da ja eine derartige Buchung auch im Rechnungszeitraum (zeitlich zwischen den nicht ausgeglichenen Sollbuchungen) liegen kann.

@JohannMaierhofer
Copy link

Wenn man egal wählt, dürften ausgeglichene Buchungen (Soll=Ist) für die es auch keine Rechnung gibt (weil damals nicht gemacht) meiner Ansicht nach gar nicht angezeigt werden. Man kann das über den Datumsfilter nur bedingt eingrenzen, da ja eine derartige Buchung auch im Rechnungszeitraum (zeitlich zwischen den nicht ausgeglichenen Sollbuchungen) liegen kann.

Was soll dann egal sein? Das wäre ja dann nur Fehlbetrag oder Überzahlung, also sowas wie nicht exakt.
Ich finde die Option alle zu sehen nicht schlecht. Vielleicht möchte ja jemand nachdem er schon bezahlt hat eine Rechnung.
Ich stelle eigentlich keine Rechnungen aus wenn ein Mitglied bezahlt. Sollte er aber eine brauchen hätten wir die Möglichkeit und das auch im Nachhinein.

@tolot27
Copy link
Member Author

tolot27 commented Nov 27, 2024

Aber Sollbuchungen sind Forderungen, da sollte kein negativer Betrag stehen. Jedenfalls denke ich, dass ein Abrechnungslauf sowas nicht erzeugt. Dort kann man zwar einen Beitrag mit negativen Zusatzbeiträgen verrechnen, aber das Ergebnis muss immer ein zu zahlen der Betrag sein.

Buchhalterisch magst du bzgl. Soll recht haben. Nur werden aus Gutschriften (negative Zusatzbeträge) beim Abrechnungslauf keine Istbuchungen erzeugt, sondern negative Sollbuchungen. Die werden auch nicht mit anderen positiven Beträgen verrechnet, zumindest nicht, wenn der Zahlweg auf Überweisung steht. Es werden stumpf negative Sollbuchungen erzeugt. Diese will ich mit anderen positiven Sollbuchungen (Forderungen) verrechnen können. Das geht aber nur, wenn sie auch aufgeführt werden.
Und warum muss ein Ergebnis immer ein zu zahlender Betrag sein? Wie will man dann Gutschriften abbilden?

Bei einer Umdeutung stimmt auch <> nicht. Da müssten alle Vergleiche umgedreht werden.

Sehe ich nicht so. Das Wort Fehlbetrag bedeutet ja nicht automatisch, dass er positiv sein muss (Forderung). Er kann ja auch negativ sein (Gutschrift). Ich habe die queries in SQL getestet und bekomme die gewünschten Ergebnisse.
Man kann bei Fehlbetrag auch das AND mitgliedskonto.betrag <> 0 komplett weglassen, da maßgeblich zusätzlich zu berücksichtigen ist, dass noch gar keine Zahlung eingegangen ist (SUM(buchung.betrag) IS NULL). Das mitgliedskonto.betrag nicht NULL oder 0 ist, ist offensichtlich, da ja ein Eintrag im Mitgliedskonto vorhanden sein sollte. Falls dieser den Wert 0 hat, will man ihn ja vielleicht doch auf der Rechnung haben. Falls nicht, wäre <> 0 in dem Fall richtig.

Wenn du aber meinst, dass eine Sollbuchung dann über z.B. aus einer Lastschrift besteht und einer Gutschrift, dann funktioniert es auch wieder wenn die Summe aus beiden der Forderung entspricht.

Einen derartigen Fall habe ich momentan nicht.

Da die Rechnungserstellung aus selektiv ausgewählten Sollbuchungen (die man sich via "Egal" anzeigen lassen kann [positive und negative]) nicht mehr verfügbar ist, sollte über die Funktion "Neu (automatisch)" die Möglichkeit bestehen, aus den relevanten (= nicht ausgeglichenen) Sollbuchungen eine Rechnung zu erstellen, wo auch Gutschriften berücksichtigt werden. Dazu sehe ich momentan nur die Möglichkeit, bei "Fehlbetrag" auch negative Sollbuchungen zuzulassen. Bei "Egal" kann ich ja auch nicht selektiv auswählen, welche Sollbuchungen auf der Rechnung erscheinen sollen. Ich kann nur filtern, jedoch zeitlich innenliegende ausgeglichene Sollbuchungen nicht ausschließen.

@tolot27
Copy link
Member Author

tolot27 commented Nov 27, 2024

Wenn man egal wählt, dürften ausgeglichene Buchungen (Soll=Ist) für die es auch keine Rechnung gibt (weil damals nicht gemacht) meiner Ansicht nach gar nicht angezeigt werden. Man kann das über den Datumsfilter nur bedingt eingrenzen, da ja eine derartige Buchung auch im Rechnungszeitraum (zeitlich zwischen den nicht ausgeglichenen Sollbuchungen) liegen kann.

Was soll dann egal sein? Das wäre ja dann nur Fehlbetrag oder Überzahlung, also sowas wie nicht exakt. Ich finde die Option alle zu sehen nicht schlecht. Vielleicht möchte ja jemand nachdem er schon bezahlt hat eine Rechnung. Ich stelle eigentlich keine Rechnungen aus wenn ein Mitglied bezahlt. Sollte er aber eine brauchen hätten wir die Möglichkeit und das auch im Nachhinein.

Das geht dann im Nachhinein nicht wirklich selektiv sondern nur für alle oder diejenigen Buchungen, die man mit dem Filter eingegrenzt bekommt.

@JohannMaierhofer
Copy link

JohannMaierhofer commented Nov 28, 2024

Jetzt hat es bei mir geklingelt. Ich hatte einen Denkfehler. Ich dachte, dass bei der Abrechnung immer ein positiver Betrag rauskommen muss. Das gilt aber nur für die Lastschrift. Die Sollbuchungen werden mit Minus erzeugt wie du schon sagtest. Ich habe sowas bei mir noch nicht gehabt.

Und ja, dann wäre die Abfrage falsch. Aber ein <> 0 reicht nicht wie ich schon sagte. Das wäre zwar mathematisch richtig aber nicht logisch.
Beispiel:
Soll ist 100€, gezahlt 50€ dann sollte das bei Fehlbetrag auftauchen weil 50€ < 100€
Jetzt: Soll -100€, überwiesen -50€, da fehlt also noch was, aber -50€ ist größer als -100€, da käme ein Überzahlen raus, ist aber Fehlbetrag weil ich noch was zahlen muss.

Man muss mit absoluten Zahlen arbeiten. Ich habe das mal im SollbuchungQuiery probiert. So passt es anscheinend.
if (DIFFERENZ.FEHLBETRAG == diff)
{
sql.append(" HAVING ABS(SUM(buchung.betrag)) < ABS(mitgliedskonto.betrag) OR "
+ "(SUM(buchung.betrag) IS NULL AND ABS(mitgliedskonto.betrag) > 0)");
}
if (DIFFERENZ.UEBERZAHLUNG == diff)
{
sql.append(" HAVING ABS(SUM(buchung.betrag)) > ABS(mitgliedskonto.betrag)");
}

So müsste man das auch im Query bei der Rechnung ändern. Dann ist mir noch aufgefallen, dass der Filter nach Name im Rechnung Erzeugen View nicht funktioniert und die Mitglieder nach Namen sortiert wäre auch nicht schlecht..

Bezüglich der Diskussion über das Egal und der Möglichkeit einfach einem Mitglied eine Rechnung zuzuordnen fehtl ja noch ein Fetaure. Bisher konnte man im Sollbuchungen View Sollbuchungen auswählen und über das Kontextmenü eine Rechnung dafür generieren. Das wurde nur im ersten Schritt noch nicht implementiert. Die Menüpunkte sind aber noch da und nur auskommentiert. @lenilsas wollte das noch machen.

Da ich das SollbuchungQuiery sowieso in #493 angepasst habe werde ich diesen Fix dort mit einbauen. Dann sollte der Teil schon mal erledigt sein.

@JohannMaierhofer
Copy link

JohannMaierhofer commented Nov 28, 2024

Die Formel oben war zu vereinfacht. Sie ging davon aus, das bei Sollbuchungen Zahlungseingänge kommen und bei Gutschriften Zahlungsausgänge und bei Überzahlung nur ein Ausgleich passiert.
Korrekterweise müsste es so lauten:
if (DIFFERENZ.FEHLBETRAG == diff)
{
sql.append(
" HAVING (mitgliedskonto.betrag >= 0 AND SUM(buchung.betrag) < mitgliedskonto.betrag) OR"
+ " (mitgliedskonto.betrag < 0 AND SUM(buchung.betrag) > mitgliedskonto.betrag) OR"
+ " (SUM(buchung.betrag) IS NULL AND mitgliedskonto.betrag <> 0)");
}
if (DIFFERENZ.UEBERZAHLUNG == diff)
{
sql.append(
" HAVING (mitgliedskonto.betrag >= 0 AND SUM(buchung.betrag) > mitgliedskonto.betrag) OR"
+ " (mitgliedskonto.betrag < 0 AND SUM(buchung.betrag) < mitgliedskonto.betrag)");
}

Bei mitgliedskonto.betrag 0 gehe ich davon aus, dass es sich um eine Forderung handelt und nicht Gutschrift falls das vorkommen sollte. Ausgeglichen ist es halt nicht wenn die Summe nicht 0 ist.

Da ist folgendes zu beachten. Hat man z.B. ein soll von -100 dann ist eine Summe von +50 ein Fehlbetrag. Hier gab es einen Geldeingang von 50. Um die Buchung auszugleichen muss man jetzt 150 an den Empfänger zahlen.

@lenilsas
Copy link

Beim Ändern der Rechnungserstellung habe ich die negativen Zusatzbeträge nicht bedacht.
Beim automatischen erstellen der Rechnungen prüfe ich auf Sollbuchungsebene ob die Buchung einen Fehlbetrag oder eine Überzahlung hat. Es stimmt, dass negative Sollbuchungen nicht angezeigt werden, ich denke die müssten unter "Überzahlung" stehen.
Nun habe ich festgestellt, dass es wenig sinn macht, dass die "Fehlbetrag" Sollbuchungen nicht zusammen mit den "Überzahlung" Sollbuchungen gemeinsam angezeigt werden. Ich würde vorschlagen, dass ich es so ändere, dass die Prüfung auf "Fehlbetrag" oder "Überzahlung" auf Mitgliedsebene stattfindet. Also jedes Mitglied nur bei "Fehlbetrag" ODER "Überzahlung" aufgelistet wird. Da stellt sich die Frage, ob auch nur die nicht ausgeglichenen Sollbuchungen (wie aktuell umgesetzt) auf der Rechnung stehen sollen oder alle in dem Zeitraum.
Ich hatte ja auch noch vor, die Rechnung nach Zahlungsweg zu trennen, so dass jeder Rechnung nur ein Zahlungsweg zugewiesen wird. Das bedeutet aber, dass Überweisung und Lastschrift nicht miteinander verrechnet werden können und somit bei verschiedenen Zahlungswegen bei einem Mitglied gleichzeitig ein "Fehlbetrag" und eine "Überzahlung" bestehen können.

Als ich die Möglichkeit für negative Zusatzbeiträge geschaffen habe, habe ich es in erster Linie für Gutschriften die mit Lastschriften verrechnet werden gedacht. Beim Abrechnungslauf kommt es zum Fehler wenn die Lastschrift summe negativ ist. Es funktioniert also nur bei kompakter Abbuchung und größerer Forderung als Gutschrift. Bei den Lastschriften werden im Abrechnungslauf automatisch Istbuchungen für jede Sollbuchung erzeugt.
Beim Zahlungsweg Überweisung sieht es jedoch anders aus da es hier keine kompakte Abrechnung gibt. Wenn wir hier eine Rechnung über mehrere Sollbuchungen (Fehlbeträge und auch Gutschriften) stellen kann die Summe positiv oder auch negativ sein. Der Betrag wird meistens in einer Summe überwiesen werden (Ob vom Verein oder vom Mitglied). Hier sollte eine einfache Möglichkeit geschaffen werden um die Istbuchung den Sollbuchungen zuzuordnen. Entweder über eine automatisch generierte Splitbuchung oder ähnlich wie bei den Lastschriften durch Erstellen einer Istbuchung für jede Sollbuchung und eine neue Sollbuchung für die gesamte Rechnung. Das ist jedoch nochmal ein anders Thema.

@lenilsas
Copy link

Dann ist mir noch aufgefallen, dass der Filter nach Name im Rechnung Erzeugen View nicht funktioniert und die Mitglieder nach Namen sortiert wäre auch nicht schlecht..

Die Filterung nach Name funktioniert nur, wenn der ganze Name eingegeben wird.

@lenilsas
Copy link

Bezüglich der Diskussion über das Egal und der Möglichkeit einfach einem Mitglied eine Rechnung zuzuordnen fehtl ja noch ein Fetaure. Bisher konnte man im Sollbuchungen View Sollbuchungen auswählen und über das Kontextmenü eine Rechnung dafür generieren. Das wurde nur im ersten Schritt noch nicht implementiert. Die Menüpunkte sind aber noch da und nur auskommentiert. @lenilsas wollte das noch machen.

Genau, das werde ich noch machen. Ich hatte auch die Idee, beim RechnungAutoNeuView ein Menü einzubauen um einzelne Sollbuchung aus der Rechnung zu entfernen. So könnte auch hier genauer festgelegt werden, was in der Rechnung steht.

@JohannMaierhofer
Copy link

Beim Ändern der Rechnungserstellung habe ich die negativen Zusatzbeträge nicht bedacht. Beim automatischen erstellen der Rechnungen prüfe ich auf Sollbuchungsebene ob die Buchung einen Fehlbetrag oder eine Überzahlung hat. Es stimmt, dass negative Sollbuchungen nicht angezeigt werden, ich denke die müssten unter "Überzahlung" stehen.

Für die Liste der Sollbuchungen hätte ich es jetzt so gemacht wie oben im Code. Eine negative Sollbuchung ist ja eine Gutschrift d.h. ich muss etwas bezahlen. Wenn ich zuviel bezahlt habe ist es eine überzahlung und wenn ich zu wenig bezahlt habe ist es ein Fehlbetrag. Darum muss man bei Gutschriften den Vergleich umdrehen.

Ich finde das macht aus dieser Sichtweise Sinn. Zumindest im Sollbuchung Liste View.

@JohannMaierhofer
Copy link

Habe den Filter so wie in #493 vorgeschlagen geändert.

@JohannMaierhofer
Copy link

Beim Ändern der Rechnungserstellung habe ich die negativen Zusatzbeträge nicht bedacht.
Beim automatischen erstellen der Rechnungen prüfe ich auf Sollbuchungsebene ob die Buchung einen Fehlbetrag oder eine Überzahlung hat. Es stimmt, dass negative Sollbuchungen nicht angezeigt werden, ich denke die müssten unter "Überzahlung" stehen.

Ja, so habe ich es jetzt auch im SollbuchungQuery gemacht.

Nun habe ich festgestellt, dass es wenig sinn macht, dass die "Fehlbetrag" Sollbuchungen nicht zusammen mit den "Überzahlung" Sollbuchungen gemeinsam angezeigt werden. Ich würde vorschlagen, dass ich es so ändere, dass die Prüfung auf "Fehlbetrag" oder "Überzahlung" auf Mitgliedsebene stattfindet. Also jedes Mitglied nur bei "Fehlbetrag" ODER "Überzahlung" aufgelistet wird. Da stellt sich die Frage, ob auch nur die nicht ausgeglichenen Sollbuchungen (wie aktuell umgesetzt) auf der Rechnung stehen sollen oder alle in dem Zeitraum.

Ich denke auch, dass man die Prüfung auf Fehlbetrag und Überzahler auf der Mitglieder Ebene machen müsste, sonst kann man Sollbuchungen nicht mit Gutschriften verrechnen.
Ich würde aber trotzdem das Egal weiter anbieten und auch ausgeglichene Sollbuchungen in Rechnung stellen können. Wenn jemand eine Rechnung braucht dann wohl, weil er seine Ausgaben belegen muss. So wie wir als Verein auch. Wenn also jemand etwas zahlen muss, es aber verrechnet wurde und aktuell kein Geld fällig ist, muss er das wohl trotzdem in seiner Buchhaltung nachweisen können und da braucht er einen Beleg/Rechnung aus dem das hervor geht. Er wird dazu wahrscheinlich auch Soll und Haben Buchungen haben.
Darum müssten wohl auch bereits ausgeglichene Sollbuchungen auf der Rechnung stehen. Notfalls könnte man eine eigene Checkbox einbauen wo man auswählen kann ob man ausgeglichene Sollbuchungen in der Rechnung haben will.
Für Spezialfälle gibt es dann immer noch das andere Feature wo man die Sollbuchungen direkt auswählen kann.

Ich hatte ja auch noch vor, die Rechnung nach Zahlungsweg zu trennen, so dass jeder Rechnung nur ein Zahlungsweg zugewiesen wird. Das bedeutet aber, dass Überweisung und Lastschrift nicht miteinander verrechnet werden können und somit bei verschiedenen Zahlungswegen bei einem Mitglied gleichzeitig ein "Fehlbetrag" und eine "Überzahlung" bestehen können.

Ich denke, das sollte akzeptabel sein. Das trennen finde ich schon sinnvoll.

@lenilsas
Copy link

lenilsas commented Jan 7, 2025

Durch #547 ist dieses Issue hinfällig

@lenilsas lenilsas closed this as completed Jan 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants