Fix semester system: 2x yearly docs, 4x yearly payments with Q4 on Sep 15

Document Submission (twice yearly):
- Q1 & Q2 documents: Due March 15 (Spring semester)
- Q3 & Q4 documents: Due September 15 (Fall semester)

Payment Schedule (quarterly):
- Q1 payments: Due March 15
- Q2 payments: Due June 15
- Q3 payments: Due September 15
- Q4 payments: Due September 15 (aligned with Fall semester docs)

This gives the desired Q4 payment due date of 15.09.2025 while maintaining
quarterly payment frequency and semester-based document submissions.
This commit is contained in:
2025-10-01 12:36:47 +02:00
parent 6aa218004c
commit 6adedc71c5
3 changed files with 22 additions and 26 deletions

View File

@@ -7533,20 +7533,16 @@ def create_quarterly_support_payment(nachweis):
if not default_konto:
return None
# Calculate payment due date (advance payment schedule)
# Payments are made in advance according to semester schedule:
# September 15: Payment for Q4 of current year
# December 15: Payment for Q1 of next year
# March 15: Payment for Q2 of current year
# June 15: Payment for Q3 of current year
# Calculate payment due date (quarterly payments with Q4 aligned to semester)
# Q1: March 15, Q2: June 15, Q3: September 15, Q4: September 15
if nachweis.quartal == 1: # Q1 payment due December 15 of previous year
payment_due_date = date(nachweis.jahr - 1, 12, 15)
elif nachweis.quartal == 2: # Q2 payment due March 15 of same year
if nachweis.quartal == 1: # Q1 payment due March 15
payment_due_date = date(nachweis.jahr, 3, 15)
elif nachweis.quartal == 3: # Q3 payment due June 15 of same year
elif nachweis.quartal == 2: # Q2 payment due June 15
payment_due_date = date(nachweis.jahr, 6, 15)
else: # Q4 payment due September 15 of same year
elif nachweis.quartal == 3: # Q3 payment due September 15
payment_due_date = date(nachweis.jahr, 9, 15)
else: # Q4 payment due September 15 (same as Q3 for semester alignment)
payment_due_date = date(nachweis.jahr, 9, 15)
# Create the support payment