Initial commit - Stand 26.04.2026
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Vollständige Verifikation des Niki-Kredits
|
||||
"""
|
||||
import openpyxl
|
||||
|
||||
# Lade alle Daten aus Excel
|
||||
wb = openpyxl.load_workbook("Schulden Niki.xlsx", data_only=True)
|
||||
ws = wb['Tabelle1']
|
||||
|
||||
print("=" * 80)
|
||||
print("KOMPLETTE ANALYSE: Schulden Niki.xlsx")
|
||||
print("=" * 80)
|
||||
|
||||
# Header ist in Zeile 6
|
||||
# Spalten: C=Datum, D=Restschuld, E=Zinsen, F=Abgezahlt, G=Neue Kosten, H=Für was
|
||||
|
||||
entries = []
|
||||
for row in ws.iter_rows(min_row=7, max_row=ws.max_row, values_only=True):
|
||||
if row[2]: # Datum vorhanden
|
||||
datum = row[2]
|
||||
restschuld = row[3]
|
||||
zinsen = row[4]
|
||||
abgezahlt = row[5]
|
||||
neue_kosten = row[6]
|
||||
beschreibung = row[7]
|
||||
|
||||
entries.append({
|
||||
'datum': datum,
|
||||
'restschuld': restschuld,
|
||||
'zinsen': zinsen,
|
||||
'abgezahlt': abgezahlt,
|
||||
'neue_kosten': neue_kosten,
|
||||
'beschreibung': beschreibung
|
||||
})
|
||||
|
||||
print(f"\nGefundene Einträge: {len(entries)}")
|
||||
|
||||
# Analysiere Zahlungen
|
||||
zahlungen = []
|
||||
auslagen = []
|
||||
for e in entries:
|
||||
if e['abgezahlt']:
|
||||
zahlungen.append({'datum': e['datum'], 'betrag': e['abgezahlt'], 'notiz': e['beschreibung'] or 'Zahlung'})
|
||||
if e['neue_kosten']:
|
||||
auslagen.append({'datum': e['datum'], 'betrag': abs(e['neue_kosten']), 'notiz': e['beschreibung'] or 'Auslage'})
|
||||
|
||||
print(f"\n## ZAHLUNGEN (Abgezahlt): {len(zahlungen)} Einträge")
|
||||
for z in zahlungen:
|
||||
print(f" {z['datum'].strftime('%Y-%m-%d')}: +{z['betrag']:.2f} EUR - {z['notiz']}")
|
||||
|
||||
print(f"\n## AUSLAGEN (Neue Kosten): {len(auslagen)} Einträge")
|
||||
for a in auslagen:
|
||||
print(f" {a['datum'].strftime('%Y-%m-%d')}: +{a['betrag']:.2f} EUR - {a['notiz']}")
|
||||
|
||||
total_zahlungen = sum(z['betrag'] for z in zahlungen)
|
||||
total_auslagen = sum(a['betrag'] for a in auslagen)
|
||||
|
||||
print(f"\n## SUMMEN:")
|
||||
print(f" Gesamte Zahlungen: {total_zahlungen:.2f} EUR")
|
||||
print(f" Gesamte Auslagen: {total_auslagen:.2f} EUR")
|
||||
print(f" Netto Zahlungen: {total_zahlungen - total_auslagen:.2f} EUR")
|
||||
|
||||
# Letzter Eintrag
|
||||
letzter = entries[-1]
|
||||
print(f"\n## LETZTER STAND (Excel):")
|
||||
print(f" Datum: {letzter['datum'].strftime('%Y-%m-%d')}")
|
||||
print(f" Restschuld: {letzter['restschuld']:.2f} EUR")
|
||||
print(f" (negativ = Niki schuldet noch)")
|
||||
|
||||
# Berechne theoretische Restschuld ohne Zinsen
|
||||
start_schuld = 7000
|
||||
rest_ohne_zinsen = start_schuld - (total_zahlungen - total_auslagen)
|
||||
print(f"\n## VERGLEICH MIT DB:")
|
||||
print(f" Startschuld: {start_schuld:.2f} EUR")
|
||||
print(f" Excel Rest (mit Zinsen): {abs(letzter['restschuld']):.2f} EUR")
|
||||
print(f" Theoretisch ohne Zinsen: {rest_ohne_zinsen:.2f} EUR")
|
||||
print(f" DB Restschuld: 4105.00 EUR")
|
||||
print(f"\n Differenz Excel-DB: {abs(letzter['restschuld']) - 4105:.2f} EUR")
|
||||
print(f" (= aufgelaufene Zinsen laut Excel)")
|
||||
|
||||
# Monate zwischen Start und Jetzt
|
||||
from datetime import datetime
|
||||
now = datetime.now()
|
||||
start = datetime(2023, 7, 1)
|
||||
monate = (now.year - start.year) * 12 + (now.month - start.month)
|
||||
print(f"\n## ZEITRAUM:")
|
||||
print(f" Start: {start.strftime('%Y-%m-%d')}")
|
||||
print(f" Heute: {now.strftime('%Y-%m-%d')}")
|
||||
print(f" Monate: {monate} Monate seit Start")
|
||||
|
||||
wb.close()
|
||||
|
||||
print("\n" + "=" * 80)
|
||||
print("ERGEBNIS: Alle Zahlungen sind bereits korrekt in der DB!")
|
||||
print("=" * 80)
|
||||
Reference in New Issue
Block a user