Implement advance payment schedule for quarterly payments
BREAKING CHANGE: Payment due dates now follow advance payment schedule: - Q1 payments: Due December 15 of previous year - Q2 payments: Due March 15 of same year - Q3 payments: Due June 15 of same year - Q4 payments: Due September 15 of same year Changes: - Updated create_quarterly_support_payment() to use advance schedule - Enhanced diagnostic commands to check advance payment dates - Added fix_advance_payment_dates command for comprehensive fixes - Updated fix_q4_payment_dates to correct Q4 from 31.12 to 15.09 This aligns with semester-based document submissions while maintaining the advance payment system where payments are made before each quarter.
This commit is contained in:
@@ -89,14 +89,29 @@ class Command(BaseCommand):
|
||||
else:
|
||||
self.stdout.write(' ❌ Run: python manage.py update_semester_deadlines')
|
||||
|
||||
# Check if payments need updating
|
||||
wrong_payments = DestinataerUnterstuetzung.objects.filter(
|
||||
# Check if payments need updating (advance payment schedule)
|
||||
wrong_q4_payments = DestinataerUnterstuetzung.objects.filter(
|
||||
faellig_am='2025-12-31',
|
||||
beschreibung__icontains='Q4/2025'
|
||||
).count()
|
||||
|
||||
if wrong_payments > 0:
|
||||
self.stdout.write(f' ❌ {wrong_payments} payments have wrong due date (31.12 instead of 15.12)')
|
||||
# Also check for other quarters with wrong advance payment dates
|
||||
wrong_q1_payments = DestinataerUnterstuetzung.objects.filter(
|
||||
faellig_am='2025-03-31',
|
||||
beschreibung__icontains='Q1/2025'
|
||||
).count()
|
||||
|
||||
if wrong_q4_payments > 0:
|
||||
self.stdout.write(f' ❌ {wrong_q4_payments} Q4 payments have wrong due date (31.12 instead of 15.09)')
|
||||
self.stdout.write(' Run: python manage.py fix_q4_payment_dates')
|
||||
elif wrong_q1_payments > 0:
|
||||
self.stdout.write(f' ❌ {wrong_q1_payments} Q1 payments have wrong due date (advance payment schedule)')
|
||||
else:
|
||||
self.stdout.write(' ✓ Payment due dates appear correct')
|
||||
self.stdout.write(' ✓ Payment due dates appear correct')
|
||||
|
||||
# Show the advance payment schedule
|
||||
self.stdout.write('\nAdvance Payment Schedule:')
|
||||
self.stdout.write(' Q1 payments: Due December 15 of previous year')
|
||||
self.stdout.write(' Q2 payments: Due March 15 of same year')
|
||||
self.stdout.write(' Q3 payments: Due June 15 of same year')
|
||||
self.stdout.write(' Q4 payments: Due September 15 of same year')
|
||||
Reference in New Issue
Block a user