Files
buchhaltung/verify_niki_import.py
2026-04-26 07:51:39 +02:00

78 lines
2.8 KiB
Python

import urllib.request
import json
kredit_id = '4ad8826f-ecb4-443d-aef6-ce9162e5f078'
print("=" * 60)
print("VERIFIKATION: Niki Forderung (korrigiert)")
print("=" * 60)
# Alle Kredite abrufen
req = urllib.request.Request('http://localhost:3001/api/kredite')
with urllib.request.urlopen(req) as response:
data = json.loads(response.read().decode())
print(f"\nGesamtanzahl Kredite: {len(data)}")
for k in data:
if k['id'] == kredit_id:
print(f"\nKredit Details:")
print(f" Name: {k['name']}")
print(f" Person: {k['person']}")
print(f" Kreditgeber: {k['kreditgeber']}")
print(f" RICHTUNG: {k.get('richtung', 'N/A')}")
print(f" Ursprungsschuld: {k['ursprungsschuld']} EUR")
print(f" Restschuld: {k['restschuld']} EUR")
print(f" Zinssatz: {k['zinssatz']}%")
print(f" Monatsrate: {k['monatsrate']} EUR")
print(f" Startdatum: {k['start_datum']}")
print(f" Status: {k['status']}")
if k.get('richtung') == 'eingehend':
print("\n [OK] Richtung ist 'eingehend' - Korrekt fuer Forderung!")
else:
print("\n [WARN] Richtung fehlt oder ist falsch!")
break
# Zahlungen abrufen
req = urllib.request.Request(f'http://localhost:3001/api/kredite/{kredit_id}/zahlungen')
with urllib.request.urlopen(req) as response:
zahlungen = json.loads(response.read().decode())
print(f"\nZahlungen: {len(zahlungen)}")
print("-" * 60)
total_zahlungen = 0
total_auslagen = 0
for z in zahlungen:
betrag = float(z['betrag'])
if z['typ'] == 'zahlung_eingang':
total_zahlungen += betrag
elif z['typ'] == 'auslage':
total_auslagen += betrag
print(f" {z['datum']}: {betrag:.2f} EUR - {z['typ']} ({z['notiz']})")
print("-" * 60)
print(f"Summe Zahlungen (Niki zahlt): {total_zahlungen:.2f} EUR")
print(f"Summe Auslagen (Rene gibt): {total_auslagen:.2f} EUR")
print(f"Netto: {total_zahlungen - total_auslagen:.2f} EUR")
# Erwartete Restschuld berechnen
ursprung = 7000.00
erwartet = ursprung - (total_zahlungen - total_auslagen)
print(f"\nErwartete Restschuld: {erwartet:.2f} EUR")
print(f"Tatsaechliche Restschuld: {k['restschuld']} EUR")
if abs(float(k['restschuld']) - erwartet) < 0.01:
print("\n[OK] Restschuld stimmt mit importierten Daten ueberein!")
else:
print("\n[WARN] Restschuld weicht ab!")
print("\n" + "=" * 60)
print("VERIFIKATION ABGESCHLOSSEN")
print("=" * 60)
print("\nZUSAMMENFASSUNG:")
print("- Dies ist eine FORDERUNG (eingehend)")
print("- Rene BEKOMMT Geld von Niki")
print("- In der UI wird dies als GRUEN markiert")
print("- Neue Kosten verringern die Forderung")
print("- Zahlungen von Niki erhoehen die Forderung")