Jahresabschluss (Buchhaltung)
Unser Vereinsjahr endet am 31.07. und beginnt am 01.08. Das Vereinsjahr 2024/2025 beginnt also am 01. August 2024 und endet am 31. Juli 2025. Danach beginnt das Vereinsjahr 2025/2026.
Abschluss altes Vereinsjahr
ggf. https://wiki.teckids.org/de/Gemeinschaft/Leitungskonferenz/Geschäftsführung/Buchhaltung/Monatsabschluss beachten!
Gnucash
Buchungen
- Alle Ausgangsrechnungen sind erstellt, verschickt und gebucht
- Schulsupport-Kunden wurden bis 31.07. abgerechnet
- Alle Belege bis einschließlich 31.07. gebucht
- Imbalance-Konten auf 0€.
- Salden der Aktiva-Konten sind korrekt
- Girokonto
- Barkasse
- PayPal
- Tagesgeld
- Stand der Personenkonten ist klar (entweder auf 0€ oder in einem erklärbaren Zustand)
- Kontengruppe Ust-Frei hat keine Buchungen (seit 2017)
Reports
Eröffnung neues Vereinsjahr
Paperless
- Neuen Storage-Path anlegen: https://leidwesen.teckids.org/storagepaths
TIC-Desk
- Neues Vereinsjahr anlegen: https://ticdesk.teckids.org/o/core/school_term
- Mitgliedsgruppen syncen:
for st in SchoolTerm.objects.all(): g, _ = Group.objects.get_or_create( short_name="members", school_term=st, defaults={"name": "Reguläre Mitglieder"} ) ps = Membership.objects.filter( Q(end__isnull=True) | Q(end__gte=st.date_end), person__isnull=False, begin__lte=st.date_end ).values_list("person", flat=True) g.members.set(ps)
Gnucash
- Ordentliche Mitgliedsbeiträge buchen
-
import piecash from piecash import create_book, Transaction, Split import datetime book = piecash.open_book(uri_conn="postgresql://BENUTZERNAME:PASSWORT@db-vip.teckids.org/gnucash", readonly=False, open_if_lock=True, do_backup=False) EUR = book.commodities.get(mnemonic="EUR") # mgb = {} # In ticdesk-Shell # for i in Membership.objects.filter(end=None): # mgb[i.code] = int(i.fees.amount) konto_mgb = book.accounts(name="2110 Echte Mitgliedsbeiträge bis 256 Euro") for code, fees in mgb.items(): konto_mitglied = book.accounts(name=f"Mitglied Nr. {code}") transaction = Transaction( currency=EUR, description=f"Mitgliedsbeitrag 2025/2026 - Mitglied Nr. {code}", post_date=datetime.date(2025, 8, 1), splits=[ Split(account=konto_mitglied, value=fees), Split(account=konto_mgb, value=-fees) ] ) book.save()
-
- Fördermitgliedsbeiträge buchen
- Buchung gegen
2 Erfolgskonten ideeller Bereich:0 IDEELLER BEREICH:1 EINNAHMEN:2412 Zuwendungen Dritter (Sponsoren)
- Buchung gegen
- Mitgliedsbeiträge einziehen
- CSV aus TIC-Desk ziehen:
print("Name;IBAN;Betrag;Mandatsreferenz;Mandatsdatum;Verwendungszweck") for i in Membership.objects.filter(end=None): s = i.sepa_mandate if s: d = s.date.strftime("%d.%m.%Y") print(f"{s.account_holder};{s.iban};{i.fees};TECKIDSMGB{i.code};{d};Mitgliedsbeitrag 2025/2026 Mitglied Nr. {i.code}") else: continue