Skip to content
ambajoratPublic

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

36 Commits

Folders and files

Repository files navigation

Erstattungen

Kleine selbst gehostete Web-App, um Arzt-, Apotheken- und Therapierechnungen gegenüber der privaten Krankenversicherung im Blick zu behalten:

  • Nicht erstattet: Ablehnungen und Kürzungen mit Begründung, Betrag, Hinweis-Code und Auszügen aus den Schreiben der Versicherung; Status (offen / in Arbeit / erledigt) und Notizen pro Vorgang.
  • Neue Rechnungen: PDF oder Foto hochladen; Status „wartet auf Einreichung“ → „eingereicht“ → „erstattet“.
  • Automatischer Abgleich Versicherung ↔ Konto: Kontoumsätze kommen stündlich aus einem Banking-Backend (sync.py: liest direkt und nur lesend die SQLite-DB eines figo/YAXI-Backends auf demselben Server, FIGO_DB, oder dessen API über FIGO_API_URL/FIGO_API_TOKEN in /etc/dkv-app/env), Leistungsabrechnungen per API (/api/import/dkv-text) oder notfalls als PDF/CSV-Upload; die App ordnet Zahlungen den abgerechneten Positionen zu und zeigt: bezahlt ohne Erstattung (mit Tagen), gekürzt/abgelehnt, abgerechnet ohne eigene Zahlung, ausstehende Gutschriften.
  • API für Automatisierung (z. B. ein wöchentlicher Abgleich, der Abrechnungen und Kontoumsätze einträgt).

Flask + SQLite, hinter nginx mit Basic Auth. Keine externen Ressourcen, keine Tracker.

Installation (Ubuntu-Server mit nginx und certbot)

cp server/config.example.env server/config.env   # SSH_TARGET, DOMAIN, EMAIL eintragen
./deploy.sh

install.sh legt beim ersten Lauf an: venv, systemd-Dienst dkv-app (gunicorn auf 127.0.0.1:8095), nginx-vHost mit Basic Auth (/etc/dkv-app/.htpasswd, Benutzer ich und claude) und ein Let's-Encrypt-Zertifikat. Daten liegen in /var/lib/dkv-app (SQLite + hochgeladene Dateien) und bleiben bei Updates unangetastet.

Startdaten: optional server/seed.json (Format wie server/seed.example.json, nicht im Repo) – wird nur in eine leere Datenbank geladen.

API (Basic Auth)

Methode Pfad Zweck
GET /api/items, /api/rechnungen[?status=bereit], /api/meta/summary lesen
PUT / PATCH /api/<items|rechnungen|meta>/<id> Dokument setzen / zusammenführen (JSON)
POST /api/rechnungen Rechnung hochladen (multipart: files, person, rechnungssteller, rechnungsdatum, betrag, notiz)
GET /api/files/<fileId> Datei abrufen
POST /api/import/n26 Konto-CSV importieren (multipart file)
POST /api/import/dkv Leistungsabrechnungen als PDF einlesen (multipart files)
POST /api/import/dkv-text Abrechnungstext einlesen ({"name","text"})
GET /api/abgleich[?von=YYYY-MM-DD] Zuordnung Zahlungen ↔ Positionen, Gutschriften
POST /api/abgleich/vorgang Position als Vorgang übernehmen
POST /api/sync Kontoumsätze sofort abrufen
POST /api/import/einreichungen Einreichungen (Status aus dem Versicherungs-Postfach) übernehmen

meta/summary.abgleich steuert die Zuordnung: zusatz (weitere Empfänger, die als medizinisch gelten), ignorieren, namenspaare (Kontoname → Name in der Abrechnung).

meta/summary kann titel, personen (Liste für das Upload-Formular), stand, alertTitle, alertText enthalten.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages