Finanzübersicht
Persönliche Finanzverwaltung für iOS und macOS (Mac Catalyst) und Windows
Finanzübersicht ist eine Open‑Source App zur lokalen Verwaltung von Einnahmen, Ausgaben und wiederkehrenden Buchungen. Die App speichert Daten lokal als JSON. Optionaler CloudKit-Sync (Store-Build, iOS 17+ / Mac Catalyst 17+, Jahresabo unabhängig von Pro) hält Daten in der privaten iCloud — opt-in, kein eigener Server. Direct- und Windows-Builds ohne Sync. Drei-Geräte-QA (iPhone → iPad → iMac): docs/CLOUDKIT_SYNC_QA.md (#243).
Kurz: .NET 10 + MAUI, Multi-Language UI (Deutsch & Englisch), MVVM-Architektur.
Kern-Features
- Dashboard mit Monats- und Jahresübersicht, Budget-Hinweisen, Trend-Indikator und Kontenübersicht (Gesamtsaldo)
- 30-Tage-Cashflow-Vorschau inkl. geplanter Daueraufträge
- Mehrere Konten mit Anfangssaldo, Saldo pro Konto und Umbuchungen zwischen Konten
- Transaktionen anlegen, editieren, suchen, filtern, duplizieren und als Vorlage speichern
- Schnellerfassung: In-App „Schnell“ (Free) auf allen Plattformen; auf iOS zusätzlich Home-Screen-Widget mit konfigurierbaren Shortcuts (Pro)
- CSV-Import mit Spaltenzuordnung und gespeicherten Profilen (DKB als Built-in), Vorschau, Auto-Kategorisierung und Duplikat-Erkennung
- Wiederkehrende Buchungen (Daueraufträge) mit Instanz-Verschieben und Ausnahmen
- Kategorien mit Icon, Farbe und monatlichem Budget
- Sparziele mit Fortschrittsbalken und Prognose
- Backup & Restore mit automatischer Schema-Migration (v1 → v3)
- iCloud-Sync (optional, Store): Jahresabo, unabhängig von Pro; Daten in der privaten iCloud
- Accessibility / VoiceOver-Unterstützung (iOS & macOS)
- Dark Mode Unterstützung
- Multi-Language Support (Deutsch & Englisch)
Hinweis: Die Benutzeroberfläche unterstützt Deutsch und Englisch; weitere Sprachen sind möglich, werden aber nicht aktiv gepflegt.
Screenshots
Stand v1.25 — kuratierte Hauptansichten von Mac Catalyst. Die sechs aktuellen Aufnahmen decken Dashboard, Transaktionen, Daueraufträge, Verwaltung, Sparziele und Einstellungen ab. App-Store-Aufnahmen für iPhone und iPad werden separat in App Store Connect gepflegt; diese Übersicht zeigt repräsentative Mac-Ansichten.
| Dashboard | Transaktionen |
|---|---|
![]() |
![]() |
| Daueraufträge | Verwaltung |
|---|---|
![]() |
![]() |
| Sparziele | Einstellungen |
|---|---|
![]() |
![]() |
Plattformen
| Plattform | Status |
|---|---|
| macOS (Mac Catalyst) | ✅ Unterstützt |
| iOS (iPhone / iPad) | ✅ Unterstützt · Widget + Store/TestFlight-Vorbereitung (docs/APP_STORE.md) |
| Windows | ✅ Unterstützt / eingeschränkt getestet |
Voraussetzungen
- .NET 10 SDK
- macOS (Xcode) für iOS / Mac Catalyst Builds
- Optional: Windows + Visual Studio oder Visual Studio Code für Windows-Builds
Installiere benötigte Workloads:
dotnet workload install maui
Schnellstart
Für Deutsch-sprechende Entwickler
Siehe Entwickler-Leitfaden (docs/GUIDE.md) für detaillierte Setup- und Entwicklungsanweisungen.
git clone https://github.com/Thomas-Menzl-Softwareentwicklung/finanzuebersicht.git
cd finanzuebersicht
dotnet restore
Build & Start (Mac Catalyst):
dotnet build Finanzuebersicht/Finanzuebersicht.csproj -f net10.0-maccatalyst
# Debug-Build kopiert automatisch nach ~/Applications (nicht /Applications — macOS 26+ Dev-Signatur)
open ~/Applications/Finanzübersicht.app
# Tests
dotnet test Finanzuebersicht.Tests
For English Speakers
See Quick Start (docs/QUICK_START.md) for a concise guide.
Projektstruktur (Clean Architecture)
6 Schichten:
Finanzuebersicht/ ← MAUI App Entry Point (iOS, macOS, Windows)
├── App.xaml, AppShell.xaml, MauiProgram.cs
├── Controls/ ← SelectionField (Picker-Workaround Mac Catalyst)
Finanzuebersicht.Presentation/ ← Presentation Layer (MVVM)
├── DependencyInjection/ ← AddPresentationViewModels(...)
├── ViewModels/ ← DashboardVM, TransactionsVM, etc.
├── Navigation/ ← Shell Navigation
├── Services/ ← namespace Finanzuebersicht.Presentation.Services
└── Resources/ ← Presentation resource helpers (e.g. string keys)
Finanzuebersicht.Application/ ← Use Cases / Application Layer (net10.0)
├── DependencyInjection/ ← AddApplicationUseCases()
└── UseCases/ ← namespace Finanzuebersicht.Application.UseCases.*
Finanzuebersicht.Infrastructure/ ← DI-Registrierung, Persistenz & Infrastrukturdienste (net10.0)
├── DependencyInjection/ ← AddInfrastructureServices()
└── Services/ ← SettingsService, BackupService, LocalDataService, *Store.cs
Finanzuebersicht.Core/ ← Domain Layer (Modelle, Geschäftslogik, Services)
├── Models/ ← namespace Finanzuebersicht.Models
└── Services/ ← namespace Finanzuebersicht.Core.Services (Interfaces, Domain Services, AppPaths, Migrations)
Finanzuebersicht.Tests/ ← xUnit Tests (net10.0)
└── Testet alle Layer (Application, Infrastructure, Presentation, Core)
Notizen:
- Views bleiben in
Finanzuebersicht/Views/(MAUI App) - Converters bleiben in
Finanzuebersicht/Converters/(MAUI App) - ViewModels sind in
Finanzuebersicht.Presentation/ViewModels/ FileLoggerwurde entfernt; Logging läuft überILogger<T>- Repositories über
I*Repository-Interfaces;LocalDataServiceorchestriert die JSON-Stores MauiProgram.csist ein schlanker Orchestrator für die layer-spezifischen DI-Extensions
Lokalisierung & Ressourcen
- UI-Texte:
Finanzuebersicht/Resources/Strings/AppResources.resx(Englisch, Fallback) undAppResources.de.resx(Deutsch) - Schlüssel-Konstanten:
Finanzuebersicht.Presentation/Resources/Strings/ResourceKeys.cs - Sprache: Systemsprache oder manuell in den Einstellungen (Deutsch / Englisch)
Dokumentation
| Dokument | Inhalt |
|---|---|
| CHANGELOG.md | Versionshistorie |
| docs/GUIDE.md | Entwickler-Leitfaden (Deutsch): Setup, Architektur, Konventionen |
| docs/QUICK_START.md | Quick Start (Englisch) |
| docs/ROADMAP.md | Geplante Features und Milestones |
| docs/APP_STORE.md | App Store / TestFlight Vorbereitung (iPhone / iPad) |
| docs/MONETIZATION.md | Free / Pro / Sync — Preis- und Feature-Schnitt (Entwurf) |
| finanzuebersicht-site | Support, Datenschutz, Impressum (finanzuebersicht.thomasmenzl.de) |
| docs/CATEGORIZATION_RULES.md | Auto-Kategorisierung beim CSV-Import |
| docs/RECURRING_UI.md | Dauerauftrag: Instanz verschieben |
| docs/ARCHITECTURE_CLEAN_CODE_REVIEW.md | Historisches Architektur-Review (Mai 2026) |
| .github/copilot-instructions.md | Zentrale AI-/Entwickler-Referenz |
Versionierung & CI
- Nerdbank.GitVersioning (
version.json) steuert Versionsnummern (aktuell Basis1.22) - CI / Pre-Release / Release Workflows in
.github/workflows/
Full MAUI build (macCatalyst)
- Quick checks (unit tests, linters) werden bei Push auf Branches ausgeführt (ubuntu runner) — das spart macOS-Runner-Minuten.
- Der vollständige MAUI macCatalyst-Build läuft für Pull Requests gegen
mainund fürmain-Pushes. Dadurch werden macOS-Ressourcen nur bei echten Integrationsprüfungen verwendet. - Pre-Release: Manuell via Actions → "Pre-Release" → Run workflow mit gewünschtem Tag (z.B.
v1.2.0-beta.1). - Release: Bei Tag-Push (
v*) oder manuellem Trigger werden Build-Artifacts (macOS + Windows) an das GitHub Release gehängt. - Um einen vollständigen MAUI-Build für einen PR explizit anzustoßen, füge das Label
run-mauizur PR hinzu oder starte den Workflow manuell über Actions → "CI - Split quick and full" → Run workflow.
Mitmachen
Arbeite auf Feature-Branches und öffne Pull Requests gegen develop:
git checkout -b feature/mein-feature
Wenn ein Milestone fertig ist, wird develop per PR in main gemerged. main ist geschützt und immer release-ready.
Lizenz
Finanzübersicht nutzt Dual Licensing (Copyright © 2026 Thomas Menzl Softwareentwicklung):
| Nutzung | Lizenz |
|---|---|
| Quellcode ansehen, selbst bauen, verändern und unter denselben Bedingungen weitergeben | GPL-3.0 |
| Proprietäre / Store-Distribution (z. B. App Store), verkaufte Binaries ohne GPL-Auflagen für diese Distribution | Nur mit gesonderter kommerzieller Lizenz durch den Rechteinhaber |
Kurz: Der Code ist einsehbar und baubar (Transparenz und Vertrauen). Geschlossene Weitergabe oder Store-Verkauf durch Dritte ohne Genehmigung ist nicht erlaubt. Name und Marke „Finanzübersicht“ bleiben geschützt.






