<?xml version="1.0" encoding="UTF-8"?>
<chapter id="details.impexp">
<chapterinfo>
  <authorgroup>
    <author
>&Ace.Jones; &Ace.Jones.mail;</author>
    <author
>&Jack.H.Ostroff; &Jack.H.Ostroff.mail;</author>
  </authorgroup>
  <date
>2024-12-01</date>
  <releaseinfo
>5.2.0</releaseinfo>
</chapterinfo>
<title
>Importera och exportera</title>

<sect1 id="details.impexp.gnucash">
<sect1info>
  <author
>&Tony.Bloomfield; &Tony.Bloomfield.mail;</author>
  <author
>&Jack.H.Ostroff; &Jack.H.Ostroff.mail;</author>
</sect1info>
<title
>Import från &gnucash;</title>

<sect2
><title
>&gnucash;-filer</title>
<para
>Importverktyget för &gnucash; i &kmymoney; är känt för att hantera direkt läsning av normala filer (&XML;) som produceras av &gnucash; version 1.8 och 2.0. Filer från nyare versioner bör också importeras utan problem. Det finns ingen nyligen genomförd, formell testning som bekräftar det, men utvecklarnas e-postlista &devlist; har en rapport om lyckad import av en fil från &gnucash; 5.3. Specifikt stöds dock inte följande: </para>

<itemizedlist>
  <listitem
><para
>import av databasdata (Postgres)</para
></listitem>
  <listitem
><para
>import av 'multibok'-filer</para
></listitem>
  <listitem
><para
>import till en befintlig fil i &kmymoney;</para
></listitem>
  <listitem
><para
>import av funktioner för mindre företag (anställda, fakturor, etc.)</para
></listitem>
  <listitem
><para
>export av &gnucash;-filer.</para
></listitem>
</itemizedlist>

<para
>Importen fungerar troligen bara riktigt om den ges en giltig fil. Det rekommenderas menyalternativ <menuchoice
><guimenu
>Åtgärder</guimenu
><guimenuitem
>Kontrollera och reparera alla</guimenuitem
></menuchoice
> i &gnucash; körs innan filen sparas och ett ett försök att importera den i &kmymoney; görs. </para>

<para
>Filer kan öppnas genom att ange filnamnet på kommandoraden (<command
>kmymoney &lt;sökväg till fil&gt;</command
>), eller med hjälp av menyalternativen &kmymoney; <menuchoice
> <shortcut
> <keycombo
>&Ctrl;<keycap
>O</keycap
> </keycombo
> </shortcut
> <guimenu
>Arkiv</guimenu
><guimenuitem
>Öppna</guimenuitem
> </menuchoice
> eller <menuchoice
> <guimenu
>Arkiv</guimenu
> <guisubmenu
>Importera</guisubmenu
> </menuchoice
>. </para>

<para
>Likheten mellan de två produkterna innebär att mycket daglig data kan importeras på ett enkelt sätt. Det finns dock vissa områden där det finns skillnader, och olika alternativ finns för att hantera dem. Följande avsnitt beskriver några av skillnaderna. Att förstå dem bör leda till smidigare import, när någon av dem är relevant för dina data. </para>
</sect2>

<sect2
><title
>Likheter, skillnader och terminologi</title>

<sect3
><title
>Användning för mindre företag</title>
<para
>Man bör observera att &kmymoney; är en <emphasis
>hemekonomihanterare</emphasis
>, 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. </para>
</sect3>

<sect3
><title
>Konton</title>

<sect4
><title
>Kontotyper</title>
<para
>För båda produkter, är kontot den högsta strukturnivån i filen. &kmymoney; 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. &kmymoney; inkluderar ett 'standardkonto' för var och en av de fem typerna, och alla andra konton är underordnade till något av dessa. &kmymoney; 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. </para>
</sect4>

<sect4
><title
>Kategorier</title>
<para
>&kmymoney; använder termen kategori för att beteckna ett konto av typen Inkomst eller Utgift. Till skillnad från &gnucash; betraktas de inte som <quote
>huvudbokskonton</quote
>, och direktinmatning av transaktioner i kategorier stöds inte. Tilldelningar till kategorier görs när transaktioner matas in eller redigeras i andra kontotyper. </para>
</sect4>

<sect4
><title
>Struktur och platsmarkörer</title>
<para
>&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 &kmymoney; 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. </para>
</sect4>

<sect4
><title
>Avbildning av kontotyper</title>
<informaltable frame='all'>
<tgroup cols='2' align='left' colsep='1' rowsep='1'>
<thead>
  <row>
    <entry
>Typ i &gnucash;</entry
><entry
>Typ i &kmymoney;</entry>
  </row>
</thead>
<tbody>
  <row>
    <entry
><literal
>BANK</literal
></entry
><entry
><literal
>Checking</literal
></entry>
  </row>
  <row>
    <entry
><literal
>CHECKING</literal
></entry
><entry
><literal
>Checking</literal
></entry>
  </row>
  <row>
    <entry
><literal
>SAVINGS</literal
></entry
><entry
><literal
>Savings</literal
></entry>
  </row>
  <row>
    <entry
><literal
>ASSET</literal
></entry
><entry
><literal
>Asset</literal
></entry>
  </row>
  <row>
    <entry
><literal
>CASH</literal
></entry
><entry
><literal
>Cash</literal
></entry>
  </row>
  <row>
    <entry
><literal
>CURRENCY</literal
></entry
><entry
><literal
>Cash</literal
></entry>
  </row>
  <row>
    <entry
><literal
>MONEYMRKT</literal
></entry
><entry
><literal
>MoneyMarket</literal
></entry>
  </row>
  <row>
    <entry
><literal
>STOCK</literal
></entry
><entry
><literal
>Stock</literal
></entry>
  </row>
  <row>
    <entry
><literal
>MUTUAL</literal
></entry
><entry
><literal
>Stock</literal
></entry>
  </row>
  <row>
    <entry
><literal
>EQUITY</literal
></entry
><entry
><literal
>Equity</literal
></entry>
  </row>
  <row>
    <entry
><literal
>LIABILITY</literal
></entry
><entry
><literal
>Liability</literal
></entry>
  </row>
  <row>
    <entry
><literal
>CREDIT</literal
></entry
><entry
><literal
>CreditCard</literal
></entry>
  </row>
  <row>
    <entry
><literal
>INCOME</literal
></entry
><entry
><literal
>Income</literal
></entry>
  </row>
  <row>
    <entry
><literal
>EXPENSE</literal
></entry
><entry
><literal
>Expense</literal
></entry>
  </row>
  <row>
    <entry
><literal
>RECEIVABLE</literal
></entry
><entry
><literal
>Asset</literal
></entry>
  </row>
  <row>
    <entry
><literal
>PAYABLE</literal
></entry
><entry
><literal
>Liability</literal
></entry>
  </row>
</tbody>
</tgroup>
</informaltable>
</sect4>
</sect3>

<sect3
><title
>Transaktioner och delningar</title>

<sect4
><title
>Balanserade transaktioner</title>
<para
>I båda programmen 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). &kmymoney; uppmuntrar till att använda standarden, men tvingar inte till det, men alla importerade transaktioner som inte är balanserade kommer att markeras i huvudboksvyn som att de har problem. </para>
</sect4>

<sect4
><title
>Betalare</title>
<para
>&kmymoney; föredrar att alla transaktioner har en betalare (ett generellt begrepp som omfattar både betalningsmottagare och betalare), 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. </para>
</sect4>

<sect4
><title
>Överföringar</title>
<para
>&kmymoney; 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. </para>
</sect4>

<sect4
><title
>Avstämmning</title>
<para
>&kmymoney; tillhandahåller en funktion för avstämning av konton som liknar den i &gnucash;, och motsvarande transaktionsstatus importeras. </para>
</sect4>
</sect3>

<sect3
><title
>Varor</title>
<para
>&gnucash; använder termen Varor för att täcka både valutatillgångar och icke-valutatillgångar. De behandlas separat i &kmymoney;. </para>

<sect4
><title
>Valutor</title>
<para
>&kmymoney; har inbyggt stöd för alla typer av utländska <link linkend="details.currencies"
>valutor</link
>. &kmymoney; 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. </para>

<note>
  <para
>&kmymoney; 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. </para>
</note>
</sect4>

<sect4 id="gncsecurities"
><title
>Värdepapper och investeringar</title>
<para
>Tillgångar som inte är medel (oftast aktier och obligationer) kallas värdepapper i &kmymoney;, och representerar huvudskillnaden mellan de två typerna, eftersom &kmymoney; kräver att alla konton som anges i värdepapper är underliggande till ett investeringskonto. Det beskrivs mer detaljerat i kapitlet om <link linkend="details.investments"
>Investeringar</link
>. Ä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: </para>

<itemizedlist>
  <listitem>
    <para
>Skapa ett separat investeringskonto för varje värdepapper, med samma namn som värdepappret.</para>
  </listitem>

  <listitem>
    <para
>Skapa ett enstaka investeringskonto som kommer att fungera som <quote
>överliggande konto</quote
> för alla värdepapperskonton.</para>
  </listitem>

  <listitem>
    <para
>Skapa flera investeringskonto, och tilldela värdepapper till dem enligt användarens anvisningar.</para>
  </listitem>
</itemizedlist>

<para
>Det beror helt på användarens krav och preferenser vilket av dessa alternativ som är relevant i varje situation. I vissa fall kan manuell omstrukturering av konton efter import vara nödvändig. </para>
</sect4>

<sect4
><title
>Kurser och valutakurser</title>
<para
>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. </para>
</sect4>

<sect4 id="details.impexp.gncquotes"
><title
>Direktkurser</title>
<para
>För att få direktkurser för aktier och valuta använder &gnucash; ett Perl-baserat paket som heter <literal
>Finance::Quote</literal
>. Nyare versioner av &kmymoney; innehåller stöd för paketet för att hämta aktiekurser, och det används normalt när data importeras från &gnucash;. Du kan dock välja att konvertera till den ursprungliga metoden som används av &kmymoney; vilket behandlas mer detaljerat i avsnittet om <link linkend="details.investments.onlinequotes"
>direktkurser</link
>. </para>

<para
>Om du väljer att göra det, tillåter följande dialogruta val av en <quote
>inbyggd</quote
> kurskälla i &kmymoney;, eller en användardefinierad källa, för varje konto där direktkurser krävs. Aktiesymbolen (ticker) importeras dock oförändrad. Eftersom symbolen nästan säkert är olika i de två paketen, måste den redigeras manuellt efter att importprocessen är slutförd. Framtida valutakursuppdateringar använder inte <literal
>Finance::Quote</literal
>, utan använder alltid den ursprungliga hämtningsmetoden. </para>

<screenshot>
  <screeninfo
>gnucash import väljare av kurskälla</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="gnucash-select_price_source.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase
>gnucash import väljare av kurskälla</phrase>
    </textobject>
  </mediaobject>
</screenshot>
</sect4>
</sect3>

<sect3 id="gncschedules"
><title
>Schemalagda transaktioner</title>
<para
>&kmymoney; 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. </para>

<sect4
><title
>Schematyper</title>
<para
>&kmymoney; 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. </para>
</sect4>

<sect4
><title
>Misstänkta scheman</title>
<para
>Vissa funktioner i &gnucash; schemalagda transaktioner är inte tillgängliga i &kmymoney;, 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: </para>

<itemizedlist>
  <listitem>
    <para
>vissa terminintervall som stöds av &gnucash; är för närvarande inte tillgängliga i &kmymoney;</para>
  </listitem>

  <listitem>
    <para
>&kmymoney; stöder inte användningen av formler och variabler i beloppsfält</para>
  </listitem>

  <listitem>
    <para
>komplexa fall som ännu inte har identifierats vid import</para>
  </listitem>
</itemizedlist>

<para
>Trots goda insatser, är det möjligt att en schemalagd transaktion kan orsaka ett allvarligt fel i &kmymoney;, 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. </para>
</sect4>
</sect3>

<sect3
><title
>Rapporter</title>
<para
>&kmymoney; tillhandahåller ett omfattande urval av inställningsbara rapporter, som beskrivs mer detaljerat under <link linkend="details.reports"
>Rapporter</link
>. De motsvarar dock inte nödvändigtvis exakt de rapporter som är tillgängliga i &gnucash;. </para>
</sect3>
</sect2>

<sect2 id="details.impexp.gncoptions"
><title
>Välja importalternativ</title>
<screenshot>
  <screeninfo
>gnucash importalternativ</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="gnucash-import_options.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase
>gnucash importalternativ</phrase>
    </textobject>
  </mediaobject>
</screenshot>

<sect3
><title
>Hantering av investeringar</title>
<para
>Se <link linkend="gncsecurities"
>Värdepapper och investeringar</link
> ovan. </para>
</sect3>

<sect3
><title
>Direktkurser</title>
<para
>Stäng av det om du vill använda den ursprungliga metoden för framtida direktkurser från nätet. Se <link linkend="details.impexp.gncquotes"
>"Direktkurser"</link
> ovan för mer information. </para>
</sect3>

<sect3
><title
>Schemalagda transaktioner</title>
<para
>Se <link linkend="gncschedules"
>"Schemalagda transaktioner"</link
> ovan. </para>
</sect3>

<sect3
><title
>Kodningsalternativ</title>
<para
>Om ditt modersmål skrivs med bokstäver eller symboler som skiljer sig från de som används i de "latinska" språken (dvs. vanligtvis västeuropeiska), representeras de på ett speciellt sätt (<quote
>kodade</quote
>) i &gnucash;-filen. Om tecknen inte visas korrekt på skärmen måste de avkodas. För närvarande är det ofta inte möjligt att exakt avgöra vilken avkodning som måste användas, så du kan behöva ställa in alternativet manuellt genom att välja en post i listan. I allmänhet är det första alternativet i listan det som anses lämpligt för din region (dvs. det land och språk som valdes som modersmål när operativsystemet installerades), så det bör provas först. Eftersom importprocessen inte skriver över &gnucash;-filen kan du experimentera med vilket som helst av valen. </para>
</sect3>

<sect3
><title
>Alternativ för transaktionsanteckningar</title>
<para
>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 &kmymoney;, 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. </para>
</sect3>

<sect3
><title
>Felsökningsalternativ</title>
<para
>De behöver bara användas vid importproblem. Om du har sådana problem bör du också rapportera dem till utvecklarnas e-postlista &devlist;. Observera att loggarna som produceras av alternativ kan innehålla data av konfidentiell karaktär, och alternativet <guilabel
>Anonymisera data</guilabel
> bör användas om de ska göras offentligt tillgängliga. </para>
</sect3>
</sect2>

<sect2
><title
>Importrapport</title>
<para
>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: </para>

<itemizedlist>
  <listitem>
    <para
>Antal poster</para>
  </listitem>

  <listitem>
    <para
>Inkonsekvens i kontotyper och utförda åtgärder</para>
  </listitem>

  <listitem>
    <para
>Detaljinformation om misstänkta scheman</para>
  </listitem>
</itemizedlist>

<screenshot>
  <screeninfo
>gnucash importrapport</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="gnucash-report.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase
>gnucash importrapport</phrase>
    </textobject>
  </mediaobject>
</screenshot>
</sect2>
</sect1>

<sect1 id="details.impexp.qifimp">
<sect1info>
  <author
>&Thomas.Baumgart; &Thomas.Baumgart.mail;</author>
  <author
>&Jack.H.Ostroff; &Jack.H.Ostroff.mail;</author>
</sect1info>
<title
>Import av QIF</title>

<sect2
><title
>Formatet QIF anses skadligt</title>
<para
>I allmänhet ska QIF-formatet undvikas när det är möjligt. Av många anledningar är det ett dåligt val för att förmedla ekonomisk data. Bland annat, lider QIF av följande problem: </para>

<itemizedlist>
  <listitem>
    <para
>Brist på standardiserat format. Olika versioner av samma program ger olika betydelser till samma element.</para>
  </listitem>

  <listitem>
    <para
>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.</para>
  </listitem>

  <listitem>
    <para
>Brist på uttrycksfullhet. Grammatiken är verkligt enkel, och kan inte återge djupet av den ekonomiska information som finns i dagens ekonomiska miljö.</para>
  </listitem>
</itemizedlist>

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

<sect2
><title
>Hur man importerar en QIF-fil</title>
<para
>För att importera en QIF-fil, se först till att du har en giltig &kmymoney;-fil öppen och välj sedan menyalternativet <menuchoice
> <guimenu
>Arkiv</guimenu
> <guisubmenu
>Importera</guisubmenu
> <guimenuitem
>QIF...</guimenuitem
> </menuchoice
>. </para>
	
<screenshot>
  <screeninfo
>qif-import</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="qifopen.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase
>qif-import</phrase>
    </textobject>
  </mediaobject>
</screenshot>

<para
>Den resulterande dialogrutan frågar efter QIF-filnamnet, vilket gör att du kan skriva in hela sökvägen till filen eller hitta filen genom att klicka på <guibutton
>Bläddra</guibutton
>. </para>

<para
>Observera att &kmymoney; skiljer mellan import av ett kontoutdrag och en fil med historisk data som exporterats från ett annat program. Ett kontoutdrag innehåller inte nödvändigtvis all data relaterad till ett enda kontoutdrag, den kan bara innehålla en eller några få transaktioner. Standardinställningen är att importera ett kontoutdrag. Om du importerar data från ett tidigare program för personlig ekonomihantering, välj lämpligt alternativ. </para>

<para
>Nästa steg är att välja en QIF-profil för importen. Eftersom det inte finns något universellt standardformat för en QIF-fil har olika leverantörer tagit sig friheter med formatet och introducerat sina egna nyanser. QIF-profilen låter &kmymoney; få reda på filens särdrag. Generellt sett bör den normala QIF-profilen fungera med de flesta QIF-filer. I vissa fall kan det vara nödvändigt att använda en modifierad QIF-profil. Se <link linkend="details.impexp.qif.profile"
>nästa avsnitt</link
> för mer information om ämnet. </para>

<para
>Klicka på <guibutton
>Importera</guibutton
> för att importera QIF-filen. </para>

<para
>&kmymoney; 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 &kmymoney; användaren att välja ett från listan med möjliga datumformat. </para>

<para
>Därefter importerar &kmymoney; informationen och skapar alla nödvändiga objekt, såsom betalningsmottagarens information, konto- och kategoriposter samt information om aktiekurs. Där det är möjligt matchas befintliga transaktioner med den importerade informationen för att undvika dubbletter av transaktioner. En förloppsindikator visas och uppdateras under importprocessen. </para>

<para
>Om &kmymoney; inte kunde identifiera namnet på kontot som ska importeras, blir användaren ombedd att välja kontot som informationen ska importeras till. Om kontot inte redan finns i filen kan ett nytt konto skapas genom att klicka på <guibutton
>Skapa</guibutton
>. </para>

<para
>Vid slutet av importen visar &kmymoney; ett statistikfönster för utdragsimporten. </para>

<screenshot>
  <screeninfo
>qif statistik för importutdrag</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="qif_report.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase
>qif statistik för importutdrag</phrase>
    </textobject>
  </mediaobject>
</screenshot>

<para
>Efter import visas alla importerade transaktioner med gul bakgrund i huvudboksvyn. Om &kmymoney; kunde matcha en importerad transaktion med en redan befintlig transaktion visas bakgrunden i ljusgrönt. </para>

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

<para
>Nästa steg är att verifiera importerad data och acceptera alla importerade transaktioner. Det är en generell process och gäller även import från andra källor. Den liknar processen för <link linkend="details.ledgers.match"
>matchade transaktioner</link
>. Alla importerade transaktioner markeras i huvudboken med en <inlinemediaobject
> <imageobject
> <imagedata fileref="icon-imported.svg" format="SVG"/> </imageobject
> </inlinemediaobject
> importerad ikon. När du har <quote
>Accepterat</quote
> transaktionen är den inte längre markerad som Importerad. </para>
</sect2>

<sect2
><title
>Transaktionsmatchning</title>
<para
>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 huvudboken, kan du få dubbletter. &kmymoney; 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. </para>

<para
>Det kan vara ett problem om du har transaktioner som ser väldigt lika ut men i själva verket är olika. I det här fallet kan du ta bort matchningen av transaktionerna senare i huvudboksvyn. </para>
</sect2>

<sect2 id="details.impexp.qif.filter"
><title
>Skriva ett importfilter</title>
<para
>Ibland kan du ha data med ett eget format, som kommaseparerade värden (CSV) eller något annat unikt för din situation. Från och med version 4.6 inkluderar &kmymoney; ett insticksprogram för CSV-import, men du kan ändå importera andra typer av filer till &kmymoney; med hjälp av ett QIF-importfilter. Ett filter är ett eget program du skriver som tar den speciella filen som indata och producerar en QIF-fil som utdata. Det kan vara ett skalskript, ett perl-skript, ett kompilerat program skrivet i C/C++ eller vad som helst annat du kan föreställa dig, så länge systemet kan köra det. Filtret körs med indatafilen som standardinmatning och standardutmatningen antas vara en giltig QIF-fil att skicka vidare till det verkliga QIF-importverktyget. </para>

<para
>För att använda ett filter, redigera QIF-favoritprofilen eller skapa en ny (se nästa avsnitt för mer information om QIF-profiler) och välj fliken Filter. Ange den fullständiga sökvägen till filterprogrammet i fältet <guilabel
>Plats för indatafilter</guilabel
>, eller klicka på bläddringsikonen bredvid fältet och navigera till filtret i dialogrutan <guilabel
>Öppna fil...</guilabel
>. Sedan, när du gör en QIF-import med profilen, körs filen du väljer för import först genom filtret. Observera att fältet för filterplats innehåller den fullständiga sökvägen till filterprogrammet eller skriptet, men kan också innehålla kommandoradsväljare för programmet. </para>

<para
>Om du sedan vill att dialogrutan <guilabel
>Öppna fil...</guilabel
> där du väljer indatafilen ska ha ett filter för den specifika filtypen, ange en kommaseparerad lista med filfilter (t.ex. <quote
>*.abc,*.xyz</quote
>) i fältet <guilabel
>Indatafiltrets filtyp</guilabel
>. I exemplet ovan, när du öppnar en fil för import med profilen, ser du bara filer som slutar på abc eller xyz. Om du lämnar fältet tomt utförs ingen namnfiltrering, och du ser alla filer. </para>

<para
>Ett vanligt problem är att konvertera en lista med kommaseparerade värden till en QIF-fil. Innan &kmymoney;s insticksprogram för CSV Import tillkom, skulle det ha varit ett typexempel för verktyget <command
>awk</command
>. Vi använder fortfarande exemplet här, bara för att visa ett prov på hur importfilterprocessen fungerar. Skapa ett skript som heter <filename
>csv2qif.awk</filename
>, med följande två rader som innehåll: </para>

<programlisting
>BEGIN { FS=&quot;,&quot;; print &quot;!Type:Bank&quot; }

    { print &quot;D&quot;$1; print &quot;T&quot;$2; print &quot;N&quot;$3; print &quot;P&quot;$4; print &quot;M&quot;$5; print &quot;^&quot; }
</programlisting>

<para
>Ändra därefter QIF-nycklarna (D,T,N,P,M) så att de stämmer med kolumnordningen i CSV-data. Ställ in indatafiltret till <userinput
>awk -f csv2qif.awk</userinput
>. </para>

<para
>Ett annat problem uppstår ibland med kodningen av QIF-filer. &kmymoney; 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 <userinput
>recode iso-8859-1..utf-8</userinput
>. </para>
</sect2>

<sect2
><title
>Särskilda utökningar av QIF i &kmymoney;</title>
<para
>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. &kmymoney; stöder fältet '#'. Importen tolkar det som ett unikt transaktions-id, och bortser från posten om transaktionen redan finns i systemet. </para>
</sect2>
</sect1>

<sect1 id="details.impexp.qif.profile"
><title
>QIF-profiler</title>
<para
>För att redigera en befintlig QIF-profil, eller för att skapa en ny, öppna dialogrutan QIF-import genom att välja <menuchoice
> <shortcut
> <keycombo
>&Ctrl;&Shift;<keycap
>,</keycap
> </keycombo
> </shortcut
> <guimenu
>Inställningar</guimenu
> <guimenuitem
>Anpassa &kmymoney;...</guimenuitem
> </menuchoice
> i huvudmenyn, klicka på <inlinemediaobject
> <imageobject
> <imagedata fileref="preferences-plugin.svg" format="SVG"/> </imageobject
> </inlinemediaobject
> <guilabel
>Insticksprogram</guilabel
> längst ner i den vänstra panelen och klicka på &configicon; Anpassa i posten för <quote
>QIF-import</quote
>. </para>

<para
>Observera att eftersom QIF-import och QIF-export är implementerade som separata insticksprogram, finns det separata poster för var och en i inställningsdialogrutan för insticksprogram. Om du ställer in endera av dem visas samma dialogruta för profileditorn. </para>

<screenshot>
  <screeninfo
>qif profileditor fliken allmänt</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="qifimport-qifprofileeditor.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase
>qif profileditor fliken allmänt</phrase>
    </textobject>
  </mediaobject>
</screenshot>

<para
>Till vänster visar profilväljaren en lista över alla befintliga QIF-profiler. Välj en för att redigera dess inställning. För att skapa en ny profil, tryck på knappen <guibutton
>Ny</guibutton
>. Du kan byta namn på en befintlig profil genom att markera den i profilväljaren och klicka på <guibutton
>Byt namn</guibutton
>, och ta bort den med knappen <guibutton
>Ta bort</guibutton
>. Om du klickar på <guibutton
>Återställ</guibutton
> återställs alla fält i profilen som visas till standardvärden. </para>

<para
>Dialogrutans högra område har fyra flikar. </para>

<para
>Fliken <quote
>Allmänt</quote
> innehåller ett fält för en beskrivning av filtret, flera fält för att ange hur &kmymoney; ska förvänta sig att vissa fält ska se ut i qif-filen som filtret matar ut, och en kryssruta som anger för &kmymoney; om det ska försöka matcha liknande transaktioner för att undvika dubbletter. </para>

<screenshot>
  <screeninfo
>qif profileditor filterflik</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="qifimport-qifprofilefilter.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase
>qif profileditor filterflik</phrase>
    </textobject>
  </mediaobject>
</screenshot>

<para
>Fliken <quote
>Filter</quote
> låter dig ange platsen för både ett importfilter, som beskrivs i <link linkend="details.impexp.qif.filter"
>föregående avsnitt</link
>, samt ett utdatafilter, som fungerar på liknande sätt men används när man skriver ut en datafil. <guilabel
>Indatafiltrets filtyp</guilabel
> gäller inte för ett utdatafilter, eftersom fildialogrutan för filen som ska skrivas inte kräver filtrering. </para>

<screenshot>
  <screeninfo
>qif profileditor datumflik</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="qifimport-qifprofiledate.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase
>qif profileditor datumflik</phrase>
    </textobject>
  </mediaobject>
</screenshot>

<para
>Fliken <quote
>Datum</quote
> är främst användbar för QIF-export, eftersom &kmymoney; vanligtvis kan bestämma datumformatet genom att undersöka faktiska data. Det primära syftet är att ange ordningen på datumdelarna och avgränsaren som separerar dem. </para>

<para
>Eftersom QIF-formatet inte är standardiserat är det omöjligt att veta vilket århundrade som avses när man använder tvåsiffriga årtal. I QIF-filer med tvåsiffriga årtal finns det ett antaget århundrade, och en apostrof används som årsavgränsare för att ange att posten är i det ANDRA århundradet. Eftersom det århundrade som antas vara normalt inte är standardiserat används fältet <guilabel
>Apostrofhantering</guilabel
> för ändamålet, för att indikera det avsedda århundradet när en apostrof används som årsavgränsare. Som exempel skulle du ställa in apostrofformatet till "2000-2099", så datum med en apostrof tolkas som att vara större än år 2000. I det fallet behandlas datum utan apostrof som om de gäller 1900-talet. </para>

<screenshot>
  <screeninfo
>qif profileditor beloppsflik</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="qifimport-qifprofileamount.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase
>qif profileditor beloppsflik</phrase>
    </textobject>
  </mediaobject>
</screenshot>

<para
>Fliken <quote
>Belopp</quote
> används i QIF-export för att ange decimaltecknet och tusentalsavgränsaren som ska användas. Du måste dock ange dem för varje rad i QIF-filen som kan innehålla ett belopp. För att ändra inställningarna, klicka på en av raderna i den övre delen av skärmen och använd sedan kombinationsmenyerna nedan för att ange vilka tecken som ska användas. </para>
</sect1>

<sect1 id="details.impexp.qifexp"
><title
>QIF-export</title>
<para
>För att exportera ett konto till en QIF-fil, välj menyalternativet <menuchoice
> <guimenu
>Arkiv</guimenu
> <guisubmenu
>Exportera</guisubmenu
> <guimenuitem
>QIF...</guimenuitem
> </menuchoice
>. Du blir tillfrågad om vilket konto som ska exporteras, vilken fil det ska exporteras till och vilken QIF-profil som ska användas. </para>

<note>
  <para
>QIF-export hanterar inte export av investeringskonton. Det kan verka fungera och producerar en utdatafil, men filen kommer inte att innehålla några faktiska data.</para>
</note>

<screenshot>
  <screeninfo
>qif export</screeninfo>
  <mediaobject>
    <imageobject>
      <imagedata fileref="qifimport-export.png" format="PNG"/>
    </imageobject>
    <textobject>
      <phrase
>qif export</phrase>
    </textobject>
  </mediaobject>
</screenshot>

<para
>QIF-export använder QIF-profiler på ett liknande sätt som QIF-import, men använder informationen i profilen för att formatera QIF-filen som skrivs, snarare än för att tolka filen som läses. Parallellt med importverktyget kan du använda ett anpassat filterprogram. Det finns ett separat fält under fliken Filter i QIF-profileditorn för ett utdatafilter, så du kan använda samma QIF-profil för både import och export, men använda ett separat filter för de två processerna. </para>
</sect1>

<sect1 id="details.impexp.ofx">
<sect1info>
  <author
>&Ace.Jones; &Ace.Jones.mail;</author>
  <author
>&Thomas.Baumgart; &Thomas.Baumgart.mail;</author>
  <author
>&Jack.H.Ostroff; &Jack.H.Ostroff.mail;</author>
</sect1info>
<title
>OFX-import</title>

<para
>OFX-import var en av de första komponenterna i &kmymoney; som skrevs som ett insticksprogram. Vid den tiden fanns det bara ett fåtal insticksprogram inkluderade i källkoden, och de ingick inte alltid i versioner byggda för &Linux;-distributioner, så det var ibland nödvändigt för användare att kunna kompilera insticksprogrammen själva. Det är sällan fallet längre, men se avsnittet om <link linkend="makingmostof.plugins"
>Insticksprogram</link
> för mer information. För närvarande implementeras många av de funktioner som anses vara centrala delar av &kmymoney; som insticksprogram, så det faktum nämns inte alltid i handboken där funktionerna diskuteras. Se även avsnittet <link linkend="details.settings.plugins"
>Insticksprogram</link
> i kapitlet Inställningar. </para>

<sect2
><title
>Vad är OFX</title>
<para
><acronym
>OFX</acronym
> står för <quote
>Open Financial Exchange</quote
>. Enligt <ulink url="https://financialdataexchange.org/ofx/"
>OFX-arbetsgruppens webbplats</ulink
> <quote
>är Open Financial Exchange en öppen standard för klient-server-system och molnbaserade programmeringsgränssnitt för att utbyta finansiella data och utföra finansiella transaktioner mellan finansiella institutioner och finansiella applikationer.</quote
> Specifikationen definierar format för överföring av finansiella data både via filer och genom direkt utbyte. Ytterligare historisk information finns på <ulink url="https://en.wikipedia.org/wiki/Open_Financial_Exchange"
>Wikipedia-sidan</ulink
> </para>

<para
>Även om OFX-standarden är mycket mer komplett och robust än QIF, finns det fortfarande variationer, beroende på vilken specifika implementering som används av institutionen. OFX-filer kan ha filändelsen <quote
>OFX</quote
> eller <quote
>QFX</quote
> (stora eller små bokstäver). Det innebär ingen särskild skillnad i innehållet. Specifikationen baserades ursprungligen på SGML, och senare versioner är baserade på &XML;, så filerna kan läsas i vilken texteditor som helst, men eftersom blanktecken inte är relevanta för själva innehållet använder vissa implementeringar inga, vilket gör det mycket svårt för en människa att läsa. </para>

<para
>Dessutom, även om standarden innehåller bestämmelser för ytterligare typer av data, kan &kmymoney; bara importera transaktionsdata, med viss ytterligare data såsom aktuellt behållning på konton. </para>

<para
>Även om den verkar ha försvunnit, fanns det tidigare en annan webbplats med bra information på <ulink url="https:/ofxhome.com/"
>OFX Home</ulink
>, som hade en katalog över finansiella institutioner som stöder OFX. Det var ofta användbart om man hade problem med att ställa in <link linkend="details.impexp.ofxdirectconnect"
>OFX-direktanslutning.</link
> De hade också ett forum för diskussioner om OFX-frågor. Eftersom domänen fortfarande är registrerad lämnar vi referensen ifall webbplatsen dyker upp igen i framtiden. </para>
</sect2>

<sect2
><title
>Importera OFX-data</title>
<para
>OFX-standarden definierar organisationen och formateringen av finansiella data, men data kan antingen existera som en vanlig fil eller som en dataström mellan två datorer. Det enklaste sättet att hämta OFX-data är att ladda ner dem från banken eller en annan finansiell institution som en OFX-fil. I de flesta fall, när du är inloggad på bankens webbplats, finns det en knapp eller länk för att ladda ner data på sidan som visar transaktioner. Det kan stå OFX eller QFX, eller så kan du begära data för Quicken eller Web Connect (se nedan för mer information om denna term). Du har också möjlighet att ange datumintervallet för transaktioner som ska laddas ner (även om det ibland är begränsat till perioder som matchar de tillgängliga kontoutdragen), samt filtrera enligt transaktionstyp. </para>

<para
>Om du har laddat ner en OFX-fil är det enklaste sättet att importera den att välja importverktyget i menyraden och välja menyalternativet <menuchoice
> <guimenu
>Arkiv</guimenu
> <guisubmenu
>Importera</guisubmenu
> <guimenuitem
>OFX...</guimenuitem
> </menuchoice
>. Om OFX inte visas under Importera har du inte insticksprogrammet för OFX-import korrekt installerat, eller så är det inte aktiverat. Se föregående avsnitt. </para>

<para
>Det första importverktyget gör är att fråga dig till vilket konto transaktionerna ska importeras. Om filen innehåller transaktioner från flera konton får du frågan flera gånger. </para>

<para
>Efter import, kanske vissa transaktioner visas med ett utropstecken på en gul triangel i huvudboken. 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 huvudboken för att tilldela den en kategori, så kommer markeringen att tas bort. </para>

<para
>Det här avsnittet beskriver det <quote
>ursprungliga</quote
> OFX-importverktyget. OFX-filer kan också importeras med hjälp av AqBanking importinsticksprogrammet. De två importverktygen beter sig något olika, och de är skrivna och stöds av två olika utvecklare. </para>
</sect2>

<sect2
><title
>Importera investeringar</title>
<para
>Observera att om du importerar en fil med investeringstransaktioner, måste investeringarna först finnas i &kmymoney;s fil. Aktiesymbolen används för matchning, så försäkra dig om att symbolen i &kmymoney; är exakt likadan som den i filen du importerar. </para>
</sect2>

<sect2 id="details.impexp.webconnect"
><title
>Webbanslutning</title>
<para
>Istället för att explicit ladda ner en OFX-fil, som beskrivs ovan, är ett enklare sätt att importera en OFX-fil att ställa in Web Connect. Besök bankens webbplats och klicka på knappen eller länken för att ladda ner data som en OFX-fil. (Vissa institutioner listar bara QFX, vilket är ekvivalent.) Webbläsaren bör fråga om du vill spara filen, eller vilket program du vill använda för att öppna filen. Peka webbläsare på &kmymoney;. Det importera sedan den nerladdade OFX-filen direkt till &kmymoney;s fil som för närvarande är öppen, eller den fil som senast var öppen. Du kan också ändra filassociationer i skrivbordsmiljön och få systemet att automatiskt öppna &kmymoney; om du klickar på en OFX-fil i filhanteraren. </para>

<para
>Om du behöver importera OFX-filen till någon annan &kmymoney;s datafil, öppna först den filen i &kmymoney; och besök sedan din banks webbplats. </para>
</sect2>

<sect2 id="details.impexp.ofxdirectconnect"
><title
>Direktanslutning</title>
<para
>&kmymoney; stöder även OFX Direct Connect. Det ger &kmymoney; möjligheten att kontakta din bank direkt för att ladda ner transaktioner, förutsatt att banken stöder det. </para>

<para
>Observera: inte alla banker stöder OFX Direct Connect, och de som gör det använder ofta programvara som tillhandahålls och stöds av tredje part, och tredje part tillhandahåller ofta endast kundsupport för användare av specifik, kommersiell programvara för ekonomihantering. Ingen bank stöder direkt &kmymoney;, så du kan behöva tala om för dem att du vill använda banktjänster direkt från <application
>MS Money</application
> eller <application
>Quicken</application
>. Dessutom säger OFX-arbetsgruppens webbplats som nämns ovan också <quote
>Vidare tillåter programmeringsgränssnittet att utbytet underlättas antingen direkt eller via en mellanhand, såsom leverantörer av aggregeringstjänster.</quote
> Användare har rapporterat att banker som har övergått till att använda sådana leverantörer av aggregeringstjänster är ännu mindre benägna att tillhandahålla något stöd om du inte använder ett av de kommersiella programmen. </para>

<para
>Dessutom kan banken kräva en separat registrering än för den vanliga webbplatsen, de kan ge dig ett separat lösenord eller en separat PIN-kod, och de kan till och med ta ut en separat avgift för tjänsten. </para>

<para
>Om Direct Connect fungerar för dig kan du uppdatera information genom att ladda ner senaste transaktioner med ett enda knapptryck. Om det inte fungerar vid första försöket kan du hitta en enkel lösning på problemet, eller så kan det kräva mycket efterforskningar, och det finns ingen garanti för att det kommer att fungera i någon specifik situation. Ta dock inte det som en anledning att inte försöka. </para>

<para
>Det första steget är att ställa in varje konto som du vill ladda ner transaktioner för. Gå till vyn Konton, högerklicka på det konto du vill ställa in och välj <guimenuitem
>Anslut konto...</guimenuitem
>. Det är också tillgängligt i menyn <guimenu
>Konton</guimenu
> om kontot är öppet i huvudboksvyn. Om mer än ett insticksprogram för Internetbank är installerat på systemet blir du tillfrågad om vilket som ska användas. För den interna OFX-metoden väljer du <guimenuitem
>&kmymoney; OFX</guimenuitem
>. En lista över banker laddas ner från Internet och en guide vägleder dig att välja bank, ange användarnamn och lösenord och välja konto. Om du upptäcker att banken inte finns med i listan kan det ändå vara möjligt att använda det manuella alternativet. Banken kan eventuellt tillhandahålla de nödvändiga parametrarna, eller så kan du behöva göra lite efterforskningar för att hitta dem. </para>

<note>
  <para
>Som antytts ovan kan det ibland vara en utmaning att ställa in OFX Direct Connect, särskilt eftersom implementeringarna på de flesta institutioner inte ger tillräcklig information i felmeddelanden. Ett särskilt problem att notera är att många institutioner kräver att du ändrar lösenord första gången du använder det på nätet med den här metoden. Tyvärr har biblioteket som &kmymoney; använder (libofx) för närvarande inte ett sätt att interaktivt ändra ett lösenord. I vissa fall är det möjligt att få en teknisk supportperson på institutionen att ändra lösenordet åt dig. Tills vi kan utöka avsnittet med mer detaljerad felsökningsinformation kan du, om du har problem med att få det att fungera, be om hjälp på utvecklarnas e-postlista &devlist; eller någon av de andra <link linkend="firsttime.contact"
> supportkanalerna</link
>. </para>
</note>

<para
>När du har skapat ett konto med internetbanken, gå till huvudboken för det kontot och välj <menuchoice
><guimenu
>Konto</guimenu
><guimenuitem
>Uppdatera konto...</guimenuitem
></menuchoice
>. Det ansluter till banken och ladda ner de senaste transaktionerna. Se nästa avsnitt om hur du kan ställa in det faktiska datumintervallet för transaktioner som ska hämtas. </para>

<note>
  <para
>I äldre versioner av &kmymoney; hämtades betalningsmottagarens namn alltid från fältet <literal
>PAYEEID</literal
> i OFX-data. Från och med version 4.6 kan betalningsmottagarens namn antingen baseras på fältet <literal
>PAYEEID</literal
>, <literal
>NAME</literal
> eller <literal
>MEMO</literal
> i OFX-transaktionen. Nästa avsnitt visar hur du kan ställa in funktionen och några andra inställningar för direktanslutning till OFX. </para>
</note>
</sect2>

<sect2 id="details.impexp.ofxsettings"
><title
>Anpassa OFX-importinformation</title>
<para
>Det beskrevs tidigare i avsnittet om <link linkend="details.accounts.edit"
>redigering av kontouppgifter</link
>. </para>
</sect2>

<sect2
><title
>Exportera en OFX-fil</title>
<para
>Det är för närvarande inte möjligt att exportera data som en OFX-fil. Om du är intresserad av att bidra inom området, vänligen kontakta libofx utvecklingsteam för mer information. </para>
</sect2>
</sect1
>&details-impexp-csv; &details-impexp-woob; </chapter>
