Ergänzung Abrechnungs-Workflow #150

Merged
christian.merten merged 19 commits from MK/finance_workflow into main 8 months ago
Collaborator

closes #92

Am Ende des Finanzworkflows gibt es aktuell noch einen Medienbruch:
Damit wir für unsere ausbezahlten Zuschüsse und Aufwandsentschädigungen bei der GS einen Beleg für die Buchhaltung einreichen können, soll dieser automatisiert im Kompass erzeugt werden können.

Ansatz: Sobald eine Abrechnung den Status bezahlt hat, kann in ihrer Detailansicht eine PDF heruntergeladen werden, die analog zum bisherigen Excel-Abrechnungsformular eingereicht werden kann. Hier wird detailliert die Berechnung der Zuschüsse, Aufwandsentschädigung und übernommene Ausgaben dargestellt und alle hinterlegten Belege als zusätzliche Seiten angefügt. Mit etwas Glück reicht das der GS zukünftig als einziger Beleg für übernommene Ausgaben.

weiterhin:

  • Anzeige der Länge des Verwendungszwecks von Überweisung, damit ggf. auf 140 Zeichen eingekürzt werden kann
  • Einbezug des Betrags von Einzelüberweisungen bei deren Zusammenfassung --> Besser für die Buchhaltung zuzuordnen

TODO:

  • Implementierung des Org-Beitrags im Beleg
closes #92 Am Ende des Finanzworkflows gibt es aktuell noch einen Medienbruch: Damit wir für unsere ausbezahlten Zuschüsse und Aufwandsentschädigungen bei der GS einen Beleg für die Buchhaltung einreichen können, soll dieser automatisiert im Kompass erzeugt werden können. Ansatz: Sobald eine Abrechnung den Status bezahlt hat, kann in ihrer Detailansicht eine PDF heruntergeladen werden, die analog zum bisherigen Excel-Abrechnungsformular eingereicht werden kann. Hier wird detailliert die Berechnung der Zuschüsse, Aufwandsentschädigung und übernommene Ausgaben dargestellt und alle hinterlegten Belege als zusätzliche Seiten angefügt. Mit etwas Glück reicht das der GS zukünftig als einziger Beleg für übernommene Ausgaben. weiterhin: - Anzeige der Länge des Verwendungszwecks von Überweisung, damit ggf. auf 140 Zeichen eingekürzt werden kann - Einbezug des Betrags von Einzelüberweisungen bei deren Zusammenfassung --> Besser für die Buchhaltung zuzuordnen TODO: - [ ] Implementierung des Org-Beitrags im Beleg
marius.klein added 3 commits 9 months ago
christian.merten added 1 commit 9 months ago
christian.merten added 1 commit 9 months ago
christian.merten reviewed 9 months ago
christian.merten left a comment
Owner

Danke, sieht cool aus! Ich würde die Tabellen immer auf die volle Breite skalieren (zur Zeit sind sie zentriert und nur so breit wie nötig). Was denkst du?

Danke, sieht cool aus! Ich würde die Tabellen immer auf die volle Breite skalieren (zur Zeit sind sie zentriert und nur so breit wie nötig). Was denkst du?
@ -271,6 +271,11 @@ class Statement(CommonModel):
def total_bills(self):

Kannst du hier deine neue Funktion bills_covered verwenden?

Kannst du hier deine neue Funktion `bills_covered` verwenden?
marius.klein marked this conversation as resolved
@ -0,0 +154,4 @@
{% if statement.bills_covered %}
{% for bill in statement.bills_covered %}
{{ forloop.counter }}. {{ bill.short_description}} & {{ bill.explanation}} & {{ bill.paid_by.name }} & {{ bill.amount }}\\

Die Variablen müssen alle escaped werden (mit {{ varname|esc_all }}) (auch noch weiter unten).

Die Variablen müssen alle escaped werden (mit `{{ varname|esc_all }}`) (auch noch weiter unten).
marius.klein marked this conversation as resolved
@ -10,1 +10,3 @@
<li>
{% url opts|admin_urlname:'summary' original.pk|admin_urlquote as invite_url %}
<a class="historylink" href="{% add_preserved_filters invite_url %}">{% trans 'Download summary' %}</a>

Da fehlt denke ich ein target='_blank'

Da fehlt denke ich ein `target='_blank'`
marius.klein marked this conversation as resolved
christian.merten reviewed 9 months ago
@ -119,1 +121,4 @@
readonly_fields = ['text_length_warning']
extra = 0
def text_length_warning(self, obj):

Diese Warnung wird zur Zeit nur hier angezeigt oder? Soll die auch in der Bestätigungsübersicht angezeigt werden? Oder sogar das Bestätigen nicht möglich sein, falls ein Text zu lang ist?

Diese Warnung wird zur Zeit nur hier angezeigt oder? Soll die auch in der Bestätigungsübersicht angezeigt werden? Oder sogar das Bestätigen nicht möglich sein, falls ein Text zu lang ist?
Poster
Collaborator

Die Idee war, dass es eher als Hinweis dient. Bei Zusammenfassung sind die Verwendungszwecke oft länger, so können sie eigenverantwortlich eingekürzt werden. Wenn sie trotzdem zu lang sind, passiert auch nichts, im zweifel schneidet die Banking-App den Text ab.

Die Idee war, dass es eher als Hinweis dient. Bei Zusammenfassung sind die Verwendungszwecke oft länger, so können sie eigenverantwortlich eingekürzt werden. Wenn sie trotzdem zu lang sind, passiert auch nichts, im zweifel schneidet die Banking-App den Text ab.
christian.merten marked this conversation as resolved
christian.merten added the
Status
Awaiting author
label 9 months ago
Poster
Collaborator

Danke, sieht cool aus! Ich würde die Tabellen immer auf die volle Breite skalieren (zur Zeit sind sie zentriert und nur so breit wie nötig). Was denkst du?

finde ich auch ansprechender, scheitert bei mir eher an der Komplexität der Umsetzung 🫢
ich schau es mir nochmal an

> Danke, sieht cool aus! Ich würde die Tabellen immer auf die volle Breite skalieren (zur Zeit sind sie zentriert und nur so breit wie nötig). Was denkst du? finde ich auch ansprechender, scheitert bei mir eher an der Komplexität der Umsetzung 🫢 ich schau es mir nochmal an
christian.merten added 1 commit 8 months ago
0419dba98c
refactor(latex): add base template and unify designs
We add a base template for all latex documents to unify the desings and improve maintainability. Also
the table definitions are simplified fixing the various width issues.
christian.merten added 1 commit 8 months ago

Danke, sieht cool aus! Ich würde die Tabellen immer auf die volle Breite skalieren (zur Zeit sind sie zentriert und nur so breit wie nötig). Was denkst du?

finde ich auch ansprechender, scheitert bei mir eher an der Komplexität der Umsetzung 🫢
ich schau es mir nochmal an

Habe ich gefixed und hoffentlich das ganze setup vereinfacht.

> > Danke, sieht cool aus! Ich würde die Tabellen immer auf die volle Breite skalieren (zur Zeit sind sie zentriert und nur so breit wie nötig). Was denkst du? > > finde ich auch ansprechender, scheitert bei mir eher an der Komplexität der Umsetzung 🫢 > ich schau es mir nochmal an Habe ich gefixed und hoffentlich das ganze setup vereinfacht.
christian.merten added 1 commit 8 months ago
christian.merten approved these changes 8 months ago
christian.merten left a comment
Owner

Danke! Ich bin zufrieden, da ich jetzt aber ein wenig in deinem PDF rumgepfuscht habe, merge ich den PR noch nicht direkt, damit du nochmal schauen kannst, ob es noch in deinem Sinne ist. Sobald du das getan hast, sag Bescheid.

Danke! Ich bin zufrieden, da ich jetzt aber ein wenig in deinem PDF rumgepfuscht habe, merge ich den PR noch nicht direkt, damit du nochmal schauen kannst, ob es noch in deinem Sinne ist. Sobald du das getan hast, sag Bescheid.
marius.klein force-pushed MK/finance_workflow from 4a3ee39bf5 to 9bd2b42ba8 8 months ago
Poster
Collaborator

vielen lieben Dank! Ich habe noch etwas on top implementiert:

  • Berechnung der LJP-Seminartage auf Basis der angegebenen Maßnahmen im Seminarbericht (Erfahrung aus der Praxis: muss sonst manuell überprüft und ggf. angepasst werden)
  • Auszahlung der LJP-Zuschüsse im Rahmen der Ausfahrtenabrechnung ermöglichen

das macht die Kostenübersicht leider nochmal etwas länger, insofern würde ich das dann auch demnächst nochmal anfassen.

vielen lieben Dank! Ich habe noch etwas on top implementiert: - Berechnung der LJP-Seminartage auf Basis der angegebenen Maßnahmen im Seminarbericht (Erfahrung aus der Praxis: muss sonst manuell überprüft und ggf. angepasst werden) - Auszahlung der LJP-Zuschüsse im Rahmen der Ausfahrtenabrechnung ermöglichen das macht die Kostenübersicht leider nochmal etwas länger, insofern würde ich das dann auch demnächst nochmal anfassen.
marius.klein added 1 commit 8 months ago
christian.merten added 1 commit 8 months ago
christian.merten added 1 commit 8 months ago
marius.klein added 1 commit 8 months ago
christian.merten added 1 commit 8 months ago
christian.merten added 1 commit 8 months ago
christian.merten added 1 commit 8 months ago
christian.merten added 1 commit 8 months ago
christian.merten reviewed 8 months ago
@ -1278,2 +1279,4 @@
else:
return 0
@property

Das bedeutet wir erzwingen jetzt, dass LJP Anträge im Kompass erstellt werden, richtig? (Finde ich gut, ich meine mich nur zu erinnern, dass du das mal anders gesehen hast)

Das bedeutet wir erzwingen jetzt, dass LJP Anträge im Kompass erstellt werden, richtig? (Finde ich gut, ich meine mich nur zu erinnern, dass du das mal anders gesehen hast)
christian.merten marked this conversation as resolved
christian.merten added 1 commit 8 months ago
christian.merten added 1 commit 8 months ago
christian.merten reviewed 8 months ago
@ -119,0 +160,4 @@
{% trans "Contributions by the association" %}
</td>
<td>
{{ total_subsidies_theoretical }}€

Auf was bezieht sich das? Wird aktuell als leer angezeigt, weil keine solche Variable im Kontext existiert. Meinst du total_subsidies?

Auf was bezieht sich das? Wird aktuell als leer angezeigt, weil keine solche Variable im Kontext existiert. Meinst du `total_subsidies`?
christian.merten marked this conversation as resolved
christian.merten reviewed 8 months ago
christian.merten left a comment
Owner

Wieso werden die LJP Zuschüsse on top zu den übernommenen Belegen ausgezahlt? Zudem werden mehr LJP Zuschüsse als tatsächlich dokumentierte Kosten ausgezahlt, das halte ich für falsch. An erster Stelle die JLs und TNs zu berücksichtigen und erst im letzten Schritt die Kosten des Vereins durch die Zuschüsse gegenzufinanzieren finde ich richtg, aber den JLs mehr Gelder auszuzahlen, als sie Kosten hatten verstehe ich nicht.

Wieso werden die LJP Zuschüsse on top zu den übernommenen Belegen ausgezahlt? Zudem werden mehr LJP Zuschüsse als tatsächlich dokumentierte Kosten ausgezahlt, das halte ich für falsch. An erster Stelle die JLs und TNs zu berücksichtigen und erst im letzten Schritt die Kosten des Vereins durch die Zuschüsse gegenzufinanzieren finde ich richtg, aber den JLs mehr Gelder auszuzahlen, als sie Kosten hatten verstehe ich nicht.
christian.merten reviewed 8 months ago
@ -383,0 +408,4 @@
def paid_ljp_contributions(self):
if hasattr(self.excursion, 'ljpproposal') and self.ljp_to:
return cvt_to_decimal((1-settings.LJP_TAX) * min(settings.LJP_CONTRIBUTION_PER_DAY * self.excursion.ljp_participant_count * self.excursion.ljp_duration,
0.9 * float(self.total_bills_theoretic) + float(self.total_staff)))

Ich denke es sollte 0.9 * ( float(self.total_bills_theoretic) + float(self.total_staff)) sein. Der LJP macht keinen Unterschied zwischen self.total_bills_theoretic und self.total_staff.

Ich denke es sollte `0.9 * ( float(self.total_bills_theoretic) + float(self.total_staff))` sein. Der LJP macht keinen Unterschied zwischen `self.total_bills_theoretic` und `self.total_staff`.
christian.merten marked this conversation as resolved
Poster
Collaborator

sorry, da habe ich etwas unsauber gearbeitet.

  • ja wir erzwingen zumindest die Erstellung des Antrags und Eintragung der Seminarstunden pro Tag. Dadurch, dass wir so detailliert noch in den Dateien bearbeiten können, finde ich das nicht mehr so schlimm. Ich kann die Formulare grob erstellen und am Ende die Maßnahmenliste noch in das DOCX reinkopieren.
  • LJP-Zuschüsse on top zu übernommenen Belegen. Stimme ich zu, in der Formel in paid_ljp_contributions würde ich entsprechend statt self.total_bills_theoretic, ein neues property self.total_bills_not_covered aufnehmen. Klar, 0.9 bezieht sich auf Kosten und Zuschüsse...
  • total_subsidies_theoretical: keine Ahnung was da passiert ist 🤦
sorry, da habe ich etwas unsauber gearbeitet. - ja wir erzwingen zumindest die Erstellung des Antrags und Eintragung der Seminarstunden pro Tag. Dadurch, dass wir so detailliert noch in den Dateien bearbeiten können, finde ich das nicht mehr so schlimm. Ich kann die Formulare grob erstellen und am Ende die Maßnahmenliste noch in das DOCX reinkopieren. - LJP-Zuschüsse on top zu übernommenen Belegen. Stimme ich zu, in der Formel in paid_ljp_contributions würde ich entsprechend statt self.total_bills_theoretic, ein neues property self.total_bills_not_covered aufnehmen. Klar, 0.9 bezieht sich auf Kosten und Zuschüsse... - total_subsidies_theoretical: keine Ahnung was da passiert ist 🤦
marius.klein added 1 commit 8 months ago
christian.merten closed this pull request 8 months ago
christian.merten reopened this pull request 8 months ago
christian.merten approved these changes 8 months ago

Vielen Dank, ziemlich großer Brocken den du da entwickelt hast, sehr cool!

Vielen Dank, ziemlich großer Brocken den du da entwickelt hast, sehr cool!
christian.merten merged commit f213e11772 into main 8 months ago
christian.merten removed the
Status
Awaiting author
label 8 months ago

Reviewers

christian.merten approved these changes 8 months ago
The pull request has been merged as f213e11772.
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: digitales/kompass#150
Loading…
There is no content yet.