&Allan.Anderson; &Allan.Anderson.mail;

# CSV importimise plugin

## CSV-failide importimise põhjused

Üldiselt on eelistatav importida OFX Kuid mitte kõik rahandusasutused ei paku selles vormingus andmeid. CSV- ehk komaga eraldatud väärtuste failid seevastu on peaaegu alati saadaval (mõnikord nimetatakse neid ka Excel- või tabeltöötlusfailideks). Samuti saab neid tavaliselt üpris vähese vaevaga luua, kogudes andmed, mida soovid importida, näiteks tekstifaili ja neid käsitsi redigeerides.

Plugina peamine siht on importida pangaväljavõtete andmeid, kuid see suudab importida ka investeerimisväljavõtteid. Enne CSV importimise pluginaks saamist oli see mõeldud QIF-failide loomiseks CSV põhjal, mida seejärel saaks importida. See on ka praegu võimalik, aga tõenäoliselt see omadus peatselt eemaldatakse, sest nüüd on tähelepanu keskmes ainult CSV-failide importimine. Samuti pakub &kappname; loomupäraselt võimalust eksportida QIF-faile, mistõttu puudub eriline mõte luua QIF-faile CSV-failide põhjal.

## Plugina hankimine

&kappname; suudab importida CSV-faile. Selle tagab vastav plugin, mis nüüdseks on sisse ehitatud tuumikprogrammi nii lähtekoodis kui ka distributsioonide pakutavates tarkvarapakettides. Kui distributsiooni pakett on paigaldatud või lähtekoodifailid kompileeritud ja paigaldatud, ilmub võimalus CSV-faile importida automaatselt menüüsse Fail Import all.

CSV importimise plugin on palju uuem kui OFX plugin, aga enamik distributsioone on nüüdseks rakenduse ehitanud nii, et plugin on kas juba sisse ehitatud või vähemalt saadaval eraldi tarkvarapaketina. Kontrolli, et see oleks &kappname;s sisse lülitatud. Uuri dialoogi Seadistused KMyMoney seadistamine Pluginad. Kui tundub, et CSV importimise pluginat ei ole süsteemi paigaldatud, otsi seda kõigepealt samast kohast, kust paigaldasid &kappname; põhipaketi. Vaata, ega saadaval pole uuemat versiooni või importijat eraldi paketina.

Kui oled paigaldanud RPM- või Deb-paketi, peaks CSV importimise plugin olema &kappname; paketiga juba kaasas. Kui oled ehitanud ise lähtekoodist, ei ole mingeid erinõudmisi. &kappname; ehitamisel peaks plugina lähtekood tuvastatama ja see kompileeritama.

## CSV-faili importimine

CSV-faili importimiseks vali menüükäsk Fail Import CSV... Kui alammenüüs Import puudub CSV, ei ole järelikult CSV importimise plugin korrektselt paigaldatud. Uuri sel juhul eelmist osa.

CSV importimise plugin kujutab endast nõustajat, millel on iga importimise sammu jaoks eraldi lehekülg. Käesoleva käsiraamatu teksti, ekraanipiltidel nähtava ja tegelikus nõustajas leiduva sõnastuse vahel võib esineda mõningaid erinevusi. Sel juhul kirjeldab käsiraamat seda, milline näeb välja nõustaja järgmine versioon.

### CSV importimise nõustaja: algus

Käivitumisel näitab CSV importija sissejuhatuse lehekülge. Ülemine osa, kus näidatakse andmeid, on algul tühi. All vasakul on näha importimise sammud, kusjuures aktiivne on esile tõstetud. Sellest paremal leiab lühidalt tegutsemisjuhendi ja kaks raadionuppu, mille valikuks on Pangatehingud või Investeering. Edasi asub profiilivalija kast, mida saab kasutada siis, kui valitud on üks raadionupp. Päris all on nupud, mille abil saab liikuda nõustaja järgmisele lehele, minna tagasi eelmisele sammule või loobuda importimisest. Avasammul on ka nupp Vali fail, mis võimaldab valida importimiseks faili.

Pane tähele ka märkekasti Häälestamine jäetakse vahele. Esimesel korral ei peaks seda märkima. Kui oled juba profiili paika pannud ja nõustaja korra läbi teinud, salvestatakse kasutatud parameetrid ressursifaili. Kui järgmine kord sama profiili kasutad, laaditakse parameetrid kasutajaliidesesse.. Niisiis liigub nõustaja sel juhul läbi lehekülgede, mis juba sisaldavad infot, mida ilmselt pole tarvidust muuta. Nii et kui oled profiiliga rahul, siis on mõttekas see kastike ka ära märkida. Nõustaja liigub sel juhul otse viimasele leheküljele ja eeldades, et ühtegi probleemi ei leitud, võid piirduda klõpsuga nupule Impordi.

Kõigepealt vali kas Pangatehingud või Investeering, seejärel klõpsa profiilivalija kastile, kus seisab kiri "Uue profiili lisamine". Kui oled juba varem profiile loonud, võid valida nende seast, vastasel juhul kirjuta uue profiili nimi, milleks võib olla näiteks konto nimi, millesse soovid importida. Kui oled uue profiili nime kirja pannud, vajuta &Enter; selle loomiseks. Seejärel klõpsa nupule Vali fail, mille järel ilmub tavaline faili valimise dialoog, kus saadki valida CSV-faili, mida soovid importida.

### CSV importimise nõustaja: eraldajad

Nõustaja liigub nüüd lehele Eraldajad, kus on juba näha ka sinu andmed.

Võib tunduda, et nõustaja akna ülaosas näidatavaid kirjeid saab muuta - ja tõepoolest, neid saabki, kuid muudatusi ei salvestata. Nende näitamine on puhtalt teadmiseks, mitte muutmise pakkumiseks. Plugin ei muuda kunagi mingil moel sisendfaili ning imporditakse andmed sisendfailist, mitte need, mida muutmise korral näeb. Ainukesest erandist kõneleb allpool osa Väärtpaberid ja sümbolid.

Plugin peaks tuvastama sobiva välja eraldaja ning tavaliselt ei olegi midagi muud võimalik valida. Kui seda siiski üritad, lähtestab see kõik muud väljadega seotud valikud, mida oled juba teinud. Samuti saab valida teksti eraldaja, kuid enamasti sobib siia jutumärk ("). Nüüd klõpsa Edasi. Sõltuvalt varasemast valikust satud kas pangatehingute või investeeringu lehele.

### CSV importimise nõustaja: pangatehingud

Sellel leheküljel saab valida veergude numbrid, millest importida vajalikud väljad.

Enamiku väljade puhul saab kasutada rippmenüüd sobiva veeru valimiseks. Kuid siin tuleb arvestada mõne asjaoluga.

- Keskel paikneb kaks raadionuppu. Kui sinu failis on üks veerg kõigi väärtuste jaoks, vali koguseveerg. Kui aga deebeti ja kreediti jaoks on eri veerud, vali Deebeti/kreeditiveerg. Neist ühe valimisel saab kasutada vastavalt valikuid Kogus või Deebet ja Kreedit.

- Memoväljale võib mitme valikuga valida ka mitu veergu. Juba valitud memoveerge näeb rippmenüüs tärniga. Kui valida sel moel mitu veergu, siis ühendatakse nende sisu memoväljal.

- Kui üritad valida kahele väljale sama veergu, hoiatab plugin sind ja puhastab mõlemad valikud. Soovi korral võib siiski kasutada sama veergu nii maksesaaja/kirjelduse kui ka memo väljade puhul. Kui valida veerg väljale Maksesaaja/kirjeldus ja siis sama veerg väljale Memo, saad samuti hoiatuse, et valitud on ühesugused veerud, kuid sinu käest päritakse, kas soovid nii jätkata. Kui soovid, klõpsa Jah.

- Üks spetsiifilisi põhjusi kasutada maksesaaja/kirjelduse väljaga sama veergu ka memoväljal on see, et failist leitav maksesaaja/kirjelduse veerg võib impordil täielikult muutuda, kui &kappname; tehinguid sobitab. Sama veeru valimine memoväljale säilitab sel juhul andmed, mis muidu kaotsi võiksid minna.

Kui paned tähele, et oled teinud väära valiku, muuda lihtsalt valikut. Kui pead tegema mitu muutust, võid klõpsata nupule Puhasta.

Kui kõigile vajalikele väljadele on veerud valitud, saab kasutada nuppu Edasi, mis viib nõustaja järgmisele lehele.

### CSV importimise nõustaja: investeering

See leht sarnaneb lehele Pangatehingud, on aga pisut keerulisem. Enamik valikuid on endastmõistetavad, aga mõned võivad siiski jääda segaseks vähemalt seni, kuni oled protsessi korra-paar läbi teinud.

- Nagu lehel Pangatehingud saab memoväljale valida ka mitu veergu.

- Valikuga Tüüp/toiming saab valida veeru, milles on kirjas toimingu tüüp, näiteks ost, müük, dividend vms.

- Valikuga Hinna jagunemine saab määrata kordaja imporditavate ja salvestatud hindade ühildumise huvides. Kui näiteks importfailis on hinnad sentides, kuid sinu &kappname; konto hinnad dollarites, vali 0,01. Kui aga &kappname; andmefailis on hinnad dollarites ja samamoodi on imporditavas CSV-failis, siis vali hinna jagunemiseks 1,0.

- Valikut Lisatasu veerg läheb vaja siis, kui failis on eraldi veerg lisa- ja teenustasude jaoks. Pane aga tähele, et lisatasu võidakse arvestada hinna sisse. Kui lisatasu peaks olema protsendina, mitte kindla väärtusena, märgi ära kastike Lisatasu on protsent. Pane tähele sedagi, et see on ainuke valik, mille nimes on otseselt sees "veerg", mis rõhutab just seda, et see on mõeldud lisatasu veeru, mitte tegeliku lisatasu jaoks.

- Veeruvalijatest allpool on kaks ala väärtpaberi tuvastamiseks. Sõltuvalt maaklerist või rahaasutusest võib sinu fail sisaldada kirjeid ainult ühe või ka mitme väärtpaberi kohta.

  - Kui failis on ainult ühe väärtpaberi tehingud, kusjuures selle nimi võib kergesti olla päisereas, tuleks see nimi sisestada kasti Väärtpaberi nimi. Sisestatud nimi lisatakse rippmenüüsse, kust seda saab edaspidi juba valida. Sul võib aga tekkida hiljem soov see nimekirjast eemaldada. Sellisel juhul vali see ja klõpsa nupule Peida väärtpaber. See eemaldab nime ainult nimekirjast ega mõjuta kuidagi &kappname; põhifaili.

  - Kui failis on mitme väärtpaberi tehinguid, tuvastatakse neid kõiki sümboliga kindlas veerus ning lisateabega teises veerus. Vali need veerud valikutega Sümbol ja Üksikasjad. Võib juhtuda, et väärtpaberil ei ole sümbolit, millisel juhul võidakse leiutada pseudosümbol. See ei ole probleem, kuni see ainulaadselt tuvastab väärtpaberi importfailis. Mõnikord leidub üksikasjade veerus ka tegevuse tüüp, millele võib ette olla lisatud standardne tekst. Kui näiteks väljal seisab type: dividend, kirjuta kasti Filtreeritakse tekst type: (pane tähele ka lõpus olevat tühimärki).

Kui kõik vajalikud väljad valitud, saab kasutada nuppu Edasi, mis viib nõustaja järgmisele lehele.

### CSV importimise nõustaja: read

Sellel lehel saab määrata, kas eirata mõningaid ridu faili alguses või lõpus. Samuti saab määrata kuupäevaveergude vormingu.

#### Algusrida

Selle määramisel jätab importija faili alguse read (näiteks päiserea) vahele. Sinu valik salvestatakse profiili tulevaseks kasutamiseks. Algus- ja lõpprida on selles mõttes seotud, et algusrida ei saa olla suurem kui lõpprida. Kui algusrida ei saa valida, uuri lähemalt, milliseks on määratud lõpprida.

#### Lõpprida.

Importija määrab selle automaatselt faili viimasele reale või siis viimati määratud reale. Seda on vaja muuta ainult siis, kui failis on jaluseridu, mida importija peaks eirama. Vastasel juhul võid usutavasti saada andmetõrke hoiatuse, kui plugin üritab parsida ebakorrektseid andmeid. Ka siin tasub öelda, et kui lõpprida ei saa valida, tasub lähemalt uurida, milliseks on määratud algusrida.

#### Kuupäevavorming

See peab vastama aasta, kuu ja kuupäeva järjestusele faili kõigis daatumites. Kui plugin leiab määranguga sobimatuid andmeid, teatatakse sellest, kui proovid importida. Kui aga määrang on vale, kuid ei tekita vigaseid tulemusi (näiteks kui andmetes ei esine päevi suurema väärtusega kui 12, võivad kuud ja päevad segi minna), siis saad lihtsalt väärad andmed, sest plugin ei oska mõista, et tegid vea. See on selgelt näha alles pärast importi pearaamatus.

Kui kõik on tehtud, saab kasutada nuppu Edasi, mis viib nõustaja järgmisele lehele.

### CSV importimise nõustaja: väärtpaberid ja sümbolid

Investeeringufaili korral tuleb pärast lehekülje Read täitmist kontrollida, et igale faili väärtpaberile vastaks korrektne väärtpaber sinu &kappname; failis, muidu ei saa import jätkuda. Nimelt ilmub uus aken, mis näitab importfailis leiduvaid väärtpabereid ja sümboleid. Pane tähele, et erinevalt nõustaja peaaknas näidatavatest andmetest imporditakse siin ka kõik sinu tehtud muudatused.

See lehekülg ei tohiks suurt vaeva valmistada, kui pidada silmas järgmisi asju:

- Iga rida tähistab üht tehingut, mistõttu võib juhtuda, et esineb topeltridu. Sellest pole midagi.

- Iga väärtpaberi nimi peab täpselt sobima kokku olemasoleva väärtpaberiga &kappname;s. Kui see ei sobi, luuakse see uue väärtpaberina, mis ei ole usutavasti soovitatav, kui see just ei tähendagi uue väärtpaberi ostmist.

- Igal väärtpaberil peab olema sümbol.

- Ainus informatsioon sellel lehel peaks olema väärtpaberi sümbol ja nimi. Kogu muu algselt näidatud teave (näiteks kuupäev või tegevuse tüüp) on importfailis endiselt olemas, aga seda ei peaks siin näidatama.

Sümbolit või väärtpaberi nime saab muuta lahtril topeltklõpsu tehes. Iga väärtpaberi puhul muuda selle nime vajaduse korral vastavas reas. Kui importfailis esineb korrektne väärtpaberi nimi, vali see topeltklõpsuga ning seejärel kopeeri ja aseta või ka muuda, pidades silmas näiteks seda, kui oled &kappname;s kasutanud mõnda varianti või lühendit. Väärtpaberi nime muutes rakendatakse muutust kõigile sama sümboliga ridadele.

Iga rida ilma sümbolita peetakse vahendustehingu tüüpi kirjeks. Kui tehing sisaldab mõnda muud kontot, &eg; arvelduskontot või vahendustehingute kontot, kuhu laekuvad dividendid või kust tehakse makseid., ilmub teatekast konto nimega, mis sisestatakse ülekandena. Tavaliselt on see vahendustehingu konto, mille oled valinud või loonud investeerimiskonto loomisel. Samamoodi tuleb vajaduse korral sisestada maksesaajat sisaldav veerg. Kui konto nime sisestamisel on tekkinud viga, import jätkub, kuid &kappname; ei tunne seda ära ning märgib tehingud vigaseks, kuna neile pole kategooriat omistatud. Kui nõutava konto nimi on väga pikk, piisab, kui sisestada selle algustähend. Import jätkub, kuid &kappname; märgib tehingud vigaseks, kuna neile pole kategooriat omistatud, ning sa pead pärast importi valima õige ülekandekonto. Kui oled valmis, klõpsa OK. Importimine läheb siis taas &kappname; kätte.

Kui ühe väärtpaberiga on seotud mitu tehingut, saab neid mitmikvalikuga korraga muuta. Näitekes sümboli lisamiseks mitmele reale vajuta alla klahv Ctrl ning vali sümboliveerus kõik vajalikud tehingud. Jätkuvalt klahvi Ctrl all hoides on nüüd valitud kõik sümbolilahtrid, nii et klõpsa ühele neist ja sisesta sümbol. Seejärel klõpsa aknas veerust väljaspool või vajuta Enter (mitte OK). Nüüd, kus tehingutel on üks ja sama sümbol, tee ühe neist üksikasjade kirjel topeltklõps ja muuda vastavalt vajadusele väärtpaberi nime. Muudatuse rakendamiseks klõpsa aknas kuhugi mujale (või vajuta Enter), misjärel muudetakse korraga kõiki kirjeid. Ülejäänud kirjed näitavad sümboleid, mis leiti importfaili tehingutest.

Nüüd klõpsa OK ja siis Impordi. Kirjuta kasti Konto nimi vahendustehingute või arvelduskonto nimi, Kui sisestad olemasoleva nime, kasutatakse seda kontot. Kui konto nimi on pikk, võid ka sisestada mõned esimesed tähed. Import jätkub, kuid tehingutele tuleb pearaamatus pärast importi valida õige konto. Kasti Vahendustehing kirjuta veeru number, mis seda üksikasja sisaldab. Nüüd võib kastis Vigane tehing olla õige mitu kirjet, sest tegevuse tüüp ei sobi kokku koguse/hinna kombinatsiooniga. Klõpsa iga kirje puhul Vali tehingu tüüp, mille peale ilmub rippmenüü, kus näeb antud väärtuste kombinatsioonile sobivaid tehingutüüpe.

Nüüd on import tehtud ja saad KMyMoneys valida investeerimiskonto, mida kasutada. Seejärel ka arvelduskonto, kui leidub vahendustehingu tüüpi tehinguid.

### CSV importimise nõustaja: lõpetamine

Lõpetamise leheküljele jõudes kontrollib plugin automaatselt kõiki väärtusi. Kui arvuliste väärtuste veerud on tähistatud rohelisega, oli kontroll edukas ning vaja on veel vaid klõpsata nupule Impordi CSV, et jõuaksid tagasi &kappname; peaaknasse. Kui aga algus- või lõpprida on valesti määratud või valitud on väärad veerud, on esiletõstmise värviks punane ning veateade osutab sellele, kus viga täpselt esineb. Kasutaja peab seejärel klõpsama Tagasi, et jõuda lehele, kus viga parandada.

Samuti võib juhtuda, et kui kasutusel on deebeti- ja kreeditiveerud, siis üks neist võib täiesti õigustatult kirjeid üldse mitte sisaldada. See tähendab, et veerul puudub kümnendkoha eraldaja, mis toob kaasa hoiatuse. Kui nii peaks juhtuma, võib klõpsata mõnele nõustumise nupule (Nõus sellega või Nõus kõigiga).

#### Kümnendkoha eraldaja

Probleeme võib tekitada ka see, kui valitud kümnendkoha eraldaja on väär. Andmetega sobiva eraldaja valimine peaks selle tõrke kõrvaldama. Tavaliselt ei ole seda valikut põhjust muuta. Pane tähele, et kümnendkoha eraldaja peab kokku sobima sinu faili, mitte sinu lokaadiga. Kui lokaadis on teistsugune eraldaja, siis võetakse ette teisendus. Faili kuva akna ülaosas näitab arvuvälju roheliselt, kui kehtiv valik annab korrektse tulemuse, või punaselt, kui see nii ei ole. See esiletõstmine puudutab ka algusrea ja lõpprea valikuid. Kui mõni valitud lahtritest ei sisalda valitud sümbolit, ongi tulemuseks hoiatus.

#### Tuhandete eraldaja

Seda pole vaja määrata, sest see kehtestatakse automaatselt kümnendkoha eraldaja põhjal. Siin on see põhiliselt lihtsalt teadmiseks. Lisaks pole valik üldse kasutatavgi, kui ükski imporditavatest väärtustest ei ole suurem kui 1000.

#### Impordi CSV

Sellele nupule klõpsates antakse pluginale korraldus tegelikult importida andmed failist vastavalt valikutele, mida oled eelnevalt langetanud. &kappname; pärib sinu käest kontot, millesse andmed importida.

### Loo QIF-fail

See nupp annab võimaluse pärast impordi lõpetamist salvestada CSV-faili andmed QIF-failina, kui see peaks mingil põhjusel vajalik olema. Õigupoolest selle võimaluse pakkumine algselt innustaski pluginat looma. Aga et nüüd suudab &kappname; ka ise QIF-faili eksportida, on selle tähtsus tõsiselt vähenenud ning arvatavasti see võimalus millalgi üldse kaob.

### Lõpetamine

Pangatehingute importimise korral on plugin oma töö lõpetanud ning &kappname; pärib, nagu eespool mainitud, sinu käest konto nime, kuhu andmed importida. Investeeringu importimise korral on aga üht-teist veel vaja. Kui plugin ei leia tehingu importimisel kehtivat tehingutüüpi, näidatakse vigast tehingut ja kasutaja saab valida sõltuvalt koguse ja hinna kombinatsioonist sellele sobiva tüübi. Iga tehingu korral kontrollib plugin veeru sisu, et see ikka vastaks tehingu tüübile. Kui näiteks on olemas kvantiteet, mitte aga hinda või kogust, siis eeldatakse, et tehing saab olla ainult aktsiate lisamine või eemaldamine. Kui aga on ainult kogus, mitte aga kvantiteeti või hinda, siis eeldatakse dividendi jne.

Kui soovid oma seadistused salvestada, klõpsa nupule Lõpeta ning plugin suletakse.

### Investeerimistoimingute tüüpide lisamine

Kui leiad, et sinu investeerimisväljavõttes leidub tegevuse tüüpe, mida ära ei tunta, võid need lihtsalt lisada ressursifaili vastavasse sektsiooni (vt selle faili kohta täpsemalt altpoolt). Nii on faili sektsioonis [InvestmentSettings] väljal BuyParam kirjed Purchase, Buy, New Inv ja Switch In. Kui leiad mõne muu, lisa see sobivasse loendisse ja käivita plugin uuesti. Küllap märkad, et eri väljade kirjete vahel leidub sarnasusi, ning ehk avastad, et valitud on väär tegevuse tüüp. Plugin kontrollib loendeid järgmises järjekorras: Shrsin, DivX, Reinvdiv, Brokerage, Buy, Sell, Remove. Loendite järjekorra muutmine ei pruugi anda oodatud efekti, sest kirjed ressursifailis sorditakse tähestikulises järjekorras. Kui vigast parameetrit su meelest üldse vaja ei ole, kustuta see lihtsalt failist. Kui see ei ole võimalik, võib olla vajalik muuta oma faili enne selle importimist.

### CSV importimise plugina seadistamine

QIF-vormingu laialt teada miinus on selle laialivalguvus. CSV-failide puhul on asi sarnane, aga häda isegi suurem: puudub üldse igasugune kokkulepitud standard. Eriti investeerinmisfailide puhul ilmnevad äärmiselt avarad võimalused näiteks tegevuse tüüpide määratlemisel. Plugin hoiab selle huvides tegevuse tüüpide loendeid failis nimega csvimporterrc. Selle asukont sõltub distributsioonist. Tavaliselt paikneb see kataloogis ~/.kde4/share/config/ või ~/.kde/... Selle ressursifaili abil saab kasutada lisada tegevusetüüpe, mida arendajad ei ole seni kohanud. Kui seda faili plugina esmakordsel käivitamisel ei ole, loob plugin selle vaikimisi versiooni, mis sisaldab mõningaid üldlevinud kirjeldusi.

Kaasa on pandud mõned näidis-CSV-failid (lähtekoodipuus kataloogis kmymoney/contrib/csvimporter/), mis võivad omajagu abistada. Taas investeeringuid näiteks tuues on tegevuse tüüp "ReInvestorContract Buy : ReInvested Units". Kontrollimisel on esimene edukas sobivus ReInv (ReInvestorContract Buy all), mistõttu tehingu tüübiks määratakse Reinvdiv, ehkki mainitud on ju ka Buy. Teine täheldatud näide on tegevuse tüüp Reinvest isegi siis, kui tehingus ei ole ei hinda ega kogust, vaid ainult kvantiteet, nii et seda tuleks kohelda kui Add Shares või Shrsin

Plugina loomise ajal oli näidetena võtta ainult üksikuid investeerimisvorminguid ning seepärast võib kergesti juhtuda, et satud mõne otsa, mida ei osata korrektselt käidelda. Kui leiad sellise faili, saada palun kohane näide (seda võib muuta, et eemaldada või asendada isiklik teave) &kappname; kasutajate postiloendisse &userlist; või arendajatele postiloendisse &devlist; - arendajad suudavad usutavasti kõige paremini pluginat sel moel muuta, et ka sinu variandiga osataks midagi peale hakata.