PDF-Import von BSDEX (Börse Stuttgart Digital Exchange)

Siehe PDF-Import von BSDEX (Börse Stuttgart Digital Exchange) - #6 by Nirus

Das ist genau dieses Thread!

Richtig. Und wie lässt sich jetzt dein Fall reproduzieren ohne Debug? Bei den vorhandenen Daten kommt Bitcoin heraus.

Das Problem ist, dass die Zeilen bei der Konvertierung des PDFs wohl nur teilweise in mehrere Zeilen aufgeteilt werden (je nach Länge?). In meinen files war das immer der Fall, aber anscheinend ist es bei dir anders und somit hatte die initiale Version für dich für die aktuelleren Jahre im Gegensatz zu meinen nicht funktioniert. Aber @Nirus hat sich ja direkt drum gekümmert und es angepasst :clap:

Das gleiche Problem hatte ich auch, aber zum Einen kannst du das Wertpapier manuell beim Import umstellen. Da das aber umständlich ist, hatte ich nochmal genauer geschaut und festgestellt, dass ich bei meinen Krypto Assets die Kurste nicht von CoinGecko geholt habe und es somit nicht eindeutig zugeordnet werden konnte, weil “BTC” nun mal häufiger existiert (z.B. Bitcoin und batcat).
Versuch es mal so einzustellen und prüfe ob der Import dann das korrekte Asset findet:

Beim Import der BSDEX Transaktionshistorie werden Auszahlungen von Nicht-EUR-Assests im Verrechungskonto Entnahme in EUR erfasst. Ebenso verhält es sich mit Einzahlungen von Nicht-EUR-Assets, die als Einlage in EUR erfasst werden. Lässt sich das irgendwie lösen?

Zudem fände ich gut, wenn bei Einzahlungen der Wert der Spalte „Sender“, bei Käufen der Wert von „ID“ und bei Auszahlungen der Wert von „Empfänger“ in die Notiz importiert werden.

Hi, Danke für den Tip. Das funktionioniert auch soweit ganz gut so lange du CoinGecko als Kurslieferant hast bzw. im Symbol BTC hast und die CoinGecko ID bitcoin lautet.

Wenn du allerdings auf Kraken wechselst, gibts dort keine zusätzliche Kraken ID in der ich BTC/EUR einschreiben kann und das Symbol auf BTC lassen könnte.

Das heißt:

  1. ich schreibe für Kraken unter Symbol BTC/EUR ein
  2. Beim nächsten Import von PDF Dateien mit erkanntem BTC symbol in der Quelldatei, gibt es wieder kein match zum einem Wertpapier in PP und es erfolgt der default lookup in der CoinGecko CoinListe… wo dann mit FindFirst wirde batcat statt bitcoin ausgespuckt wird.

Da ich das gleiche bei meinem BISON Importen habe, hier mal eine Erkenntnis dazu:

Frage 2: Woher kommt der Name „batcat"?

Der Pfad ist: BisonPDFExtractor → getOrCreateCryptoCurrency(“BTC”) → lookupCoin(“BTC”) →
CoinGeckoSearchProvider.getCoins() → .findAny().

var candidate = coins.stream()
.filter(c → c.getSymbol().equalsIgnoreCase(tickerSymbol))
.findAny(); // ← kein findFirst(), kein Ranking

CoinGecko’s /api/v3/coins/list liefert alle Coins alphabetisch nach interner ID. Es gibt auf CoinGecko
einen Meme-Coin namens „Bat Cat" mit Symbol btc (bewusst wie Bitcoin benannt). Dessen ID bat-cat liegt
alphabetisch vor bitcoin. .findAny() in einem sequenziellen Stream gibt das erste Treffer-Element zurück
— das ist in diesem Fall „Bat Cat", nicht Bitcoin.

Deshalb bekommt das Wertpapier den Namen „batcat" statt „Bitcoin".

Das ist ein echter Bug im Extractor: lookupCoin sollte für bekannte Symbole wie BTC nach der CoinGecko-ID
“bitcoin” suchen statt nur nach dem Symbol, oder .findFirst() mit expliziter Priorisierung verwenden.

@Nirus : Könnt ihr euch das ggf. bitte mal anschauen? mir Fallen auf Anhieb zwei Alternative ein:

  1. evtl. könnte man für den Abgleich neben dem Symbol auch die ISIN oder WKN nutzen.
  2. könnte man ggf. für Kraken als Kurslieferant auch ein zusätzlich Feld ID nutzen, analog coingecko id, sodass ich im Symbol BTC stehen lassen kann.
  3. evlt. weitere oder andere Anpassung für den “DefaultLookup”, aber ich glaub das macht es unnötig kompliziert…..