Degiro välittäjänä

Hämärä case. Varmaan joku bugi. Exportissa autofx kulut ei ole mukana, vaikka näkyvät websivulla ruudulla. Kantsii laittaa tukeen valitusta, mitä useampi valittaa sen todennäköisemmin jotain tapahtuu.

Hätä korjauksena voi ruudulta onneksi maalata taulukon ja kopioda sen Exceliin. Menee nätisti omiin soluihin, mutta taistelu jatkuu, koska excel ei halua tajuta noita numeroiksi. Eli pitää poistaa Euromerkit ja ottaa talteen oikea valuutta toiseen kenttään jne.

1 tykkäys

Sama homma oli jo viime vuonna. Ja vuositiliotteella vielä oikein erikseen lukee, pienellä präntillä, että “Näytetyt palkkiot eivät sisällä valuuttakuluja.” Erikoista. No, kai se kuluraportti joskus tulee.

1 tykkäys

Kävin läpi näitä valuutanvaihtokuluja tiliotteen exportista. Eikö autoFX-kulut ole sisällytetty kursseihin? Manuaalisten vaihtojen kulut pitää vielä itse kaivaa ennen kuin Degiro suvaitsee meitä koosteella siunata.

.xls-muotoisessa exportissa man. vaihdot näkyvät niin, että sarakkeessa D on EURUSD suunnasta riippumatta, ja sarakkeessa F on tapahtuman laji (FX Kredit tai FX Debet). On hyvä lajitella tiedot D-sarakkeen mukaan, niin löytyvät helpommin.

Kulujen laskemiseksi näihin tietoihin sitten käytetään seuraavanlaista kaavaa:

=JOS(F3="FX Debet"; ((I3*(-1)*G2-I2)/(G2+0,0025)+10);JOS(F3="FX Kredit"; (((-1)*I2-I3*G2)/(G2-0,0025)+10);""))

Sarakkeessa G oleva valuuttakurssi on Degiron oma, eli siinä on oikeasta kurssista tapahtumasta riippuen joko vähennetty tai lisätty 0,25 %yks. Kaava laskee kulun dollareina, joka sitten muunnetaan oikean (degirosta korjatun) kurssin mukaan takaisin euroiksi, ja saa päälle vielä 10 euron kiinteän kulun. Kaava tuottaa höpöhöpölukemia tietysti oikeiden lukemien viereisille riveille, mutta ne on helppo erottaa joukosta. Ei jaksanut enempää jossitellen muotoilla kaavaa. :slight_smile:

Toivottavasti tästä on apua kulujen haravoinnissa. Transaktio-näkymässä ei miulla näy manuaalisia vaihtoja, mutta autoFX-kulut on sisällytetty lopullisiin summiin.

1 tykkäys

Degiron hinnaston sivulla 8 mainitaan kohdassa foreign currency, että fee 0,25% included in buy/sell transactions, koskien sekä autoFX että manual kohtia.

Ymmärtäisin, että valuuttakulut ovat siten jo uitettuna noihin osto/myyntitapahtumien euromääräisiin summiin. Linkki hinnastoon löytyy jo tuolta vähän ylempää…

1 tykkäys

Joo, näin on. Itse ymmärrän sen niin, että se sisältyykin manuaalin osalta valuuttojen itsensä osto- ja myyntitapahtumiin. Kun manuaalinen valuutanvaihto on päällä, dollareilla ostettaessa rahathan lähtevät ensiksi USD-tililtä. Palkkio, vaikka 1 euro, lähtee sitten eurotililtä. Tavallaan näin ajatellen manuaalinen valuutanvaihto on vielä kannattavampaa, mikäli vaihdetulla summalla saa “liikevaihtoa” sen arvoa enemmän. Toki päälle tulee myös valuuttakurssien myötä- ja vastatuuli.

Silkkaan EURUSD hedgaamiseen parempi vaihtoehto kulujen ja, otaksun myös, verotuksen osalta voisi olla vaikka PIMCOn rahasto MINT (Milanosta löytyy). Itsellä vielä custody-tili, niin vaihtoehdot sikäli vähissä.

Degiron hinnat senkuin jatkavat nousua.

US-osakkeiden hinta nousee hintaan 2 e/kauppa (oli 1 e/kauppa).
ETFt kallistuvat. Ydinvalikoima 1 e/kauppa, muut 3 e/kauppa.

Voi olla muitakin nostoja. En katsonut tarkkaan.

Uusi hinnasto:

Tiuhaan kyllä nostavat hintoja.

4 tykkäystä

En kyllä keksi syytä jatkaa tällä välittäjällä. Eivät onnistu edes maksamaan osinkoja ajoissa… kyllä se vaan kannattaa maksaa laadusta ja veroraportoinnista. Mitä ****** koko Degiro.

1 tykkäys

Itsekin siirsin melkein kaiken pois Degirosta. Suurin syy oli että lopetin vivun käytön (ainakin hetkellisesti) ja kallistunut limitti. Ärsytystä aiheuttaa myös se, että pitää itse kaivaa tiedot verottajalle Degiron rapsoilta. Käytän Degiroa enää silloin, kun en saa osaketta/etfää muualta.

Toi limittitilin käytön helppous oli jotain, mitä toivoisi muiltakin välittäjiltä. Napista päälle ja hanaa.

1 tykkäys

Mutta eivät ole. Verratkaa Transactions-sivulta löytyvää myyntitapahtuman loppusummaa ja exportattujen transaktioiden loppusummaa. Transactions-sivulla näkyy 0,25% valuutanvaihtokulu joka vähennetään jokaisen myynnin loppusummasta, mutta jos transaktiot exporttaa, valuutanvaihtokulu ei tule mukaan, ja jokaisen myynnin loppusumma on 0,25% korkeampi. Sama juttu vuositiliotteella, kohdat “voitot yhteensä” tai “palkkiot” eivät sisällä valuutanvaihtokuluja, eli Degiron raportteja käyttämällä tulee helposti maksaneeksi verot 0,25% liian suurista voitoista. Eihän tuo paljon ole, mutta kuitenkin ärsyttää ettei välittäjä osaa raportoida, mitä maksuja on minulta perinyt.

Kai se on vaihdettava IBKR:ään täälläkin, vaikka Degirolla edelleen kaupankäyntiluotto taitaa olla hieman edullisempaa (ainakin allokoitu).

2 tykkäystä

Totta, näyttäisi olevan juuri niin kuin sanoit. Ei ole moista tullut huomattua. Miten olet itse hoitanut nämä verotukseen mukaan, vaiko mitenkään? Oletko tehnyt verotukseen oikaisuvaatimuksia menneiltä vuosilta sitä mukaa kun Degiro suvaitsee vuotuisia kuluraportteja julkaisemaan? Nehän tulee yleensä todella myöhään, muistanko väärin, joskus syksyisin yleensä?

Onneksi irtaannuin Degirosta jo maaliskuussa 2022 :heavy_check_mark: Tämä rapsa pitää enää verottajalle raapia kasaan :+1:

1 tykkäys

2022 oli ensimmäinen vuoteni Degiron asiakkaana, eli aiemmin ei ole tarvinnut näitä selvitellä. 2023 taitaa jäädä viimeiseksi :slight_smile: Tein nyt niin että exporttasin transaktiot Exceliksi, järjestin valuutan mukaan niin että sain euromääräiset pois koska niiden kulut on tietääkseni jo vuositiliotteella oikein, laskin muista kuin euromääräisistä Excelissä tuon 0,25% valuutanvaihtokulun ja syötin sen käsin veroilmoitukselle kuluina. Sen lisäksi sitten ne Degiron vuositiliotteella näkyvät voitot/tappiot ja kulut ja liitteeksi se vuositiliote. Jos verottaja kyselee lisädokumentteja näistä niin toivottavasti vasta sitten kun Degiro toimittaa sen kuluraportin.

2 tykkäystä

Helpointa on kirjata jokaisen oston ja myynnin yhteydessä omaan kirjanpitoon kaikki tarpeelliset kuten osto- ja myyntikulut.
Sen jälkeen tuon raportin voi sellaisenaan (tai siistittynä) laittaa verotukseen liitteeksi.

3 tykkäystä

ChatGPT:n avustuksella tein funkkarit jotka pilkkovat jokaisen osakkeen transkatiot omalle sheetille. Toinen funkkari sitten laskee voiton/tappion per sheetti ja koostaa erillisen yhteenvetosheetin missä jokainen osake ja sen kaupoista tullut voitto tappio. Laskien ne verottajan haluamalla FIFO tavalla. Pistin tohon alle. Käytännössä noille kahdelle funktiolle voi tehdä Google Sheettiin napit, jota painamalla ne saa ajettua aina halutessaan.

Tämä siis ottaa sisään copy-pasten tuosta webbisivusta, joka menee suoraan Google Sheettiin.

@meta_meta_aly Et siis raportoinut tappiota per osake kuten verottaja kai jossain vaatii? Useinhan he eivät jaksa pikkusijoittajilta kaikkia kuluja kuulustella, jos rehellisen näköiset dokumentit on matkassa. Eli periaattessa tämä mun virittäminen turhaa. Toki opinhan tässä, että ChatGPT:n avulla pystyn tekemään JavaScript makroja Google Sheettiin. Hiukan riitelyä se kyllä vaati ja joku bugi piti ihan manuaalisestikin korjata. Silti paljon nopeampaan kuin ilman.

Alla kuva yhdestä rivistä josta näkyy miten sarakkeet on laitettu ja koodi.

EDIT: Korjattu bugi. Käytti vahingossa alkuperäisen valuutan saraketta. Vaihdettu J → K

function createSheetsForStocks() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var masterSheet = ss.getActiveSheet(); // Assumes the master sheet is the active sheet
  var numRows = masterSheet.getLastRow() - 1; // Subtract 1 to exclude header row
  var numCols = masterSheet.getLastColumn();

  // Get header row
  var header = masterSheet.getRange(1, 1, 1, numCols).getValues()[0];

  // Get stock transaction data
  var data = masterSheet.getRange(2, 1, numRows, numCols).getValues();

  // Create a dictionary with stock names as keys and their transactions as values
  var stocks = {};
  data.forEach(function (transaction) {
    var stockName = transaction[0];
    if (!stocks[stockName]) {
      stocks[stockName] = [];
    }
    stocks[stockName].push(transaction);
  });

  // Create separate sheets for each stock and copy the transactions to the new sheets
  var stockSheets = [];
  for (var stockName in stocks) {
    var stockSheet = ss.getSheetByName(stockName);
    if (!stockSheet) {
      stockSheet = ss.insertSheet(stockName);
    } else {
      stockSheet.clear(); // Clear the sheet if it already exists
    }

    // Set the header row in the new sheet
    stockSheet.getRange(1, 1, 1, numCols).setValues([header]);

    // Reverse the order of transactions and write them to the new sheet
    var transactions = stocks[stockName].reverse();
    transactions.forEach(function (transaction, index) {
      stockSheet.getRange(index + 2, 1, 1, numCols).setValues([transaction]);
    });

    // Auto-resize columns for better readability
    stockSheet.autoResizeColumns(1, numCols);

    stockSheets.push(stockSheet);
  }
}
function calculateProfitLoss() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var masterSheet = ss.getActiveSheet(); // Assumes the master sheet is the active sheet
  var sheets = ss.getSheets();
  var profitSheet = ss.getSheetByName("Profit");

  // If the Profit sheet doesn't exist, create it
  if (!profitSheet) {
    profitSheet = ss.insertSheet("Profit");
  } else {
    // Clear the entire Profit sheet
    profitSheet.clear();
  }

  // Set the header row on the Profit sheet
  profitSheet.getRange(1, 1, 1, 2).setValues([["Stock", "Total Profit/Loss"]]);

  sheets.forEach(function (sheet, sheetIndex) {
    if (sheet.getName() !== masterSheet.getName() && sheet.getName() !== "Profit") {
      var numRows = sheet.getLastRow() - 1; // Subtract 1 to exclude header row
      var transactions = sheet.getRange(2, 1, numRows, 15).getValues();
      var buyQueue = [];
      var totalProfitLoss = 0;

      transactions.forEach(function (transaction, index) {
        var units = transaction[6]; // Column G
        var totalValue = transaction[10]; // Column K (changed from column O)
        var profitLoss = 0;

        if (units > 0) { // Buy
          buyQueue.push({
            units: units,
            cost: totalValue / units,
          });
        } else { // Sale (units are negative)
          var remainingUnits = -units;
          var saleValue = totalValue / Math.abs(units);

          while (remainingUnits > 0 && buyQueue.length > 0) {
            var buy = buyQueue[0];
            var unitsToSell = Math.min(buy.units, remainingUnits);
            profitLoss += unitsToSell * (saleValue + buy.cost); // Changed - to + since buy.cost is negative

            buy.units -= unitsToSell;
            remainingUnits -= unitsToSell;

            if (buy.units === 0) {
              buyQueue.shift();
            }
          }
        }

        // Write the profit/loss value to column P
        sheet.getRange(index + 2, 16).setValue(profitLoss);
        totalProfitLoss += profitLoss;
      });

      // Write the stock name and total profit/loss to the Profit sheet
      profitSheet.appendRow([sheet.getName(), totalProfitLoss]);
    }
  });

  // Auto-resize columns for better readability
  profitSheet.autoResizeColumns(1, 2);
}

6 tykkäystä

Tää on kyllä niin outoa ja raivostuttavaa, ettei transaktioiden export-taulukkoon tule valuutanvaihtokuluja! Mulla on 900 tapahtumaa, joten lasken kokonaisvaihdosta 0,25% ja laitan muihin pääomakuluihin. Jos tässä alkaa välittäjän vaihtoa miettimään, niin minkälaiset kulut IBKR:llä on?

Halvimmat ja halvemmat.

  • USA-kaupat alkaen $0.35/kauppa. Hinnoittelu on suht monimutkainen, mutta se monimutkaisuus ei juuri vaikuta piensijoittajan loppulaskuun. Senttiosakkeiden kanssa kulut voivat nousta, jos jostain syystä sellaisia ostelee.
  • Valuutanvaihto $2/vaihto aina $100k:hon asti
  • Ei kk-kuluja.
  • Laaja markkinavalikoima.

Miinuksina:

  • verotus tehtävä itse ja raportit eivät suoraan anna Suomen verottajan haluamaa dataa. Tämä on joillekin ongelma, joillekin ei. Mutta “suunnilleen”-rapsan saa aika helposti.
  • käyttöliittymä kauhistus alussa. Aika vanhanaikainen ja insinöörimäinen. Mutta toimii oikein hyvin eikä haittaa normikäytössä lainkaan.
2 tykkäystä

toisaalta IBKRn mobiilikäyttöliittymä on aivan loistava ja sen antamalla informaatiolla pärjää paremmin kuin hyvin.

4 tykkäystä

Degirossa Autofx ei näköjään enää toimi osinkojen kanssa. Osingon kilahtaessa Degiro pulittaa välitysmaksut. O.O

Jos tarkoitat noita kahta alempaa riviä, niin ne eivät käsittääkseni ole valuutanvaihtokuluja, vaan vain Degiron sisäistä byrokratiaa, kun Degiro-rahaa siirretään flatexDegiro -pankin rahaksi. Tuon keskimmäisen rivin lopussa pitäisi flatexDegiro-pankin saldo olla kasvanut tuolla 5.51 € summalla, joka siis sinne siirrettiin ilman mitään kuluja.

Itselläni Autofx kyllä toimii ja toki siitäkin aina pieni hinta menee kuten kuuluukin.

1 tykkäys

Joo oikeassa olet. Nyt tänään nuo rivit olivat korjaantuneet ja Autofx vaihtanut euroiksi normaalisti.

Toinen homma on sitten se, että vähän pohdiskelin syytä miksi olet mahtanut ostaa Shellit ADR:nä. Ostin itse Amsterdamin pörssistä, vaikka toki olisi voinut ostaa myös Lontoosta. Syynä se, että minulla on muutakin AMsterdamista niin ei turhaan mennyt uutta pörssin perusvuosimaksua, kun ei ole Lontoosta muuta.

2 tykkäystä