Commit graph

21 commits

Author SHA1 Message Date
b552b90303 feat: PaymentVarious - Zahlung anlegen für Transaktionen ohne Rechnung
Neuer Button "Zahlung anlegen" auf der Transaktions-Detailseite (card.php)
für Bankbuchungen ohne zugehörige Rechnung (z.B. Steuer-Erstattungen,
private Umbuchungen, sonstige Zahlungen).

- Inline-Formular mit Buchungskonto (Select2), Nebenbuchkonto,
  Buchungsseite (Soll/Haben) und Label
- Buchungsseite wird automatisch aus Vorzeichen ermittelt
- Erstellt PaymentVarious mit Bank-Eintrag und bank_url-Verknüpfung
- Transaktion wird auf MATCHED gesetzt
- Anzeige der sonstigen Zahlung mit Link bei gematchten Transaktionen
- Fix: update() speichert jetzt fk_user_match und date_match korrekt
- Fix: Leeres Nebenbuchkonto wird nicht mehr als -1 gespeichert

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 15:52:20 +01:00
33ecb49fc4 feat: Filter-Persistierung und Standard-Statusfilter
- Filter bleiben beim Navigieren (card.php → list.php) erhalten (Session)
- Neuer Admin-Setting: Standard-Statusfilter für die Buchungsliste
- Empfehlung: "Neu" als Standard, damit zugeordnete Buchungen ausgeblendet werden

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 14:04:07 +01:00
201290e6ad chore: Version 3.4 → 3.5
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 09:49:57 +01:00
d9729a0cc5 feat: Separater Cronjob für PDF-Kontoauszüge (monatlich)
- doFetchPdfStatements() Methode in BankImportCron hinzugefügt
- Automatischer PDF-Abruf per FinTS (HKEKP/HKEKA), Deduplizierung, Parsing, Reconciliation
- Bestehender Umsatz-Cronjob auf wöchentlich umgestellt
- Neuer Kontoauszug-Cronjob monatlich (30 Tage)
- Übersetzungen DE+EN ergänzt

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 07:18:49 +01:00
014a943f78 feat: HKEKA-Implementierung, PDF-Bugfixes, Sortierung, Umsatz-Umbenennung
- HKEKA v3/v4/v5 Segmente fuer phpFinTS implementiert (VR Bank unterstuetzt kein HKEKP)
- GetElectronicStatement Action mit Base64-Erkennung und Quittungscode
- PDF-Deduplizierung per MD5 (Bank sendet identische Saldenmitteilungen)
- Saldenmitteilungen ohne Auszugsnummer werden uebersprungen
- Datums-Validierung: 30.02. (Bank-Konvention) wird auf 28.02. korrigiert
- Numerische Sortierung fuer statement_number (CAST statt String-Sort)
- Jahr-Filter: statement_year=0 ausgeschlossen
- Menue/Button: "Kontoauszuege" -> "Umsaetze" (statements.php zeigt MT940, nicht PDFs)
- Redirect nach FinTS-Abruf auf aktuelles Jahr statt year=0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 07:10:59 +01:00
8b64fd24d3 feat: php-fints 4.0 Update + HKEKA/HKKAA Segmente (WIP)
- php-fints Bibliothek von 3.7.0 auf 4.0.0 aktualisiert
- Parser-Fix: Ignoriert zusätzliche Bank-Felder statt Exception
- HKEKA Segmente implementiert (HIEKASv5, HKEKAv5, HIEKAv5)
- HKKAA Segmente implementiert (HIKAASv1, HKKAAv1)
- GetStatementFromArchive und GetElectronicStatement Actions

HINWEIS: HKKAA/HKEKA funktionieren noch nicht mit VR Bank
(Fehler "unerwarteter Aufbau wrt DE 2" - Kontoverbindungsformat)
Normale Funktionalität (Transaktionsimport) ist nicht betroffen.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-05 15:47:27 +01:00
fc380892f0 feat: PDF-Kontoauszüge per FinTS (HKEKP) abrufen
- Neue php-fints Segmente: HKEKPv2, HIEKPv2, HIEKPSv2
- Action-Klasse GetStatementPDF mit Pagination-Support
- Integration in pdfstatements.php (2-Spalten-Layout)
- Cronjob doAutoFetchPdf für automatischen Abruf
- Bank-Support-Prüfung via BPD (HIEKPS Parameter)

Hinweis: Nicht alle Banken unterstützen HKEKP

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-05 14:26:35 +01:00
e3687f0d34 docs: CHANGELOG und CLAUDE.md aktualisiert
- CHANGELOG.md: Version 3.0 und 3.1 dokumentiert
- CLAUDE.md: Projektspezifische Entwicklernotizen erstellt

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-05 10:59:06 +01:00
463e7bdf0d fix: Sortierung bevorzugt Matches mit näherem Betrag
Matches die innerhalb von 10% des Transaktionsbetrags liegen
werden jetzt vor Matches mit größerer Abweichung angezeigt.

Bei 523€ Transaktion:
- Multi-Match 529€ (Diff 6€) → wird bevorzugt
- Einzelmatch 60€ (Diff 463€) → kommt danach

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-05 10:54:43 +01:00
f9852f98f6 fix: Multi-Invoice Match Score auf 98 erhöht
Multi-Invoice Matches werden jetzt bevorzugt angezeigt,
da sie besser zum Transaktionsbetrag passen als Einzelmatches.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-05 10:52:41 +01:00
dbcad6a884 feat: Multi-Invoice Skonto-Erkennung und automatische Skonto-Verarbeitung
- Toleranz für Multi-Invoice-Matching auf 3% des Betrags erhöht (statt 5€ fix)
- Automatische proportionale Verteilung der Zahlung bei Skonto-Abzug
- Rechnungen werden mit close_code='discount_vat' als bezahlt markiert
- Skonto-Betrag wird in der Notiz dokumentiert
- Version 3.1

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-05 10:46:23 +01:00
6e4b5b0de2 feat: Browser-Notifications entfernt, GlobalNotify übernimmt
- bankimport_notify.js.php gelöscht
- module_parts['js'] Array geleert
- Benachrichtigungen laufen jetzt zentral über GlobalNotify-Widget

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-23 11:35:41 +01:00
717ae539d3 feat: GlobalNotify Integration für Zahlungsabgleich
- Helper-Funktion BankImportTransaction::notify() für sichere GlobalNotify-Nutzung
- Benachrichtigung bei neuen importierten Bankbuchungen
- Aktion-erforderlich wenn unzugeordnete Buchungen warten
- countUnmatchedTransactions() Funktion hinzugefügt
- Fallback auf dol_syslog wenn GlobalNotify nicht verfügbar
- Version 2.8

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-23 11:26:32 +01:00
f340ba2da5 feat: Robustes Cron-System mit Monitoring (v2.7)
- Dediziertes Cron-Logging unter /documents/bankimport/logs/
- Shutdown Handler für fatale PHP-Fehler
- Pause-Mechanismus nach 3 Fehlern (verhindert Bank-Sperrung)
- Auth-Fehler-Erkennung für Authentifizierungsprobleme
- Neue Admin-Seite: Cron-Monitor (Status, Logs, Pause/Resume)
- CHANGELOG aktualisiert

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-23 10:58:06 +01:00
5264a2e91e Add link to repair page in admin setup
- Admin Tools section in setup page with link to repair.php
- Translations for AdminTools and Open (DE/EN)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-20 12:06:13 +01:00
95220dda14 Add repair page for orphaned transactions and fix paid invoice filter
- New repair.php page for admin to fix orphaned BankImport transactions
  that are still marked as "New" but have existing payments in Dolibarr
- Fix invoice filter in card.php to only check BankImport linkage,
  not payment.fk_bank - allows linking paid invoices not yet in BankImport
- Add translations for repair page (DE/EN)
- Bump version to 1.7.1

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-20 12:04:20 +01:00
48b8fe2773 Filter out paid invoices already linked to bank entries
When showing paid invoices for linking, exclude those whose
payment is already linked to a bank entry (fk_bank > 0).
A paid invoice can only be linked to one bank transaction.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-20 09:18:41 +01:00
2f0f438ec4 Add update SQL script for v1.7 migrations
Adds fk_statement column for existing installations that were
created before this column was added to the schema.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-20 09:15:32 +01:00
6342225cc1 Fix: Wrong column name fk_paiement_fourn -> fk_paiementfourn
The column in llx_paiementfourn_facturefourn is fk_paiementfourn (no underscore)
not fk_paiement_fourn. This caused payment lookups to fail, creating
duplicate payments instead of linking to existing ones.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-20 09:12:53 +01:00
2dc9279143 Fix: linkExistingPayment and linkMultipleExistingPayments not updating transaction
When linking paid invoices that already have bank entries:
- Added missing commit() and return after update() in bank_line branch
- Added proper error handling for update() failures
- Fixed both single invoice (linkExistingPayment) and multi-invoice linking

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-20 09:09:32 +01:00
94efa59df3 v1.7: Multi-invoice payments and payment unlinking
- Add multi-invoice payment support (link one bank transaction to multiple invoices)
- Add payment unlinking feature to correct wrong matches
- Show linked payments, invoices and bank entries in transaction detail view
- Allow linking already paid invoices to bank transactions
- Update README with new features
- Add CHANGELOG.md

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-20 09:00:05 +01:00