Finanzmanager/tests
fds2610-bot 0b4a216954 Sammel-Commit: PayPal-Bankverbindung und Bankleitzahlen-Verzeichnis
Zwei Features an derselben Stelle, die im Arbeitsverzeichnis
nebeneinander lagen und sich dieselben Dateien teilen (Routen,
BankingController, Bankzugang, Zugangsformular, Dokumentation) –
getrennte Commits ließen sich daraus nur mit einem kaputten
Zwischenstand schneiden.

PayPal als zweite Art von Bankverbindung
----------------------------------------
„Bankverbindung anlegen“ führt zur Wahl der Art: HBCI/FinTS oder
PayPal (bank_zugaenge.typ, Migration 014). Die Abfrage läuft über die
Classic-NVP-API (Services\PaypalNvp, TransactionSearch und GetBalance).
Kein Dreischritt, da PayPal genau ein Guthabenkonto führt –
Zugangsdaten und Kontenzuordnung stehen in einem Formular. Konten,
Umsätze, Protokoll, Regeln und Abgleich bleiben dieselben.

Bankleitzahlen-Verzeichnis
--------------------------
Verwaltung → Bankleitzahlen (/verwaltung/bankinstitute, Migration 015)
nimmt die CSV-Institutsliste der Deutschen Kreditwirtschaft auf und
beantwortet damit die eine Angabe, die beim Anlegen einer
FinTS-Verbindung regelmäßig fehlt: den PIN/TAN-Zugangspunkt.

Reine Nachschlagedaten ohne benutzer_id; ein Import ersetzt den
gesamten Bestand, statt ihn zu ergänzen. „Nur prüfen“ und „Übernehmen“
sind zwei Knöpfe an derselben Datei – abgelegt wird sie nicht, ihr
Inhalt steht ja in der Tabelle.

Services\FintsInstituteImport nimmt der Datei ihre Eigenheiten ab:
ISO-8859-1 statt UTF-8, ein Institutsname über zwei Zeilen in
Anführungszeichen, dieselbe Bankleitzahl vielfach (eine Zeile je
Filiale), Hunderte leerer Zeilen am Ende, Text statt Adresse, wo es
keinen PIN/TAN-Zugang gibt. Spalten werden über ihre Überschrift
angesprochen; fehlen BLZ und Institut, bricht der Import ab.

Gesucht wird über Bankleitzahl, BIC, Name und Ort in einem Zug: „1822“
steht bei der 1822direkt im Namen und bei der Frankfurter Sparkasse im
BIC, in keiner der beiden Bankleitzahlen.

Aus der Trefferliste führt „Verbindung anlegen“ ins gefüllte
FinTS-Formular. Die FinTS-Adresse ist damit kein Pflichtfeld mehr –
bleibt sie leer, wird sie zur Bankleitzahl nachgeschlagen. Findet auch
das nichts, weist Bankzugang den Zugang ab, statt ihn ohne Gegenstelle
zu speichern.

Tests: 31_PaypalZugangTest, 32_BankinstituteTest,
e2e/specs/banking.spec.js, e2e/specs/bankinstitute.spec.js.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 08:48:14 +02:00
..
e2e Sammel-Commit: PayPal-Bankverbindung und Bankleitzahlen-Verzeichnis 2026-08-18 08:48:14 +02:00
01_AuthTest.php Phase 0: Projektgerüst mit nginx, php-fpm und MariaDB 2026-08-09 20:21:42 +02:00
02_EinstellungenTest.php Phase 0: Projektgerüst mit nginx, php-fpm und MariaDB 2026-08-09 20:21:42 +02:00
03_RouterTest.php Phase 0: Projektgerüst mit nginx, php-fpm und MariaDB 2026-08-09 20:21:42 +02:00
04_DebugLogTest.php Phase 0: Projektgerüst mit nginx, php-fpm und MariaDB 2026-08-09 20:21:42 +02:00
05_DarstellungTest.php Phase 1: Stammdaten und QIF-Stammdatenimport 2026-08-09 21:33:40 +02:00
06_KategorienTest.php Phase 1: Stammdaten und QIF-Stammdatenimport 2026-08-09 21:33:40 +02:00
07_KontenTest.php Phase 3: Budgetplaner und Monatsabschluss 2026-08-11 07:31:25 +02:00
08_QifImportTest.php Phase 1: Stammdaten und QIF-Stammdatenimport 2026-08-09 21:33:40 +02:00
09_BuchungenTest.php Phase 2: Buchungen, Kontoblatt und QIF-Buchungsimport 2026-08-10 16:40:31 +02:00
10_QifBuchungsImportTest.php QIF-Import: nur ausgewählte Konten übernehmen 2026-08-12 14:50:43 +02:00
11_BudgetTest.php Budgetplaner: drei Ansichten und Verteilen über das Zahnrad 2026-08-11 08:22:35 +02:00
12_MonatsabschlussTest.php Phase 3: Budgetplaner und Monatsabschluss 2026-08-11 07:31:25 +02:00
13_VermoegensentwicklungTest.php Cockpit: Übrige Konten aufklappbar, Balken rücken auseinander 2026-08-11 14:22:06 +02:00
14_AuswertungTest.php Phase 4: Auswertungen mit Berichtsmodul 2026-08-11 17:38:30 +02:00
15_CockpitTest.php Phasen 4 bis 7: Cockpit, Online-Banking, Wertpapiere, Nebenmodule 2026-08-12 06:59:24 +02:00
16_BankingTest.php Splitbuchungen in den Regeln für den Abgleich 2026-08-13 16:02:17 +02:00
17_WertpapiereTest.php Phasen 4 bis 7: Cockpit, Online-Banking, Wertpapiere, Nebenmodule 2026-08-12 06:59:24 +02:00
18_NebenmoduleTest.php Phasen 4 bis 7: Cockpit, Online-Banking, Wertpapiere, Nebenmodule 2026-08-12 06:59:24 +02:00
19_KontenzuordnungTest.php Online-Banking: Kontenzuordnung, Sammellöschen und drei Umsatz-Fehler 2026-08-12 11:54:23 +02:00
20_VerwaisteUmsaetzeTest.php Online-Banking: Kontenzuordnung, Sammellöschen und drei Umsatz-Fehler 2026-08-12 11:54:23 +02:00
21_DepotbestandImportTest.php Wertpapiere: Depotbestand aus einer CSV-Datei übernehmen 2026-08-12 14:26:50 +02:00
22_DepotbuchungenLoeschenTest.php Wertpapiere: Depotbuchungen sammelweise löschen 2026-08-12 14:27:51 +02:00
23_ZuordnungTest.php Kontoblatt: Klasse direkt auswählen, Zeilen einheitlich zweizeilig 2026-08-17 22:04:48 +02:00
24_NavigationTest.php Import und Export in QIF und CSV, Housekeeping für Importdateien 2026-08-17 23:01:30 +02:00
25_WertpapiergeschaeftTest.php Wertpapiergeschäft aus einer Kontobuchung 2026-08-13 13:27:52 +02:00
26_WertpapierDetailTest.php Detailseite eines Wertpapiers 2026-08-13 15:08:01 +02:00
27_KursabrufTest.php Kursabruf: Yahoo Finanzen als dritter Anbieter, FMP-Adressen berichtigt 2026-08-13 15:08:27 +02:00
28_UmsaetzeLoeschenTest.php Banking: Umsätze sammelweise löschen 2026-08-17 22:24:14 +02:00
29_ImportExportTest.php Import und Export in QIF und CSV, Housekeeping für Importdateien 2026-08-17 23:01:30 +02:00
30_UmbuchungSpiegelungTest.php Test: Umbuchungen spiegeln sich zuverlässig 2026-08-18 06:52:33 +02:00
31_PaypalZugangTest.php Sammel-Commit: PayPal-Bankverbindung und Bankleitzahlen-Verzeichnis 2026-08-18 08:48:14 +02:00
32_BankinstituteTest.php Sammel-Commit: PayPal-Bankverbindung und Bankleitzahlen-Verzeichnis 2026-08-18 08:48:14 +02:00
run.php Phase 0: Projektgerüst mit nginx, php-fpm und MariaDB 2026-08-09 20:21:42 +02:00
TestCase.php Phase 1: Stammdaten und QIF-Stammdatenimport 2026-08-09 21:33:40 +02:00