Wenn alles i. O. ist, sollte dies ab dem nächsten Release mit dabei sein.
Gruß
Alex
Wenn alles i. O. ist, sollte dies ab dem nächsten Release mit dabei sein.
Gruß
Alex
Hi, ich habe vom neuen Scalable den folgenden PDF Einlieferungsbeleg nach Umzug von Einzelpositionen von einem Trade Republic Depot. Vielleicht ist das interessant, da der aktuelle Scalable Importer die Einlieferungen nicht erkennt.
Den Einlieferungsbelege stellt das neue Scalable in der Maibox als Einlieferungsbeleg PDF zur Verfügung, es sind aber keine Kurswerte drin. Nur die Stückzahlen.
Diesen hänge ich mal als anonymisierten Debug an.
20260219 Einlieferungsbeleg Broker Scalable Capital.pdf.txt (1,4 KB)
Moin,
interessant ja, damit man ihn “ablehnen” kann. Aber importierbar wird der nie, weil du musst ja auch aus dem alten Depot rausbuchen. Da werden immer Infos fehlen.
hier daas Scrippt von Gimini
=== SCALABLE TO PP: V19 (PREMIUM SAMMELDATEI) ===
!pip install pdfplumber -q
import pdfplumber
import pandas as pd
import re
from google.colab import files
from datetime import datetime
print(“Lade alle Scalable-PDFs für den PP-Import hoch:”)
uploaded = files.upload()
def extract_transaction_v19(pdf_path):
with pdfplumber.open(pdf_path) as pdf:
text_p1 = pdf.pages[0].extract_text() or “”
data = {‘Datum’: datetime.now().strftime(‘%d.%m.%Y’), ‘Uhrzeit’: ‘12:00’, ‘ISIN’: ‘Unbekannt’, ‘Typ’: ‘Kauf’, ‘Stück’: ‘0’, ‘Kurs’: ‘0’, ‘Wert’: ‘0’, ‘Notiz’: ‘’}
data[‘Typ’] = “Verkauf” if “Verkauf” in text_p1 else “Kauf”
isin_match = re.search(r’[A-Z]{2}[0-9A-Z]{10}‘, text_p1)
if isin_match: data[‘ISIN’] = isin_match.group(0)
dt_match = re.search(r’(\d{2}.\d{2}.\d{4})‘, text_p1)
if dt_match: data[‘Datum’] = dt_match.group(1)
zeit_match = re.search(r’(\d{2}:\d{2}(?::\d{2})?)‘, text_p1)
if zeit_match: data[‘Uhrzeit’] = zeit_match.group(1)
stk_match = re.search(r’(\d+[.,]\d+)\sStk’, text_p1)
betrag_match = re.search(r’(?:Betrag|Belastung|Gutschrift|Gesamtbetrag)\s+(\d+[\d.,]\d+)\s*EUR’, text_p1, re.IGNORECASE)
if stk_match and betrag_match:
stk_val = float(stk_match.group(1).replace(‘.’, ‘’).replace(‘,’, ‘.’))
total_val = float(betrag_match.group(1).replace(‘.’, ‘’).replace(‘,’, ‘.’))
kurs_calc = total_val / stk_val if stk_val > 0 else 0
data[‘Stück’] = f"{stk_val:.4f}“.replace(‘.’, ‘,’)
data[‘Kurs’] = f”{kurs_calc:.4f}“.replace(‘.’, ‘,’)
data[‘Wert’] = f”{total_val:.2f}“.replace(‘.’, ‘,’)
geb_match = re.search(r’Ordergebühren\s+(-?\d+[.,]\d+)', text_p1)
geb_val = geb_match.group(1) if geb_match else “0,00”
data[‘Notiz’] = f"Gebühr: {geb_val}”
return data
all_data_list =
isins_found =
for f_path in uploaded.keys():
try:
csv_dict = extract_transaction_v19(f_path)
if csv_dict[‘ISIN’] != ‘Unbekannt’:
all_data_list.append(csv_dict)
isins_found.append(csv_dict[‘ISIN’])
except: continue
if all_data_list:
df_all = pd.DataFrame(all_data_list)
df_all = df_all[[‘Datum’, ‘Uhrzeit’, ‘ISIN’, ‘Typ’, ‘Stück’, ‘Kurs’, ‘Wert’, ‘Notiz’]]
sammel_name = f"SAMMEL_von_{isins_found[0]}bis{isins_found[-1]}.csv"
df_all.to_csv(sammel_name, sep=‘;’, index=False, encoding=‘utf-8-sig’)
files.download(sammel_name)
Ich wähle depotumsätze. Durch die Spalte Typ, (Kauf oder Verkauf) wird es doch aus dem Depot ein oder ausgebucht. Also bis jetzt hat es geklappt. Auch der Kontostand des Referenzkontos stimmt.
Auf was genau beziehst du dich hier?
@Jo92 spricht vom pdf import. Dein Beispiel betrifft den csv import.
Das script liest die PDF von Scalable aus und erstellt eine importierbare CSV für PP. Das sogar im Stappel. Ich habe 15 PDFs auf einmal ausgelesen und das Script hat mir eine eine CSV erstellt aus der alle Verkäufe und Käufe korrekt in PP importiert wurden. Die Gebühren waren wohl zu schwierig, daher notiert das script die Gebühren in das Notizfeld um sie händisch nachzutragen
Sorry ich kann dir nicht folgen.
@Jo92s Antwort galt dem Import des pdfs. Der Importer kann damit nicht umgehen und wird es auch in Zukunft nicht können.
Der Einlieferungsbeleg enthält keinerlei Informationen, von wo die Aktien stammen. Woher sollte der Importer dann wissen von wo er sie umbuchen soll?
Er spricht wohl hiervon:
Hat wohl zulange mit KIs gearbeitet, das führt dazu das man kontextlos Text irgendwo rein kippt.
Wozu sollte ich aus den PDFs eine CSV machen um dann die CSV in PP zu importieren, wenn PP doch direkt die PDFs einlesen kann? Wo ist der Nutzen?
Und wo bekommst Du die PDFs her? (Um mal gleich dezent auf mein PDF-Downloader für SC hinzuweisen…)
Du hast recht der Import der PDF ist nicht möglich. Daher gehe ich den Umweg und lasse die PDF durch Colab (Google App) mit diesem Skript auslesen. Was sehr schwierig war. Colab generiert mir dann aus der PDF eine CSV Datei. Diese CSV Datei kann ich anschließend problemlos in PP importieren. Geschreiben hat mir dieses Skript Gimini ( Ebenfalls eine Google App)
Weil sich die PDF nicht einlesen läßt. Ja du hast recht. Ich habe Lange mit der KI gearbeitet, nicht zu lange, denn für mich hat es sich mehr als gelohnt
Ich bin mir nicht sicher ob ich wirklich verstehe was du tust, bzw. tun willst.
Die angegebene pdf kann nur aus einem Grund nicht importiert werden → Depot Umzug.
Die anderen Transaktionen funktionieren, hier braucht es also kein switch zu csv.
Welche pdfs wandelt dein Script jetzt in ein CSV um?
Die PDF kann man nicht einlesen. Ich lasse die PDF von Colab auslesen, Colab macht eine csv daraus.
So lese ich 10 Abrechnungen aufeinmal ein.
Dann stell bitte ein Debug hier rein. Normaler Verkaif wird unterstützt. Hier gibts keinen Grund fur deinen halbautomatischen workarround.
habe ich auch gerade gesehen. Habe ich mir die ganze Arbeit ( 3 Tage ) umsonst gemacht. Habe ich wohl beim ersten import einen Fehler gemacht und habe nach einer anderen Lösung gesucht. Habe nach deinem Post versucht eine PDF Abrechnung zu immportieren. Hat ganz normal geklappt. Soll ich meinen Post wieder löschen?
Ich dachte die KI hat die Arbeit gemacht. Jetzt hast Du vergebens in den USA die Gasturbinen zum glühen gebracht.
Nein musst du nicht, alles gut.
Hab’ gerade eine Dividenden-Import vorgenommen, wobei die 1[Punkt]200 Stück als 1[Komma]2 Stück übernommen wurden.
```
PDFBox Version: 3.0.6
Portfolio Performance Version: 0.82.1
System: linux | x86_64 | 21.0.10 | Flathub
-----------------------------------------
Scalable Capital Bank GmbH • Seitzstraße 8e • 80538 München • Deutschland
tvCd XVBmzCe
RU LVxkVkYL 3
39291 PSQcEzmWQWNp Datum 19.03.2026
Deutschland Seite 1 / 2
Dividende
Für 01.07.2025 - 30.06.2026
Berechtigtes Wertpapier LG Eur.x-UK Qual.Div.E.W.U.ETF
ISIN IE00BMYDM919
Berechtigte Anzahl 1.200
Ex Tag 12.03.2026
Verrechnungskonto we30463852214989319215 (DEUTDEFFXXX)
Kontobewegung
Buchung Wertstellung Typ Betrag / Stk. Berechtigte Anzahl Gesamt
19.03.2026 20.03.2026 Gutschrift 0,03 EUR 1.200 36,60 EUR
Steuern -6,75 EUR
Gesamtbetrag 29,85 EUR
Bitte beachten Sie Ihre eventuelle Meldepflicht nach § 67 AWV. Einkünfte aus Kapitalvermögen im Sinne von § 20 EStG sind
einkommensteuerpflichtig.
Ermittlung steuerrelevante Erträge
Typ Anmerkung Betrag
Gewinn oder Verlust 36,60 EUR
Teilfreistellung 30 % -10,98 EUR
Zu versteuern 25,62 EUR
Scalable Capital Bank GmbH HRB 217778 Geschäftsführer: Aufsichtsrat: Seite
Seitzstraße 8e Amtsgericht München Florian Prucker, Martin Krebs, Patrick Olson (Vorsitzender)
80538 München USt.-Id. Nr.: DE300434774 Dirk Franzmeyer 1 / 2
Dividende
Anfallende Steuern
Typ Betrag
Kapitalertragsteuer 6,40 EUR
Solidaritätszuschlag 0,35 EUR
Anfallende Steuern 6,75 EUR
Scalable Capital Bank GmbH HRB 217778 Geschäftsführer: Aufsichtsrat: Seite
Seitzstraße 8e Amtsgericht München Florian Prucker, Martin Krebs, Patrick Olson (Vorsitzender)
80538 München USt.-Id. Nr.: DE300434774 Dirk Franzmeyer 2 / 2
```
Die PDFs zur “Reklassifizierung einer Ausschüttung” lassen sich nicht importieren. Habe die Änderungen manuell zusammengefasst und als eine steuerliche Buchung erfasst. Bei mir ging es nur um die Aktie von realty income. Ich weiß aber nicht wie man das eigentlich richtig bucht, denn es geht um alle Dividendenzahlungen rückwirkend für ein Jahr.
Hierzu das Schreiben von scalable capital:
Anpassung der steuerlichen Behandlung von US Dividenden
in 2025 haben Sie Dividenden für US-amerikanische Wertpapiere erhalten. Nach Abschluss eines Steuerjahres passen einige US-Emittenten die Besteuerung von Dividenden des Vorjahres rückwirkend an. Um diese steuerliche Änderung für Ihre bereits ausgezahlten Dividenden abzuwickeln, werden wir in den kommenden Tagen bereits gezahlte Dividenden stornieren und mit angepasster Besteuerung auszahlen.
Bitte beachten Sie, dass nicht alle US Dividenden von einer Anpassung der steuerlichen Behandlung betroffen sind.
Die Anpassungen werden automatisch durchgeführt. Es besteht kein Handlungsbedarf für Sie.
Antworten auf häufig gestellte Fragen hierzu finden Sie in unseren FAQs.
Mit freundlichen Grüßen
Ihr Scalable Capital Team
PDFBox Version: 3.0.6
Portfolio Performance Version: 0.82.1
System: macosx | aarch64 | 21.0.5+11-LTS | Azul Systems, Inc.
-----------------------------------------
Scalable Capital Bank GmbH • Seitzstraße 8e • 80538 München • Deutschland
tCDcq KafhHiy ynfMrApPH
tjkooEygAZ 1
75347 RHOAywCCpuPqL Datum 07.04.2026
Deutschland Seite 1 / 2
Reklassifizierung einer Ausschüttung
Für 01.10.2025 - 30.09.2026
Berechtigtes Wertpapier Realty Income Corp.
ISIN US7561091049
Berechtigte Anzahl 26,358187
Ex Tag 28.11.2025
Verrechnungskonto XC16114109334762597832 (DEUTDEFFXXX)
Kontobewegung
Buchung Wertstellung Typ Betrag / Stk. Berechtigte Anzahl Gesamt
Wechselkurs
07.04.2026 08.04.2026 Gutschrift 0,09063285 USD 26,358187 2,04 EUR
USD / EUR 1,1732
Steuern -0,54 EUR
Gesamtbetrag 1,50 EUR
Ermittlung steuerrelevante Erträge
Typ Betrag
Gewinn oder Verlust 2,04 EUR
Zu versteuern 2,04 EUR
Scalable Capital Bank GmbH HRB 217778 Geschäftsführer: Aufsichtsrat: Seite
Seitzstraße 8e Amtsgericht München Florian Prucker, Martin Krebs, Patrick Olson (Vorsitzender)
80538 München USt.-Id. Nr.: DE300434774 Dirk Franzmeyer,
Andreas Schranzhofer 1 / 2
Reklassifizierung einer Ausschüttung
Anfallende Steuern
Typ Betrag
Kapitalertragsteuer 0,51 EUR
Solidaritätszuschlag 0,03 EUR
Anfallende Steuern 0,54 EUR
Scalable Capital Bank GmbH HRB 217778 Geschäftsführer: Aufsichtsrat: Seite
Seitzstraße 8e Amtsgericht München Florian Prucker, Martin Krebs, Patrick Olson (Vorsitzender)
80538 München USt.-Id. Nr.: DE300434774 Dirk Franzmeyer,
Andreas Schranzhofer 2 / 2
Das ist das “gewünschte” Verhalten, da der Importer zum Zeitpunkt des ausführens nicht weiß was er wie tun sollte.
Wie du das am Ende für dich verbuchst, ist ein kontrovers und viel diskutiertes Thema. Stichwort: Storno verbuchen.