Hyppää sisältöön

osinko ja vero-resepti

Kyllä, kohta taas on pian aika tehdä veroilmoitus. Näin nasdaqin hidasta romahdusta seuratessa (tipahtanut tänään 0.7%, mutta parhaimmillan pudotus oli yli 2%), on hyvä unohtaa maailman murheet ja valmistautua osinkoverojen ilmoittamiseen Suomen verottajalle. Niille, jotka käyttävät Suomalaista välittäjää ulkomaan sijoituksissa, tämä koko kirjoitus on turhuutta, sillä toivottavasti välittäjä tekee heille kaikki työt. Heidän tarvitsee vain vilkaista esitäytettyä ilmoitusta, että kaikki on oikein.

Tämä voi olla myös hieman rankka niille sijoittajille, jotka eivät juuri ymmärrä muusta kuin excelin käytöstä, mutta yritän seuraavan kuvauksen mahdollisemman yksinkertaiseksi. Tosin en usko tämän silti olevan helppoa luettavaa.

Mutta asiaan.

Minun perusideologiani on pyrkiä käyttämään veroilmoitukseen mahdollisemman vähän aikaa. Nykyään veroilmoitus on tehtävä käsin verottajan nettisivulle, koska kuuluisa uusi lomake 16B, on suorastaan vitsi. jos ulkomaisia osingon maksuja on useita kymmeniä vuodessa, joutuisi tekemään melkoisen pinon noita lomakkeita. Jos yhdessä lomakkeessa olisi enemmän kuin yksi kohta osingon merkintää varten, niin tulostaisin lomakkeen ulos tulostimesta ja toimittaisin sen verottajalla. Mutta 16B lomake on suorastaan vitsi.

Mutta käsin tietojen kirjaamista varten tarvitsemme realistiset osinkotiedot, joihin on laskettu valmiiksi osinko euroissa, sekä laskettu osinko tarvittaessa niin että yli 15% ulkomaisen lähdeveron haamurajan kulkiessa näyttää verotetuksi määräksi tuon 15%.

Tässä on kuitenkin esimerkki, miten tehokkaasti voi tietoa käsitellä muilla tavoilla kuin excelissä makroja ja taulukoita pyöritellä.

Esivalmistelut

Tätä EI TEHDÄ excelillä tai ehkä pienessä konversio osassa voi käyttä exceliä tai libre officea tai vastaavaa työkalua. Tarvitsemme seuraavaan harjoitukseen aivan toisen sovelluksen, joka on täysin ilmainen. Sovelluksen nimi on 'DB browser for Sqlite'. Kyseessä on hallintatyökalu pienen pieneen tiedostopohjaiseen tietokantaan. Kyseisen ohjelman voi ladata eri alustoille tätä kautta:

https://sqlitebrowser.org/

Tämä lisäksi tietenkin pitää olla vuoden osinkotiedot varastoituna etukäteen johonkin digitaaliseen formaattiin, esimerkiksi siihen excel-tiedostoon. Ja pitää olla myös tiedossa, miten paljon veroja on tullut maksettua. Omat osinkotietoni on saatavissa välittäjältä niin että osinkomäärät ja verot ovat erikseen saatavilla. Esimerkissä käydään tämä vaihtoehto läpi, koska välittäjäni kuitenkin toimii myös Suomessa.

Ja kuten totean tämä on vain yksi esimerkki, miten tämän voi tehdä - omasta mielestäni näppärästi, koska jos kaiken on kerran aloittanut ja asettanut jokaisen komennon paikoilleen, niin sqliteen voi vain lisätä ajan mukana rivejä ja tehdä tarpeen mukaan hakuja kannasta. Tämä on tavallaan pieni ohjelmoiti esimerkkikin, jonka tarkoitus on vihjaista, miten paljon voi tehdä ihan muilla työkaluilla kuin excel ja oikeasti paljon helpomminkin.

Investing.com

Investing.com on käyttökelpoinen työkalu, mikäli valuuttakursseja ei ole saatavilla muualta. Itse saan valuttakurssit välittäjän järjestelmästä, mutta mainostetaan tässä hieman Investing.comia ja otetaan kurssit sitä kautta. Teen tämän ihan mielenkiinnosta nähdäkseni, miten operaatio onnistuu. Negatiivisena puolella tässä palvelussa on rekisteröityminen. Suosittelen rekisteröitymiseen Googlea, koska tällöin palvelu ei heti kysele puhelinnumeroa. Kannattaa rekisteröityä suomalaiselle sivustolle, sillä silloin päivämäärä formaatti on siedettävä.

Tältä sivulta löytyy usd kurssi:

https://fi.investing.com/currencies/eur-usd-historical-data

Ja jotta voit ladata vuoden dollarin kurssit, pitää olla rekisteröitynyt.

/galleries/veroresepti/Usdkurssi.png

Aineistoa pitää nyt hieman käsitellä. Otamme aineistosta muutaman solukokonaisuuden pois, eli jätämme vain päivämäärä ja Viim. solut paikoilleen.

/galleries/veroresepti/kuva2.png

Tämän jälkeen tiedosto tallennetaan csv- tiedosto muodossa. Olisi hyvä tässä vaiheessa varmistaa, ettei csv erotin merkki ole pilkku vaan esimerkiksi puolipiste. Nyt avataan csv-tiedosto jollain tekstiedittorilla. Lisäksi tässä tapauksessa olisi hyvä tehdä pieni lisämuokkaus. Eli rivivaihtomerkin tilalle voisi laittaa seuraavan tekstin - oletan että puolipilkku on nyt erottimena - korvataan rivinvaihto ;"USD"n jolloin tiedostoon tulee tieto mille valuutalle tämä kuuluu. Tämä viimeinen EI ONNISTU windowsin notepadissa, joten suosittelen jonkin muun edittorin käyttämistä. Älä käytä painavia editoreita kuten word tai vastaavat, vaan Tekstiedittoreita. Jos numerokentissä on desimaali-erottimena pilkku niin korvaa toiminnolla kaikki pilkut vaihdetaan pisteiksi. Kun tämä on tehty, tiedosto tallennetaan. Nyt meillä on vuoden mitan verran US dollarin kurssitietoja. Jos tähän haluaa nyt lisätä muiden valtioiden valuuttoja, niin toisessa tiedostossa voi muuntaa haetut kurssitiedot ja lisätä valuutta tunnus, kuten lisättiin tässä esimerkissä USD.

Sqlite

Nyt avaamme DB browser for Sqlite sovelluksen. Valitaan valikosta New database. Uusissa versioissa sovellusta tässä vaiheessa ehdotetaan uuden taulun luomista. Tähän voi vastata cancel.

Mene excute sql sivulle ja kirjoita tämä CREATE TABLE Companies ( symbol TEXT,`currency` TEXT); avautuvaan ruutuun ja paina tämän jälkeen sinistä nuolta. Nyt meillä on yksi taulu, joka kuvaa yhtiöitä. Valitettavasti tässä vaiheessa joutuu tekemään käsityötä. Browse data sivulla voi täyttää tietoja painamalla new record näppäintä ja kirjoittamalla uudelle riville tietoa. Meidän tarvitsee linkittää osinkoa jakaneet yhtiöt niiden käyttämään valuuttaan. Minun omistamassani osinko-aineistossa osingomäärät yhtiön rekisteröitymismaan valuutassa - joka ei ole ole euro.

Otetaan tässä oletus, että osingoa olisi jakanut sellainen yritys kuin CONSOLIDATED COMMUNICATIONS. Lisään tämän yrityksen Sqliten tietokantaan. Yritys on Yhdysvaltalainen ja sen symbooli on CNSL.

/galleries/veroresepti/CNSL.png

Noin meillä on yritys lisättynä. Nyt tuomme USD dollarin kurssin tietokantaan. FILE-Import-Table from csv file. Valitset tallentamasi CSV tiedoston. Jos käytit CSV tiedoston erotinmerkkinä , ja se muuntui myös pisteeksi, kun tehtiin muunnosta tekstiedittorissa, niin jos csv-tiedostossa tietokentät on ympäröity lainausmerkeillä, niin importissa voi valita erottimeksi pisteen.

/galleries/veroresepti/Erotin.png

Nyt vain ok, ja meillä on uusi taulu. Tämän jälkeen tarvitaan osinkotiedot.

Osinkotiedot ja muokkausta

Tässä on kuvittellinen lista yhtiön osingoista ja niihin kohdistuvista veroista. Tämä on tallennettu csv tietodostoon, joka tuon siitä sqliteen kuten kurssitiedotkin.

"-4.65","20180201","CNSL"
"-6.04","20180501","CNSL"
"-6.04","20180801","CNSL"
"-6.04","20181101","CNSL"
"30.99","20180201","CNSL"
"40.29","20180501","CNSL"
"40.29","20180801","CNSL"
"40.29","20181101","CNSL"

Tässä vaiheessa vaihdetaan tuotujen taudujen nimiä. Mennään perusnäkymässä tuodun kurssi tiedoston nimen kohdalle, painetaan hiiren oikeaa ja valikosta valitaan vaihtoehto modify table. Vaihdetaan kurssitietojen taulun nimi ja kenttien nimet kuvan osoittamalla tavalla.

/galleries/veroresepti/muunnos1.png

Tämä jälkeen mennään Browse välilehdelle ja valitaan Rateksi nimetty taulu. Poistetaan ylin rivi.

/galleries/veroresepti/Poisto.png

Palataan takaisin Rate taulun modify table näkymään. Tehdään muunnos. Price kentän formaatiksi vaihdetaan Numeric

/galleries/veroresepti/muunnos2.png

Nyt muunnetaan tuotujen osinkotietojen taulun nimi osingoksi ja tehdään siihen muunnokset.

/galleries/veroresepti/osinko.png

Nyt meillä on kaikki valmista tiedon käsittelyä varten. Jos tämä tekisi aivan oikein olisi osinkotietoa ja muuta kurssitietoa pitänyt ylläpitää alunperin - kuten itseasiassa teen - sqlite tietokannassa. Tällöin päiväformaatti kannattaa olla muotoa 2018-01-31 eli vuodet - kuukaudet - päivät, jolloin asiat sujuvat huomattavasti yksinkertaisemmin. Mutta tämä on pika-esimerkki, miten koneellisesti voi tehdä erilaisia asioita käyttämättä exceliä mihinkään.

Tiedon käsittely

Valitettavasti tiedon käsittely voi olla aloittelijalle hieman vaikea osuus. Käsittelyssä nimittäin tarvitaan SQl- nimisen kielen tuntemusta kevyellä tasolla. En aio tässä perehdyttää asian syvemmin vaan näytän esimerkin, miten tässä melko tapauksessa asia tehdään.

Eli kirjoittamalla tämän lauseen execute sql sivulle

select o.price as 'osinkovaluutassa',
o2.price as 'verotvaluutassa',
c.currency as 'valuutta',
o.price / r.price as 'osinko euroissa',
o2.price/ r.price as 'verot valuutassa',
o2.price/o.price as 'lähdeveroprosentti',
o.price - o2.price as 'lähde veron jälkeen valuutassa',
(o.price + o2.price) / r.price as 'lähde veron jälkeen euroina'
from Osinko o
inner join Companies c on o.symbol = c.symbol
left outer join Osinko o2 on o2.date = o.date and o2.price<0 and o2.symbol = o.symbol
inner join Rate r on r.currency = c.currency and
o.date = SUBSTR(r.date,7,4)||SUBSTR(r.date,4,2)||SUBSTR(r.date,1,2)
where o.price > 0

ja painamalla sinistä nappulaa, saamme tällaisen vastauksen, josta huomaamme, että usa:n lähdeveron määrä on 15%.

/galleries/veroresepti/tulos.png

Johtopäätös.

Jos on on tallentanut omat osinkotuottonsa säännönmukaisesti talteen, niin tiedon analysointi käy hyvin yksinkertaisesti julkisia lähteitä käyttäen. Ikävä kyllä Yahoo ei anna tällä hetkellä valuuttakurssien historiallisia tietoja, mutta kuten huomasimme investing.com antaa ja mahdollisesti myös quald niminen tietojen säilytyssivusto saattaaisi antaa valuuttakurssihistorian käyttöön. En jaksa uskoa, että valuuttakurssien saaminen ilmaiseksi on oikeasti mikään este koskaan kellekään, vaikka netti on pullollaan maksua pyytäviä sivuja tämänkin suhteen. Mutta kuten sanotaan, ei ole hulluutta pyytää rahaa, vaan ennemmin maksaa turhaan. Yllä mainitun operaatin tekeminen kesti muutaman minuutin. Jos muuntaa käsin kurssitietoja verottajaa varten, niin joutuu käyttämään paljon enemmän aikaa ja vaivaa. Laskenta kannattaa aina automatisoida, eikä koskaan tehdä käsin itse.

Kommentit

Comments powered by Disqus