Wer mit orderbird Mini, dem Bambora / Worldline Merchant Portal und DATEV Unternehmen online arbeitet, kennt vielleicht genau diesen kleinen, aber nervigen Medienbruch: Die Belege liegen in den Portalen, die Buchführung wartet aber in DATEV. Also heißt es im Alltag oft: Einloggen, Datum filtern, PDFs herunterladen, danach DATEV öffnen und die Dateien wieder hochladen.
Bei ein paar Belegen geht das noch. Wenn das aber regelmäßig passiert, wird es schnell zur Klick-Orgie. Bei uns kam noch dazu, dass orderbird durch Cloudflare geschützt ist. Ein klassisches Login-Script, das Benutzername und Passwort automatisch einträgt, ist deshalb nicht die saubere Lösung. Es ist störanfällig, kann an Schutzmechanismen scheitern und ist aus Sicherheitsgründen eher unschön.
Die bessere Lösung war deshalb: Der Mensch loggt sich selbst im Browser ein. Die Automatisierung beginnt erst danach.
Die Idee
- In orderbird und Bambora/Worldline ganz normal im Browser einloggen.
- Den gewünschten Zeitraum filtern.
- Mit einem Tampermonkey-Script die sichtbaren PDF-Buttons anklicken.
- Die PDFs landen im normalen Download-Ordner.
- Ein lokales Script verschiebt die heutigen PDFs in den passenden Kassenbuch-Monatsordner.
- Anschließend sendet das Script die PDFs gesammelt per E-Mail an DATEV Upload Mail.
Damit wird Cloudflare nicht umgangen. Der Login bleibt manuell und findet ganz normal im Browser statt. Die Automatisierung übernimmt nur die lästige Klick- und Versandarbeit danach.
Eingesetzte Komponenten
- orderbird Mini
- Bambora / Worldline Merchant Portal
- Firefox oder Chrome
- Tampermonkey Browser-Erweiterung
- Python 3 auf dem lokalen Rechner
- DATEV Unternehmen online mit Upload per E-Mail
- Eine für DATEV Upload Mail freigegebene Absenderadresse
- SMTP-Zugangsdaten dieser Absenderadresse
Warum Tampermonkey?
Tampermonkey läuft direkt im eingeloggten Browser. Das Script muss also nicht selbst einloggen. Es sieht einfach die Seite, die der Benutzer ohnehin geöffnet hat, und kann dort Buttons anklicken.
Bei orderbird ist der entscheidende Button der PDF-Download-Button in der Rechnungsübersicht. Beim Bambora / Worldline Merchant Portal ist es etwas kniffliger: Die Auszahlungszeilen müssen zuerst aufgeklappt werden. Erst danach erscheint der kompakte PDF-Bericht.
Der Download-Ablauf
orderbird
- Im Browser bei orderbird einloggen.
- Die Rechnungsseite öffnen.
- Zeitraum filtern.
- Im Tampermonkey-Fenster auf „Aktuelle Seite herunterladen“ klicken.
- Die PDFs landen im Download-Ordner.
Bambora / Worldline
- Im Merchant Portal einloggen.
- Den Bereich „Auszahlungen“ öffnen.
- Zeitraum filtern.
- Im Tampermonkey-Fenster auf „Alle sichtbaren PDFs herunterladen“ klicken.
- Das Script klappt die Zeilen auf und lädt die kompakten PDF-Berichte.
Danach: Verschieben und an DATEV senden
Nach dem Download liegen alle PDFs zunächst im normalen Download-Ordner, zum Beispiel:
/home/yvonne/Downloads
Das lokale Python-Script verschiebt alle heutigen PDFs in einen Monatsordner:
/home/yvonne/Netzlaufwerk/Gewerbe/Kassenbuch/<Jahr>/<Monat>
Beispiel:
/home/yvonne/Netzlaufwerk/Gewerbe/Kassenbuch/2026/06
Danach werden die PDFs gesammelt als E-Mail-Anhänge an die DATEV Upload-Mail-Adresse gesendet. Der Versand erfolgt über eine eigene, in DATEV freigegebene Absenderadresse.
Wichtig: Die persönliche DATEV Upload-Mail-Adresse sollte nicht öffentlich veröffentlicht werden.
Installation der Browser-Scripts
- Tampermonkey im Browser installieren.
- Neues Script für orderbird erstellen.
- Inhalt von
orderbird-pdf-downloader.user.jseinfügen und speichern. - Neues Script für Bambora/Worldline erstellen.
- Inhalt von
bambora-worldline-pdf-downloader.user.jseinfügen und speichern. - Die jeweilige Seite neu laden.
Installation des DATEV-Upload-Scripts
mkdir -p ~/datev-upload
cp datev-upload/* ~/datev-upload/
cd ~/datev-upload
cp config.env.example config.env
nano config.env
In der Datei config.env werden DATEV-Adresse, Absenderadresse, SMTP-Zugang und lokale Ordner eingetragen.
chmod 600 config.env
chmod +x datev_upload.py start-datev-upload.sh install_desktop_launcher.sh
./install_desktop_launcher.sh
Danach erscheint auf dem Desktop ein Starter „Belege an DATEV senden“.
Testlauf
python3 datev_upload.py --dry-run
Dabei wird nichts verschoben und nichts gesendet. Das Script zeigt nur, welche heutigen PDFs im Download-Ordner gefunden würden.
Produktiver Tagesablauf
- orderbird öffnen und Tagesfilter setzen.
- orderbird-PDFs mit Tampermonkey herunterladen.
- Bambora/Worldline öffnen und Tagesfilter setzen.
- Bambora/Worldline-PDFs mit Tampermonkey herunterladen.
- Desktop-Starter „Belege an DATEV senden“ anklicken.
- Die Liste der Dateien prüfen.
- Versand mit
jbestätigen.
Das Script verschiebt die Dateien, legt den Monatsordner bei Bedarf an und merkt sich bereits gesendete Dateien. Dadurch wird das Risiko reduziert, dass Belege versehentlich mehrfach an DATEV geschickt werden.
Grenzen und Hinweise
Dieser Workflow ist bewusst pragmatisch. Er ersetzt keine offizielle Schnittstelle und keine steuerliche Prüfung. Außerdem sollte der Download-Ordner möglichst sauber gehalten werden, weil das Script alle heutigen PDF-Dateien verarbeitet. Wer dort regelmäßig andere PDFs speichert, sollte den Ablauf entsprechend anpassen.
Für kleine Setups ohne direkte API oder fertige Schnittstelle kann dieser Weg trotzdem viel Zeit sparen: Der Login bleibt manuell, die sensiblen Portale werden nicht per Passwort-Script automatisiert, und der eigentliche Routineaufwand wird deutlich reduziert.