&Ace.Jones; &Ace.Jones.mail;
2011-07-03
4.6

# Importera och exportera

&Tony.Bloomfield; &Tony.Bloomfield.mail;

## Import från Gnucash

### Gnucash-filer

&kappname;s import från Gnucash hanterar direkt läsning av standardfiler (&XML;) som skapas av Gnucash version 1.8 och 2.0. Följande stöds inte:

- import av databasdata (Postgres)

- import av 'multibok'-filer

- import till en befintlig fil i &kappname;

- import av funktioner för mindre företag (anställda, fakturor, etc.)

- export av Gnucash-filer.

Importen fungerar troligen bara riktigt om den ges en giltig fil. Det rekommenderas att Gnucash funktion Kontrollera och reparera alla (i menyn Handlingar) körs innan ett försök att importera görs.

Filer kan öppnas genom att ange filnamnet på kommandoraden (`kmymoney <sökväg till fil>`), eller med &kappname;s menyalternativ &Ctrl;O Arkiv Öppna eller Arkiv Importera .

Likheten mellan de två produkterna betyder att mycket daglig data kan importeras på ett rättframt sätt. Dock finns det några områden där skillnader uppstår, och diverse alternativ tillhandahålls för att hantera dem. Följande avsnitt beskriver några av skillnaderna. Att förstå dem bör leda till en smärtfriare import.

### Likheter, skillnader och terminologi

#### Användning för mindre företag

Man bör observera att &kappname; är en hemekonomihanterare, och som sådan, inte direkt stöder några av Gnucash företagsfunktioner, som skattetabeller, avlöningslistor och uppföljning av gods. Alla skuldkonton eller fordringskonton som hittas i en fil kommer att importeras som respektive skuld- och tillgångskonton.

#### Konton

##### Kontotyper

För båda produkter, är kontot den högsta strukturnivån i filen. &kappname; stöder fem huvudtyper av konton: tillgångskonto, skuldkonto, inkomst, utgift och aktiekonto, som var och en kan ha flera deltyper, t.ex. lönekonto, kreditkortskonto, etc. &kappname; inkluderar ett 'standardkonto' för var och en av de fem typerna, och alla andra konton är underordnade till något av dessa. &kappname; genomdriver större följdriktighet (eller mindre flexibilitet, beroende på ståndpunkt) mellan kontotyper än Gnucash gör, och eventuella motsägelser som detekteras korrigeras vid import. Det kan orsaka en något annorlunda kontostruktur, även om det kan rättas till efter det att importen är klar, inom rimliga gränser.

##### Kategorier

&kappname; använder termen Kategori för att ange ett konto av inkomst- eller utgiftstyp. Till skillnad från Gnucash, anses de inte som 'liggarkonton' och inmatning av transaktioner direkt till kategorier stöds inte. Tilldelningar görs vid inmatning av transaktioner till andra kontotyper.

##### Struktur och platsmarkörer

Gnucash stöder användning av platsmarkörskonton. Praktiskt taget är de bara skrivskyddade konton där inga transaktioner kan läggas till, men som fungerar på liknande sätt som kataloger i en katalogstruktur, för att innehålla andra konton. Även om &kappname; inte stöder funktionen som sådan, tillhandahåller det förhållanden mellan konton, så platsmarkörer simuleras vid import genom att skapa tomma konton.

##### Avbildning av kontotyper

Typ i Gnucash | Typ i &kappname;
--- | ---
BANK | Checking
CHECKING | Checking
SAVINGS | Savings
ASSET | Asset
CASH | Cash
CURRENCY | Cash
MONEYMRKT | MoneyMarket
STOCK | Stock
MUTUAL | Stock
EQUITY | Equity
LIABILITY | Liability
CREDIT | CreditCard
INCOME | Income
EXPENSE | Expense
RECEIVABLE | Asset
PAYABLE | Liability

#### Transaktioner och delningar

##### Balanserade transaktioner

Liksom i Gnucash skrivs data in i form av transaktioner, där var och en i allmänhet består av två eller flera delade poster. I själva verket innehåller alltid giltiga transaktioner i Gnucash minst två delningar, och för att rätta sig efter Gnucash standard för dubbel bokföring, måste de vara i monetär balans (dvs. måste kunna balanseras till noll). &kappname; uppmuntrar till att använda standarden, men tvingar inte till det, men alla importerade transaktioner som inte är balanserade kommer att markeras i liggarvyn som att de har problem.

##### Betalare

&kappname; föredrar att alla transaktioner har en betalare (ett generellt begrepp som omfattar både betalningsmottagare och inbetalare), och i motsats till Gnucash, upprätthålls en lista av betalarna. Namn på betalare skapas vid import från beskrivningsfältet i Gnucash transaktioner.

##### Överföringar

&kappname; använder begreppet överföring för att beskriva en transaktion som inte blandar in en kategori, utan bara överför pengar mellan tillgångskonton och/eller skuldkonton.

##### Avstämmning

&kappname; tillhandahåller en funktion för avstämning av konton som liknar den i Gnucash, och motsvarande transaktionsstatus importeras.

#### Varor

Gnucash använder termen Varor för att täcka både valutatillgångar och icke-valutatillgångar. De behandlas separat i &kappname;.

##### Valutor

&kappname; har inbyggt stöd för alla typer av utländska valutor. &kappname; kräver också att användaren anger en basvaluta, som är standardvalutan för nya konton. Vid import görs ett försök att bestämma den troligaste basvalutan, även om valet kan förkastas till förmån för något alternativ.

(Observera: &kappname; stöder för närvarande inte konton med valörer i ogiltiga valutor, utom de som har ersatts av euro. För närvarande är det nödvändigt att ta bort alla sådana konton från Gnucash-filen innan import. Vi hoppas förbättra situationen i en framtida utgåva.)

##### Värdepapper och investeringar

Tillgångar som inte är medel (normalt aktier och obligationer) kallas värdepapper i &kappname;, och representerar huvudskillnaden mellan de två typerna, eftersom &kappname; kräver att alla konton som anges i värdepapper är underliggande till ett investeringskonto. Det beskrivs mer detaljerat i kapitlet om Investeringar. Även om användare kan ha implementerat ett sådant förhållande, inför inte Gnucash någon definierad struktur för det, så importen klarar inte av att detektera det och utföra en automatisk konvertering. Tre alternativ har därför gjorts tillgängliga:

- Skapa ett separat investeringskonto för varje värdepapper, med samma namn som värdepappret.

- Skapa ett enstaka investeringskonto som kommer att fungera som 'överliggande konto' för alla värdepapperskonton.

- Skapa flera investeringskonto, och tilldela värdepapper till dem enligt användarens anvisningar.

Det beror helt och hållet på användarens krav vilket av dessa alternativ som är relevant i varje situation, och i vissa fall, kan manuell omstrukturering av konton efter import vara nödvändig.

##### Kurser och valutakurser

Värdepapperskurser och valutakurser som visas i Gnucash prisredigerare kommer att importeras. Dessutom skapas kurs- och valutakursposter för alla transaktioner som omfattar värdepapper och flera valutor.

##### Direktkurser

För att erhålla kurser och valutakurser, använder Gnucash ett paket som kallas Finance::Quote. Senare versioner av &kappname; innehåller stöd av detta paket för att erhålla aktiekurser, och det kommer normalt att användas när data importeras. Du kan dock välja att konvertera till den inbyggda metoden som används av &kappname;, som täcks mer detaljerat under direktkurser.

Om du väljer att göra det, tillåter följande dialogruta val av en kurskälla 'inbyggd' i &kappname;, eller en användardefinierad källa, för varje konto där direktkurser krävs. Dock importeras aktiesymbolen (telegrafsymbolen) oförändrad. Eftersom symbolen nästan säkert är olika i de två paketen, behöver den redigeras manuellt efter att importprocessen är klar. Framtida uppdateringar av valutakurser kommer inte att använda Finance::Quote, utan kommer alltid att använda den inbyggda hämtningsmetoden.

#### Schemalagda transaktioner

&kappname; behåller inte den skillnad som görs i Gnucash mellan malltransaktioner och hur ofta de förekommer. Transaktionsdata kommer att dupliceras om samma mall används i olika scheman, men det har troligen inte så stor betydelse.

##### Schematyper

&kappname; klassificerar alla scheman som en av tre typer: räkningar, insättningar och överföringar. Eftersom Gnucash inte gör någon sådan åtskillnad, försöker importen avgöra klassificeringen från konton och riktningen pengar flyttas. Det kan inträffa i vissa fall att felaktiga antaganden görs, och de kommer att behöva korrigeras manuellt.

##### Misstänkta scheman

Vissa funktioner i Gnucash schemalagda transaktioner är inte tillgängliga i &kappname;, så importen försöker att nå en rimlig kompromiss när data konverteras i varje enskilt fall. Transaktionerna markeras som misstänkta, och användaren ges tillfälle att redigera dem direkt under importprocessen. Exempel på situationer som kan orsaka detta är:

- vissa terminintervall som stöds av Gnucash är för närvarande inte tillgängliga i &kappname;

- &kappname; stöder inte användningen av formler och variabler i beloppsfält

- komplexa fall som ännu inte har identifierats vid import.

Trots goda insatser, är det möjligt att en schemalagd transaktion kan orsaka ett allvarligt fel i &kappname;, på grund av de många alternativen som är inblandade. Om denna typ av problem verkar inträffa, erbjuder importen möjlighet att utelämna alla misstänkta scheman.

#### Rapporter

&kappname; tillhandahåller ett omfattande urval av inställningsbara rapporter, som beskrivs mer detaljerat under Rapporter. De motsvarar dock inte nödvändigtvis exakt de rapporter som är tillgängliga i Gnucash.

### Välja importalternativ

#### Hantering av investeringar

Se Värdepapper och investeringar ovan.

#### Direktkurser

Stäng av det om du vill använda den inbyggda metoden för framtida direktkurser.

Se "Direktkurser" ovan.

#### Schemalagda transaktioner

Se "Schemalagda transaktioner" ovan.

#### Kodningsalternativ

Om ditt modersmål skrivs med bokstäver eller symboler som skiljer sig från de som används i latinska språk (dvs. i allmänhet västeuropeiska språk), representeras de på ett särskilt sätt ('kodas') i Gnucash-filen. Om bokstäverna inte visas riktigt på skärmen, måste de avkodas. För närvarande är det ofta inte möjligt att detektera exakt vilken form av avkodning som måste användas, så du kan behöva markera alternativet och välja ett värde i listan. I allmänhet är det första värdet i listan det som anses vara lämpligt med dina landsinställningar (dvs. landet och språket som valdes när operativsystemet installerades), så det bör provas först. Eftersom importprocessen inte skriver över Gnucash-filen, har du full frihet att experimentera med vilket som helst av alternativen.

#### Alternativ för transaktionsanteckningar

För vissa användarfall kan transaktioner i Gnucash, som inte delats, innehålla kvarvarande, ofta felaktiga, anteckningsdata som normalt inte är synliga för användaren. När de importeras i &kappname;, kan denna data bli synlig, på grund av skillnad vid visning. Ofta har transaktionerna ett fält som beskriver transaktionens verkliga syfte. Om alternativet är markerat, används detta fält för att överskrida irrelevant anteckningsdata, om det finns.

#### Felsökningsalternativ

Dessa behöver bara användas i händelse av importproblem. Om du har sådana problem, bör du också rapportera dem till &kappname;s utvecklingslista &devlist;. Observera att bakåtspårningarna som skapas av alternativen kan innehålla data av konfidentiell natur, och alternativet att göra den anonym bör användas om den behöver göras öppet tillgängligt.

### Importrapport

I slutet av behandlingen, skapar importen en rapport som visar antal olika behandlade objekt, och eventuella fel och anomalier som har inträffat. Rapporten visas på skärmen, och kan spara i en fil för senare granskning. En fullständig rapport kan innehålla följande avsnitt:

- Antal poster

- Inkonsekvens i kontotyper och utförda åtgärder

- Detaljinformation om misstänkta scheman

&Thomas.Baumgart; &Thomas.Baumgart.mail;

## Import av QIF

### Formatet QIF anses skadligt

I allmänhet ska QIF-formatet undvikas när det är möjligt. Det är ett dåligt val för att förmedla ekonomisk data. Bland annat, lider QIF av följande problem:

- Brist på standardiserat format. Olika versioner av samma program ger olika betydelser till samma element.

- Brist på transaktionsidentifierare. Eftersom det inte finns något id-nummer som hör ihop med varje transaktion, är det som bäst slumpartat att matcha dubbletter.

- Brist på uttrycksfullhet. Grammatiken är verkligt enkel, och kan inte återge djupet av den ekonomiska information som finns i dagens ekonomiska miljö.

Det är allmänt orsaken att Intuit slutade stödja QIF-inmatning överhuvudtaget med Quicken 2005. Om du har möjlighet att hämta data på något annat sätt, som OFX, välj alltid det alternativet.

### Hur man importerar en QIF-fil

För att importera en QIF-fil, försäkra dig först om att du har en giltig &kappname;-fil öppen. Välj därefter Importera QIF... i menyn Arkiv.

Den resulterande dialogrutan frågar efter QIF-filnamnet, och låter dig lokalisera filen genom att klicka på knappen Bläddra.

Dessutom skiljer &kappname; mellan import av en fil med ett bankutdrag och historikdata exporterad från ett annat program. Det normala är att importera en fil med ett bankutdrag. Om du importerar data från ditt tidigare hemekonomihanteringsprogram, välj lämpligt alternativ.

I allmänhet bör standardprofilen för QIF fungera med din QIF-data. I vissa fall kan det bli nödvändigt att använda en modifierad QIF-profil. Se nästa avsnitt för mer detaljinformation om ämnet.

Klicka på Importera för att importera QIF-filen.

&kappname; börjar söka igenom filen för att avgöra vilka format som används för att representera datum och tal. Om det inte går att avgöra ett datumformat utan tvetydighet, ber &kappname; användaren att välja ett från listan med möjliga datumformat.

Därefter importerar &kappname; data och skapar alla nödvändiga objekt, som betalarinformation, konton och kategoriposter, och information om aktiekurser. Närhelst det är möjligt, matchas befintliga transaktioner med den importerade informationen. En förloppsrad visas och uppdateras under importprocessen.

Om &kappname; inte kunde detektera namnet på kontot att importera, blir användaren ombedd att välja kontot som data ska importeras till. Om kontot inte redan finns i filen, kan ett nytt konto skapas genom att klicka på Skapa.

Vid slutet av importen visar &kappname; ett statistikfönster för utdragsimporten.

Utdragsstatistik Utdragsstatistik

Efter importen, kommer alla importerade transaktioner att visas med gul bakgrund i liggarvyn. Om &kappname; kunde matcha en importerad transaktion med en befintlig, visas bakgrunden med ljusgrönt.

Nästa steg är att kontrollera importerad data och acceptera den. Det är en allmän process, och gäller också import från andra källor. Den sammanfattas i ett separat avsnitt av dokumentet.

Färgerna som används för att markera importerade och matchade transaktioner är anpassningsbara, och kan vara annorlunda i din miljö.

### Ställa in en QIF-profil

Eftersom det inte finns något allmänt standardformat för QIF-filer, har olika tillverkare tagit sig friheter med formatet, och introducerat sina egna nyanser. Därför måste du skapa en QIF-profil innan en QIF-fil kan importeras. Profilen talar om för &kappname; vilka underligheterna i filen är. För att redigera en befintlig QIF-profil, eller skapa en ny, klicka på knappen Ny i QIF-importdialogrutan, intill profilväljaren.

QIF-profileditor

Tidigare versioner av &kappname; hade en flik för datum- och beloppspecifikationer. &kappname; avgör nu dessa inställningar genom att söka igenom filen. Om det inte går att räkna ut alla inställningar, blir användaren tillfrågad under importen.

### Transaktionsmatchning

Som tidigare påpekats, är en av de största nackdelarna med QIF-formatet avsaknaden av en unik identifierare för varje transaktion. Om du sålunda importerar en QIF-file och vissa transaktioner redan finns i liggaren, kan du få dubbletter. &kappname; försöker komma runt det genom att leta efter transaktioner som liknar de som du redan har. Om någonting som ser ut som samma transaktion hittas, matchas den möjliga dubbletten.

Det kan vara ett problem om du har transaktioner som ser alltför lika ut, men i själva verket är olika. I detta fall, kan du senare försöka att ta bort matchning av transaktionerna i liggarvyn.

### Skriva ett importfilter

Ibland kan du ha data i ett eget format, som värden åtskilda med kommatecken (CSV), eller något annat som är speciellt för din situation. Från version 4.6 inkluderar &kappname; ett insticksprogram för CSV-import, men du kan ändå importera filen i &kappname; med ett QIF-importfilter. Ett filter är ett eget program som du skriver, som tar din speciella fil som indata, och skapar en QIF-fil som utdata. Det kan vara ett skalskript, ett Perl-skript, ett kompilerat program skrivet i C eller C++, eller vad som helst som du kan tänka ut, under förutsättning att systemet kan köra det.

För att använda det, redigera din QIF-favoritprofil, och välj filterfliken. Skriv in platsen för filterprogrammet när du blir tillfrågad. Därefter körs filen som du väljer att importera först genom filtret, så fort du gör en QIF-import med användning av den här profilen.

Ett vanligt problem är att konvertera en lista med värden åtskilda av kommatecken till en QIF-fil. Det är ett uppenbart fall för verktyget awk. Skapa ett skript som heter csv2qif.awk, med följande två raders innehåll:

    BEGIN { FS=","; print "!Type:Bank" }

          { print "D"$1; print "T"$2; print "N"$3; print "P"$4; print "M"$5; print "^" }

Ändra därefter QIF-nycklarna (D,T,N,P,M) så att de stämmer med ordningen av CSV-data. Ställ in indatafiltret till `awk -f csv2qif.awk`.

Ett annat problem uppstår ibland med kodningen av QIF-filer. &kappname; förväntar sig att filer ska vara kodade med UTF8. Om filen är kodad på något annat sätt, kan det vara användbart att konvertera den till UTF8. För att exempelvis konvertera den från iso-8859-1, skulle du ställa in indatafiltret till `recode iso-8859-1..utf-8`.

### Särskilda utökningar av QIF i &kappname;

Som redan nämnt, är en av de största nackdelarna med QIF-formatet avsaknaden av en unik identifierare för varje transaktion. Om du skriver en egen QIF-filskapare (eller filter, som beskrivs ovan), kan du komma förbi problemet. &kappname; stöder fältet '#'. Importen tolkar det som ett unikt transaktions-id, och bortser från posten om transaktionen redan finns i systemet.

## Export av QIF

För att exportera något av dina konton till en QIF-fil, välj menyalternativet Exportera QIF i menyn Arkiv. Du blir tillfrågad om vilket enskilt konto som ska exporteras, vilken fil det ska exporteras till, och vilken QIF-profil som ska användas.

För närvarande hanterar inte QIF export av investeringar.

QIF-export

&Ace.Jones; &Ace.Jones.mail;
&Thomas.Baumgart; &Thomas.Baumgart.mail;

## OFX-importinsticksprogram

### Hämta insticksprogrammet

&kappname; importerar OFX-filer utan problem. Dock är funktionen inte inbyggd i kärnprogrammet. Du måste skaffa och installera insticksprogrammet för OFX-import När det väl är installerat, visas kommandot för att importera OFX-filer automatiskt i menyn Arkiv Importera.

Observera att många förpaketerade versioner av &kappname; byggdes med OFX-import redan inkluderad eller tillgänglig som ett separat paket. Om OFX-import inte verkar vara installerad i din version, är det första stället att titta på samma ställe där du hämtade &kappname;s baspaket.

Om du installerar från RPM-paket, finns insticksprogrammet för OFX-import i RPM-paketet kmymoney-ofx. Det bör vara tillgängligt i vilken källa du än fick &kappname;s RPM-baspaket från. Om du har byggt från källkod, är allt du behöver göra att helst installera libOFX 0.9 deklarationsfiler och bibliotek på systemet. Byggprocessen för &kappname; detekterar dem och kompilerar insticksprogrammet. När &kappname; 4.6 släpptes var den senaste versionen av libOFX 0.9.4, vilket också är den äldsta versionen som krävs.

Skulle du stöta på problem när du försöker kompilera &kappname;, och du är säker på att du har rätt version av libOFX installerad, kontakta gärna utvecklarnas lista &devlist; för hjälp. Inkludera en kopia av filen config.log, först komprimerad med gzip.

### Importera en OFX-fil

Det enklaste sättet att importera en OFX-fil är att välja import i menyraden. Välj Import, och därefter OFX..., i menyn Arkiv. Om OFX inte visas under Import, har du inte installerat insticksprogrammet för OFX-import riktigt. Se föregående avsnitt.

Det första som importen gör är att fråga dig om vilket konto som transaktionerna ska importeras i. Om det finns transaktioner från flera konton i filen, får du frågan flera gånger.

Efter import, kanske vissa transaktioner visas med ett utropstecken på en gul triangel i liggaren. Det beror på att de behöver tilldelas en kategori. Importen kunde inte automatiskt tilldela en kategori baserat på din tidigare transaktionshistorik. Du kan redigera varje transaktioner i liggaren för att tilldela den en kategori, så kommer markeringen att tas bort.

Observera att det här avsnittet beskriver den inbyggda OFX-importen. OFX-filer kan också importeras med importinsticksprogrammet AqBanking, om du har installerat det. Observera att de två importprogrammen beter sig något annorlunda, och de är skrivna och stöds av två olika utvecklare.

### Importera investeringar

Observera att om du importerar en fil med investeringstransaktioner, måste investeringarna först finnas i &kappname;s fil. Aktiesymbolen används för matchning, så försäkra dig om att symbolen i &kappname; är exakt likadan som den i filen du importerar.

### Webbanslutning

Det enklaste sättet att importera en OFX-fil är att ställa in webbanslutning. Besök bankens webbsida, och klicka på en länk för att ladda ner en OFX-fil. Webbläsaren ska fråga dig vilket program du vill använda för att öppna filen. Peka webbläsaren på &kappname;. Då importeras den nerladdade OFX-filen i &kappname;s fil som du senast hade öppen. Du kan också ändra filbindningarna i skrivbordsmiljön, och låta &kappname; öppna OFX-filen automatiskt åt dig.

Om du behöver importerar OFX-filen till en annan fil i &kappname;, ladda först den filen i &kappname;, och besök därefter bankens hemsida.

### Direktanslutning

OFX direktanslutning stöds nu i &kappname;. Det ger dig möjlighet att kontakta banken direkt för att få utdrag. I framtiden kommer mer hjälp om det skrivas, och det kommer att flyttas till ett eget avsnitt.

För att aktivera funktionen måste du kompilera &kappname; med väljaren --enable-ofxbanking (numera förval).

Observera följande varning: Många banker kräver en separat inloggning, och ger dig ett separat lösenord eller PIN-kod, och kan till och med debitera en särskild avgift för tjänsten. Ingen bank stöder &kappname; direkt. Du måste tala om för dem att du vill använda MS Money eller Quicken för att ansluta direkt till banken.

Det första steget är att ställa in alla konton som du vill ladda ner utdrag för. Gå till kontovyn, högerklicka på kontot du vill ställa in, och välj Koppla till direktkonto.... Om fler än ett insticksprogram för Internetbank är installerat på datorn, blir du tillfrågad om vilket som ska användas. Välj KMyMoney OFX för den interna OFX-metoden. En lista med banker laddas ner från Internet, och en guide leder dig igenom att välja en bank, skriva in ditt användarnamn och lösenord, och välja ett konto. Skulle du märka att din bank inte listas, kan det fortfarande vara möjligt att använda det manuella alternativet. Banken kanske kan tillhandahålla nödvändiga parametrar, eller du kan behöva göra en del efterforskningar för att hitta dem.

När du väl har ställt in ett konto för Internetbanken, gå till liggaren för kontot. Välj därefter Uppdatera konto... i menyn Konto. Det ansluter till banken, och laddar ner ett utdrag för de senaste 60 dagarna.

I versioner av &kappname; fram till 4.6 lästes namnet för betalningsmottagaren alltid från fältet PAYEEID. Från version 4.6 kan betalningsmottagarens namn antingen bygga på antingen PAYEEID-, NAME-, eller MEMO-fälten i OFX-transaktionen. Du kan anpassa funktionen och vissa andra OFX-direktanslutningsinställningar genom att välja lämplig flik i dialogrutan Redigera konto.

### Exportera en OFX-fil

Det är för närvarande inte möjligt att exportera data som en OFX-fil. Om du är intresserad av att bidra på detta område, kontakta gärna utvecklingsgruppen av libofx för detaljinformation.

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

## CSV-importinsticksprogram

### Anledningar för att importera CSV-filer

I allmänhet är OFX lämpligast att importera. Dock tillhandahåller inte alla institutioner data i det formatet. CSV-filer (kommaseparerat värde) är nästan alltid tillgängliga (ibland kallade Excel eller kalkylblad). De kan också oftast skapas snabbt och enkelt genom att spara data du vill importera, som i en textfil, och redigera den manuellt.

Insticksprogrammets huvuduppgift är att importera data från bankutdrag, men det går också att importera vissa investeringsutdrag. Dessutom bibehåller det sin ursprungliga förmåga att producera QIF-filer från CSV.

### Hämta insticksprogrammet

&kappname; kommer importera CSV-filer (kommaseparerade värden). Dock är funktionen inte inbyggd i kärnprogrammet, även om källkoden nu tillhandahålls som en del av &kappname;s komprimerade arkiv, som måste installeras. När det väl är gjort, visas kommandot för att importera CSV-filer automatiskt i menyn Arkiv Importera.

Insticksprogrammet för CSV-import är mycket nyare än OFX-insticket, så det kan ta lite tid innan de flesta förpaketerade versioner av &kappname; byggs med CSV-import redan inkluderad eller tillgänglig som ett separat paket. Kontrollera att det är aktiverat i &kappname;. Se menyn Inställningar Anpassa KMyMoney Insticksprogram. Om CSV-import inte verkar vara installerad i din version är det första stället att leta på samma ställe där du hämtade &kappname;s baspaket.

Om du installerar från RPM-paket, kan insticksprogrammet för CSV-import finnas i RPM-paketet kmymoney-csv. Det bör vara tillgängligt från samma källa som du fick &kappname;s RPM-baspaket från. Om du har byggt från källkod ska det inte finnas några ytterligare krav. Byggprocessen för &kappname; bör detektera insticksprogrammets källkod och kompilera den.

Skulle du stöta på problem när du försöker kompilera &kappname;, och du är säker på att du har insticksprogrammets källkod till hands, kontakta gärna utvecklarnas lista &devlist; för att få hjälp. Inkludera en kopia av filen config.log, först komprimerad med gzip.

### Importera en CSV-fil

För att importera en CSV-fil, välj import i menyraden: Arkiv Import CSV.... Om CSV inte visas under Import, har du inte installerat insticksprogrammet för CSV-import riktigt. Se föregående avsnitt.

Fönstret för CSV-import har tre huvuddelar.

- Det övre vänstra området har tre flikar: Bank, Investeringar, och Inställningar. På grund av skillnader i behandling av bank- och investeringsdata måste du ange vilken typ av data du ska importera innan du väljer filen. Det gör du genom att antingen klicka på fliken Bank eller Investeringar. Den valda fliken indikeras med '*' efter flikens namn, som en påminnelse om du skulle råka klicka på fel flik. Om du vid ett senare tillfälle väljer den andra fliken kommer insticksprogrammet varna dig om att du kommer förlora dina nuvarande inställningar, och ger dig chansen att ångra bytet. Alla tre flikar beskrivs mer ingående nedan.

- Den nedre delen av fönstret visar innehållet i CSV-filen som importeras.

- Det övre högra området innehåller några knappar för att styra importprocessen.

  #### Öppna fil

  Det används för att välja fil att importera. Som nämnts tidigare kommer filen antingen importeras som bank- eller investeringsdata, vilket anges av att den relevanta fliken markeras med en asterisk ('*').

  #### Import

  Det här instruerar insticksprogrammet att verkställa import av data från filen, baserat på de val du gjorde under fliken Bank eller Investeringar och under fliken Inställningar, som beskrivs nedan. &kappname; kommer fråga dig efter vilket konto data ska importeras till.

  #### Spara som QIF

  Den här knappen ger dig chansen att spara data från CSV-filen som en QIF-fil efter importen slutförts, om du av någon anledning behöver en sådan.

  #### Avsluta

  Stänger insticksprogrammet, efter att dina inställningar har sparats.

  #### Rensa val

  Rensa alla kolumner och inställningar du har valt eller justerat.

Att importera en CSV-fil är en process i flera steg. Alla steg kommer inte alltid att behövas, och stegens exakta ordning beror på data som importeras.

1. Välj om du importerar bank- eller investeringsdata.

2. Öppna filen som innehåller data.

3. Bekräfta fältavgränsare, och eventuellt textavgränsare, och ange start- och slutrad att importera.

4. Markera fälten eller kolumnerna som innehåller speciella data som är relevant för typen av import.

5. Bekräfta eller justera inställningar som datumformat och decimaltecken.

6. Bekräfta import.

När du har valt fliken Bank eller Investeringar, klicka på knappen Öppna fil, och välj CSV-fil för inmatning. Innan importen utförs måste du ge &kappname; ett del information om filens layout, vilken skiljer sig beroende på om filen innehåller bank- eller investeringsdata. Först måste du kanske ändå justera vissa inställningar som båda filtyperna har gemensamt.

#### Inställningar för CSV-importinsticksprogram

Välj fliken Inställningar i importfönstret. Här kan ett antal fält som låter insticksprogrammet tolka din indatafil korrekt anpassas. I allmänhet gör man det efter att ha visat om bank- eller investeringsdata ska importeras och filen är öppnad, men först kanske fältavgränsaren måste justeras om något ser konstigt ut. Tilldela sedan särskilda fält till kolumner. Kom ihåg att informationen sparas, så den behöver bara anges eller bekräftas en gång, om inte en CSV-fil som skapats med andra inställningar importeras. Dessutom kan en del inställningar redan vara korrekta, baserat på den nuvarande regionsinställningen.

##### Fältavgränsare

Trots att filen fortfarande kallas komma-avgränsad kan tecknet som används för att separera värden vara komma, semikolon, eller tabulator. När det är justerat bör data visas korrekt uppdelad i sina fält.

##### Textavgränsare

Det är oftast ett enkel eller dubbelt citationstecken. Det är viktigt om fältavgränsningstecknet kommer inom en kolumn, som i memo-fältet.

När fälten väl visas korrekt måste du tala om för insticksprogrammet hur kolumnlayouten ser ut i indatafilen. Det gör du i fliken Bank eller Investeringar, beroende på vad som passar. Kom ihåg att du kan växla mellan datatypsfliken och inställningsfliken utan att förlora data. Om du gör något fel under Bank- eller Investeringarfliken när du skriver in kolumnnummer, skriv bara in rätt kolumnnummer på nytt. Annars kan du klicka på Rensa val för att rensa alla val och försöka igen.

##### Decimaltecken

Vid varje import kommer decimaltecknet väljas efter fälten har markerats, eftersom det orsakar en valideringsprocess av valda valutakolumner under fliken Bank eller Investeringar. Ange det decimaltecken som stämmer överens med vad som finns i filen, inte regionsinställningen. Om regioninställningen har ett annat värde görs en konvertering. I fönstrets nedre del där filen visas färgläggs numeriska fält i grönt om konverteringen leder till giltiga resultat, annars i rött. Färgläggningen motsvarar också inställningarna av start- och slutrader (se nedan). Varningar kan visas om någon av de valda cellerna inte verkar innehålla det valda tecknet.

##### Tusentalsavgränsare

Den behöver inte väljas, eftersom den anges automatiskt baserat på Decimaltecken. Den finns bara med som hjälp.

##### Datumformat

Det här måste anges i ordningen år, månad, och dag i datumen i filen. Om insticksprogrammet hittar data som är inkompatibel med inställningen, kommer det klaga när du försöker utföra importen. Om inställningen däremot är fel, men inte ger ogiltiga resultat (som data där dag-värdet aldrig går över 12, så att månad och dag kan förväxlas), får du helt enkelt felaktig data, eftersom insticksprogrammet inte kan veta att du har begått ett misstag, men felet kommer vara uppenbart i liggaren efter importen.

##### Startrad

Ställ in den så att importen hoppar över raderna i filhuvudet.

##### Slutrad

Importen kommer automatiskt ställa in den till filens sista rad. Du behöver bara justera den om det finns fotrader i filen som importen ska ignorera. Annars får du sannolikt en varning om felaktig data.

#### Importera bankdata

Import av bankdata är ganska enkelt, du behöver bara välja passande kolumnnummer, vilket görs under fliken Bank.

- Om filen bara har en enda kolumn för beloppet, klicka på alternativknappen Beloppskolumn, och skriv in kolumnnumret i kombinationsrutan Belopp.

- Om det finns två kolumner, debet och kredit, klicka på alternativknappen Debet- och kreditkolumner, och skriv in kolumnnumren i kombinationsrutorna Debet och Kredit.

- Om du vill spara värden från mer än en kolumn i memofältet, välj bara kolumnerna i ordning. En asterisk visas vid valda kolumner, som en påminnelse.

- Insticksprogrammet detekterar försök att välja samma kolumn för två olika fält. Eftersom det inte vet vilket som är rätt, visar det ett felmeddelande och rensar båda värdena.

När du är nöjd med inställningarna och kolumnvalet kan du importera filen, enligt den utförligare beskrivningen nedan.

#### Importera investeringsdata

För att importera investeringsdata, klicka på fliken Investeringar. Proceduren påminner om den tidigare.

- Välj kolumnen som innehåller transaktionens Datum.

- Välj kolumnen som innehåller Kurs. Inställningen Kursbråkdel är till för att matcha de importerade kursenheterna mot befintliga kurser, där t.ex. en är i dollar och den andra i cent, eller pund och pence, etc. Om kurser i &kappname;s datafil t.ex. anges i dollar, och CSV-filen likaså, ange då kursbråkdel som 1,0. Om CSV-filens kurser däremot är i cent, ange bråkdelen som 0,01.

- Kolumnen Typ eller åtgärd innehåller beskrivningen av aktiviteten: Köp, sälj, återinvestera, etc.

- Välj kolumnen som innehåller Antal eller transaktionens antal aktier.

- Tilldela en Avgiftskolumn i enlighet med om avgifter förekommer, och klicka i rutan Avgiften är i procent om den importerade avgiften anges i procent istället för ett fast värde. (Bara en varning här: Det kan vara så att avgiften har räknats in i aktiekursen. Välj i så fall ingen avgiftskolumn, även om avgiften som visas kan bevaras genom att ange avgiftskolumnen som ännu en memokolumn.)

- Precis som bankdata kan fältet Memo användas för att välja mer än en kolumn (i ordning) för att inkludera flera värden i den importerade transaktionens memofält.

- Välj den kolumn som innehåller Belopp.

- Skriv in namnet på obligationen i fältet Värdepappersnamn, och se till att det stämmer exakt överens med det befintliga värdepappret enligt specifikationen i &kappname;. Om värdepapprets namn finns i den importerade filen, dubbelklicka på det för att markera det, och kopiera och klistra in det. Redigera det för att det ska stämma, om du har använt en variant eller förkortning i &kappname;. Allteftersom du matar in värdepappersnamn i fältet sparas de i resursfilen (se nedan för ytterligare information om filen). Det innebär att de kommer att finnas i kombinationsrutan nästa gång insticksprogrammet körs. Om du vill kan du också redigera resursfilen för att få en fullständig lista över värdepapper du tror dig komma att stöta på i importerade filer. Om du har skrivit in ett namn felaktigt, klicka på knappen Dölj värdepapper. Det tar bara bort namnet från insticksprogrammets lista och påverkar inte data i &kappname;.

  På grund av avsaknaden av formatstandardisering är den aktuella versionen av insticksprogrammet begränsat till att importera data för ett värdepapper i ett konto åt gången. Om filen innehåller data för mer än ett värdepapper kan du importa den i omgångar, genom att använda start- och slutrader för att bara identifiera ett åt gången.

#### Slutföra importen

När du har markerat alla relevanta kolumner för endera bank- eller investeringsdata, klicka på Importera. &kappname; kommer nu visa en filvalsdialogruta där du kan välja rätt konto för import av data. Här kan du spara som en QIF-fil, om du av någon anledning har behov av det, genom att klicka på Spara som QIF.

Om en investeringstransaktion berör ett annat konto, t.ex. ett check- eller mäklarkonto för en mottagen utdelning eller för att registrera en betalning, kommer en meddelanderuta dyka upp där kontonamnet för överföringen kan matas in. Om investeringskontot exempelvis tillåter utskrift av checkar kan du mata in ett befintligt check- eller mäklarkontonamn. På samma sätt kan du skriva in kolumnnumret som innehåller betalningsmottagaren, om det krävs. Om ett misstag begås när kontonamnet skrivs in kommer importen ändå fortsätta, men &kappname; kommer inte känna igen det, och kommer att markera transaktionerna som om de saknade en kategoritilldelning. Om det begärda kontonamnet är ganska långt, skriv bara in ett par tecken. Importen kommer fortsätta, men transaktionerna kommer att markeras av &kappname; som om de saknade en kategoritilldelning, och rätt konto för överföringen måste väljas.

Om insticksprogrammet inte hittar någon giltig transaktionstyp vid import av en transaktion, kommer det visa den problematiska transaktionen, och användaren kan välja en giltig typ att ersätta med, beroende på kombinationen av antal, kurs, och beloppsvärde. För varje transaktion kommer insticksprogrammet validera kolumnernas innehåll för att säkerställa att de stämmer överens med åtgärdstypen. Om t.ex. ett antal visas, men varken kurs eller belopp, antas att transaktionen bara kan gälla tillägg eller borttagning av aktier. Om det istället finns ett belopp, men varken antal eller kurs, antas att det gäller en aktieutdelning, etc.

Om du ser att dina investeringsutdrag räknar upp aktivitetstyper som inte känns igen, lägg bara till dem under sektionen i resursfilen. (Se nedan för mer information om filen.) T.ex. i sektionen [InvestmentSettings] inkluderar fältet BuyParam poster för Purchase, Buy, New Inv, och Switch In. Om du ser någon annan, lägg till den i listan och starta om insticksprogrammet. Du kan märka att det finns likheter i de olika fältens poster, och det kan vara så att fel aktivitetstyp väljes. Insticksprogrammet kontrollerar listorna i följande ordning: Shrsin, DivX, Reinvdiv, Brokerage, Buy, Sell, Remove. Att arrangera om listorna för att passa det fungerar inte som förväntat, eftersom posterna i resursfilen sorteras i alfabetisk ordning. Om den problematiska parametern är en som du inte behöver, ta bara bort den från filen. Om det inte är möjligt kan du behöva redigera filen innan inläsning.

Observera att det kan se ut som att posterna visade i den nedre delen av insticksprogrammets fönster kan redigeras, vilket de kan, men redigeringarna sparas inte. Visningen är bara till för just visning, inte redigering. Indatafilen ändras aldrig av insticksprogrammet, och data som faktiskt importeras kommer från indatafilen, inte från visningen.

#### Anpassa CSV-importinsticksprogram

En välkänd nackdel med QIF-formatet är det att det är ett ganska vagt format. Man har samma problem med CSV-filer, men i större omfattning, eftersom det inte alls finns någon allmänt godtagen standard. I synnerhet för investeringsfiler finns det så mycket mer utrymme för variation i hur aktivitetstyperna som förekommer beskrivs. Insticksprogrammet hanterar det genom att lista aktivitetstyperna i en resursfil, som kallas csvimporterrc. Platsen filen lagras beror på distributionen. Oftast finns den i ~/.kde4/share/config/, men den kan finnas i ~/-kde/... istället. Att använda resursfilen låter användaren lägga till en aktivitetstyp som utvecklaren inte har stött på. Om filen inte finns när importen körs för första gången skapar insticksprogrammet en standardversion som innehåller några av de mer uppenbara beskrivningarna.

Ett antal exempel på CSV-filer tillhandahålls (i katalogen kmymoney/contrib/csvimporter/ i källkodsträdet) med förhoppning att de kan vara till hjälp. Det finns t.ex. en aktivitetstyp i investeringsexemplet som heter "ReInvestorContract Buy : ReInvested Units". I valideringsprocessen är den första lyckade matchningen av ReInv i ReInvestorContract Buy, så transaktionen klassificeras därför som Reinvdiv, även om Buy också nämns. Ett annat exempel som har observerats är aktivitetstypen Reinvest, även om transaktionen varken innehåller kurs eller belopp, bara ett antal, så att den behövde behandlas som Add Shares eller Shrsin.

När insticksprogrammet skapades hade man bara sett ett fåtal investeringsformat att bygga på, och det kan mycket väl vara så att du stöter på ett som inte kan hanteras korrekt. Om du hittar en sådan fil, skicka gärna ett exempel (redigerat för att ta bort eller ersätta personlig information) till &kappname;s användarlista &userlist; eller utvecklarlista &devlist;, så kommer utvecklaren att göra sitt bästa för att ändra insticksprogrammet så att det hanteras.

## Skriva importinsticksprogram

&kappname; innehåller explicit stöd för importinsticksprogram. Om du har ett eget format, och du skulle vilja skriva ett importinsticksprogram, skulle vi uppskatta ditt bidrag. För att göra det måste du kompilera programmet från källkod. Använd därefter OFX-importinsticksprogrammet som exempel.