# BANKIMPORT FOR [DOLIBARR ERP & CRM](https://www.dolibarr.org)

Dolibarr-Modul zum Import von Kontoauszügen und Buchungen über die FinTS/HBCI-Schnittstelle deutscher Banken.

## Features

- **FinTS/HBCI-Anbindung**: Automatischer Abruf von Kontobuchungen über die FinTS-Schnittstelle (getestet mit VR-Banken/Atruvia)
- **TAN-Verfahren**: Unterstützung von SecureGo Plus (Decoupled TAN) für die TAN-Bestätigung per App
- **Automatischer Import**: Cronjob-basierter Import von Buchungen (täglich, zweimal wöchentlich oder wöchentlich)
- **Buchungszuordnung**: Automatische Zuordnung importierter Buchungen zu Rechnungen anhand von Referenznummern, Beträgen, Namen und IBAN
- **Multi-Rechnungszahlungen**: Verknüpfung einer Bankbuchung mit mehreren Rechnungen (Sammelzahlungen)
- **Zahlungsverknüpfung korrigieren**: Möglichkeit falsche Zuordnungen aufzuheben und neu zu verknüpfen
- **PDF-Kontoauszüge**: Upload und Verwaltung von PDF-Kontoauszügen mit automatischer Metadaten-Erkennung (Auszugsnummer, Zeitraum, Saldo)
- **Mehrfach-Upload**: Gleichzeitiger Upload mehrerer PDF-Kontoauszüge
- **Dashboard**: Übersichtsseite mit den letzten Buchungen und Kontoauszügen
- **Erinnerungsfunktion**: Konfigurierbare Warnung wenn Kontoauszüge nicht aktuell sind
- **Integration**: Einbindung in das Dolibarr-Menü "Banken und Kasse"

## Voraussetzungen

- Dolibarr ERP & CRM >= 16.0
- PHP >= 8.0
- `pdfinfo` und `pdftotext` (Paket `poppler-utils`) für die PDF-Metadaten-Erkennung
- Zugang zu einer Bank mit FinTS/HBCI-Schnittstelle

## Installation

### Aus dem Git-Repository

```shell
cd /path/to/dolibarr/custom
git clone <repository-url> bankimport
cd bankimport
composer install
```

### Aktivierung

1. In Dolibarr als Administrator anmelden
2. Unter "Einstellungen" > "Module/Applikationen" das Modul "Bankimport" aktivieren
3. Unter "Banken und Kasse" > "Bankimport" die FinTS-Verbindungsdaten konfigurieren

## Konfiguration

### FinTS-Verbindung

- **FinTS Server URL**: Die FinTS-URL Ihrer Bank (z.B. `https://fints1.atruvia.de/cgi-bin/hbciservlet` für VR-Banken)
- **Bankleitzahl (BLZ)**: 8-stellige Bankleitzahl
- **Benutzerkennung**: Ihre Online-Banking Benutzerkennung
- **PIN**: Wird verschlüsselt in der Datenbank gespeichert
- **IBAN**: Kontonummer/IBAN des abzurufenden Kontos

### Automatischer Import

Der automatische Import kann im Admin-Bereich aktiviert werden. Die Buchungen werden dann per Dolibarr-Cronjob abgerufen. Unterstützte Intervalle: täglich, zweimal wöchentlich, wöchentlich.

### PDF-Upload Einstellungen

- **Upload-Modus**: Automatisch (Metadaten aus PDF extrahieren) oder Manuell
- **Erinnerung**: Konfigurierbare Warnung wenn der letzte Kontoauszug älter als X Monate ist

## Berechtigungen

- **Bankimport lesen**: Buchungen und Kontoauszüge ansehen
- **Bankimport schreiben**: Kontoauszüge abrufen und PDF hochladen
- **Bankimport löschen**: Buchungen und Kontoauszüge löschen

## Technische Details

### Verwendete Bibliotheken

- [nemiah/php-fints](https://github.com/nemiah/php-fints) - PHP FinTS/HBCI Bibliothek

### Datenbank-Tabellen

- `llx_bankimport_transaction` - Importierte Buchungen
- `llx_bankimport_statement` - PDF-Kontoauszüge

## Lizenz

GPLv3 oder (nach Wahl) jede spätere Version. Siehe Datei COPYING für weitere Informationen.

## Autor

Eduard Wisch - [data IT solution](https://data-it-solution.de)
