Files
stiftung-management-system/app/stiftung/migrations/0010_rentmeister_stiftungskonto_verwaltungskosten.py
2025-09-06 18:31:54 +02:00

101 lines
7.4 KiB
Python

# Generated by Django 5.0.6 on 2025-08-24 17:48
import django.db.models.deletion
import uuid
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('stiftung', '0009_alter_dokumentlink_paperless_document_id'),
]
operations = [
migrations.CreateModel(
name='Rentmeister',
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('anrede', models.CharField(blank=True, choices=[('herr', 'Herr'), ('frau', 'Frau'), ('dr', 'Dr.'), ('prof', 'Prof.'), ('prof_dr', 'Prof. Dr.')], max_length=10, verbose_name='Anrede')),
('vorname', models.CharField(max_length=100, verbose_name='Vorname')),
('nachname', models.CharField(max_length=100, verbose_name='Nachname')),
('titel', models.CharField(blank=True, max_length=50, verbose_name='Titel')),
('email', models.EmailField(blank=True, max_length=254, verbose_name='E-Mail')),
('telefon', models.CharField(blank=True, max_length=20, verbose_name='Telefon')),
('mobil', models.CharField(blank=True, max_length=20, verbose_name='Mobil')),
('strasse', models.CharField(blank=True, max_length=200, verbose_name='Straße')),
('plz', models.CharField(blank=True, max_length=10, verbose_name='PLZ')),
('ort', models.CharField(blank=True, max_length=100, verbose_name='Ort')),
('iban', models.CharField(blank=True, max_length=34, verbose_name='IBAN')),
('bic', models.CharField(blank=True, max_length=11, verbose_name='BIC')),
('bank_name', models.CharField(blank=True, max_length=100, verbose_name='Bank')),
('seit_datum', models.DateField(verbose_name='Rentmeister seit')),
('bis_datum', models.DateField(blank=True, null=True, verbose_name='Rentmeister bis')),
('aktiv', models.BooleanField(default=True, verbose_name='Aktiv')),
('monatliche_verguetung', models.DecimalField(blank=True, decimal_places=2, max_digits=8, null=True, verbose_name='Monatliche Vergütung (€)')),
('km_pauschale', models.DecimalField(decimal_places=2, default=0.3, max_digits=4, verbose_name='Kilometerpauschale (€/km)')),
('notizen', models.TextField(blank=True, verbose_name='Notizen')),
('erstellt_am', models.DateTimeField(auto_now_add=True)),
('aktualisiert_am', models.DateTimeField(auto_now=True)),
],
options={
'verbose_name': 'Rentmeister',
'verbose_name_plural': 'Rentmeister',
'ordering': ['nachname', 'vorname'],
},
),
migrations.CreateModel(
name='StiftungsKonto',
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('kontoname', models.CharField(max_length=200, verbose_name='Kontoname')),
('bank_name', models.CharField(max_length=200, verbose_name='Bank')),
('iban', models.CharField(max_length=34, verbose_name='IBAN')),
('bic', models.CharField(blank=True, max_length=11, verbose_name='BIC')),
('konto_typ', models.CharField(choices=[('girokonto', 'Girokonto'), ('sparkonto', 'Sparkonto'), ('festgeld', 'Festgeld'), ('tagesgeld', 'Tagesgeld'), ('depot', 'Depot'), ('sonstiges', 'Sonstiges')], default='girokonto', max_length=20, verbose_name='Kontotyp')),
('saldo', models.DecimalField(decimal_places=2, default=0.0, max_digits=10, verbose_name='Aktueller Saldo')),
('saldo_datum', models.DateField(blank=True, null=True, verbose_name='Saldo-Datum')),
('zinssatz', models.DecimalField(blank=True, decimal_places=2, max_digits=5, null=True, verbose_name='Zinssatz (%)')),
('laufzeit_bis', models.DateField(blank=True, null=True, verbose_name='Laufzeit bis')),
('aktiv', models.BooleanField(default=True, verbose_name='Aktiv')),
('notizen', models.TextField(blank=True, verbose_name='Notizen')),
('erstellt_am', models.DateTimeField(auto_now_add=True)),
('aktualisiert_am', models.DateTimeField(auto_now=True)),
],
options={
'verbose_name': 'Stiftungskonto',
'verbose_name_plural': 'Stiftungskonten',
'ordering': ['bank_name', 'kontoname'],
},
),
migrations.CreateModel(
name='Verwaltungskosten',
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
('bezeichnung', models.CharField(max_length=200, verbose_name='Bezeichnung')),
('kategorie', models.CharField(choices=[('rechnung_intern', 'Interne Rechnung'), ('bueroausstattung', 'Büroausstattung'), ('fahrtkosten', 'Fahrtkosten'), ('porto', 'Porto & Versand'), ('telefon_internet', 'Telefon & Internet'), ('software', 'Software & Lizenzen'), ('beratung', 'Beratung & Dienstleistungen'), ('versicherung', 'Versicherungen'), ('steuerberatung', 'Steuerberatung'), ('bankgebuehren', 'Bankgebühren'), ('sonstiges', 'Sonstiges')], max_length=30, verbose_name='Kategorie')),
('betrag', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='Betrag (€)')),
('datum', models.DateField(verbose_name='Datum')),
('lieferant_firma', models.CharField(blank=True, max_length=200, verbose_name='Lieferant/Firma')),
('rechnungsnummer', models.CharField(blank=True, max_length=100, verbose_name='Rechnungsnummer')),
('status', models.CharField(choices=[('geplant', 'Geplant'), ('bestellt', 'Bestellt'), ('erhalten', 'Erhalten'), ('bezahlt', 'Bezahlt'), ('storniert', 'Storniert')], default='geplant', max_length=20, verbose_name='Status')),
('km_anzahl', models.DecimalField(blank=True, decimal_places=1, max_digits=8, null=True, verbose_name='Kilometer')),
('km_satz', models.DecimalField(blank=True, decimal_places=2, max_digits=4, null=True, verbose_name='€/km')),
('von_ort', models.CharField(blank=True, max_length=100, verbose_name='Von (Ort)')),
('nach_ort', models.CharField(blank=True, max_length=100, verbose_name='Nach (Ort)')),
('zweck', models.CharField(blank=True, max_length=200, verbose_name='Zweck der Fahrt')),
('beschreibung', models.TextField(blank=True, verbose_name='Beschreibung')),
('notizen', models.TextField(blank=True, verbose_name='Notizen')),
('erstellt_am', models.DateTimeField(auto_now_add=True)),
('aktualisiert_am', models.DateTimeField(auto_now=True)),
('konto', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='stiftung.stiftungskonto', verbose_name='Konto')),
('rentmeister', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='stiftung.rentmeister', verbose_name='Rentmeister')),
],
options={
'verbose_name': 'Verwaltungskosten',
'verbose_name_plural': 'Verwaltungskosten',
'ordering': ['-datum', '-erstellt_am'],
},
),
]