Importazione QIF

Thomas Baumgart

Il formato QIF è pericoloso

In condizioni normali, si dovrebbe evitare il più possibile di usare il formato QIF. Non è un buon formato per la memorizzazione di dati finanziari. Questi sono solo alcuni dei problemi di questo formato:

  • Mancanza di formato standard: versioni diverse dello stesso programma interpretano in modo diverso lo stesso elemento.

  • Mancanza di un identificatore delle transazioni: non essendoci un codice univoco (ID) associato ad ogni transazione, le transazioni duplicate vengono associate a caso, nella migliore delle ipotesi.

  • Mancanza di espressività: la sintassi è molto semplice e non supporta tutte le informazioni offerte dai programmi odierni di gestione delle finanze.

Questi sono i motivi principali per cui Intuit ha smesso di supportare il formato QIF a partire da Quicken 2005. Se si ha la possibilità di ottenere i dati in un altro formato, come OFX, evitare sempre di usare QIF.

Come importare un file QIF

Per importare un file QIF, per prima cosa assicurarsi di avere aperto un file valido di KMyMoney. Poi selezionare la voce di menu FileImportQIF....

La finestra risultante richiede il nome del file QIF, consentendoti di individuare il file facendo clic sul pulsante Sfoglia.

KMyMoney distingue l'importazione di un estratto conto dai dati storici esportati da un'altra applicazione. L'impostazione predefinita prevede l'importazione di un estratto conto. Se si stanno importando dati da un altro programma di gestione delle finanze, selezionare l'opzione relativa.

In generale, il profilo QIF predefinito dovrebbe andare bene con i tuoi dati QIF. In certi casi è necessario usare un profilo QIF modificato. Vedere la prossima sezione per maggiori informazioni.

Fare clic su Importa per importare il file QIF.

KMyMoney inizierà la scansione del file per determinare il formato utilizzato per la rappresentazione di date e numeri. Se non riesce a determinarlo con sicurezza, KMyMoney chiederà all'utente di selezionarne uno tra un elenco di possibili candidati.

Poi, KMyMoney importa i dati e crea gli oggetti necessari, come le informazioni su beneficiari, conti, categorie e quotazioni. Quando possibile, saranno fatte corrispondere le transazioni esistenti con quelle importate. Viene mostrata una barra di avanzamento per visualizzare il progresso dell'importazione.

Se KMyMoney non riesce a rilevare il nome del conto da importare, sarà chiesto all'utente di selezionare il conto in cui importare i dati. Se il conto non esiste nel proprio file, può essere creato facendo clic sul pulsante Crea.

Alla fine del processo di importazione, KMyMoney visualizzerà una finestra di riepilogo dell'estratto conto.

Riepilogo dell'estratto

Dopo l'importazione, le transazioni importate saranno mostrate con uno sfondo giallo nella vista del registro. Nel caso in cui KMyMoney sia stato in grado di abbinare una transazione importata con una transazione già esistente, lo sfondo è visualizzato in verde chiaro.

Il prossimo passo consiste nella verifica dei dati importati e nella loro conferma. Questa parte è comune anche agli altri tipi di importazione e viene spiegata in dettaglio in un'altra sezione.

Nota

I colori usati per segnalare le transazioni importate e abbinate possono essere personalizzati, e potrebbero essere diversi nel sistema in uso.

Impostazione di un profilo QIF

Non essendoci uno standard universalmente riconosciuto per un file QIF, i vari produttori si sono presi la libertà di introdurre modifiche al formato. Il profilo QIF permette di indicare a KMyMoney le particolarità del tuo file. Per modificare un profilo QIF esistente, utilizzare i vari campi della finestra di importazione QIF. Per crearne uno nuovo, premere il pulsante Nuovo accanto al selettore dei profili.

Editor del profilo QIF

Nota

Le versioni recenti di KMyMoney non hanno più schede per specificare la data e l'importo. Adesso queste impostazioni vengono determinate automaticamente da KMyMoney, scansionando il file. Se il programma non riesce a determinarle, le chiederà all'utente durante l'importazione.

Abbinamento delle transazioni

Come indicato in precedenza, uno dei punti deboli del formato QIF è la mancanza di un identificatore univoco per le transazioni. Quindi se si importa un file QIF e alcune delle transazioni sono già nel registro, si otterranno dei duplicati. KMyMoney cerca di evitare questa situazione cercando transazioni simili a quelle che si hanno già. Se trova una possibile corrispondenza, abbina le transazioni simili.

Questo può dare problemi se si hanno transazioni simili ma diverse. In questo caso, è possibile rimuovere l'abbinamento tra le transazioni nella vista del Registro.

Scrittura di un filtro di importazione

A volte si hanno dati in un formato personalizzato, come valori separati da virgola (CSV) o altri formati non standard. A partire dalla versione 4.6, KMyMoney include un'estensione di importazione di CSV, ma è comunque possibile importare altri tipi di file in KMyMoney utilizzando un filtro di importazione QIF. Un filtro è un programma scritto a questo scopo, che prende in ingresso il file che si ha e restituisce come risultato un file QIF. Questo filtro può essere uno script della shell, uno script perl, un programma compilato scritto in C/C++ o qualsiasi altro programma immaginabile che possa essere eseguito sul tuo sistema.

Per usare i filtro, modificare il profilo QIF preferito e selezionare la scheda Filtro. Inserire il percorso al programma filtro quando richiesto. Poi, ad ogni importazione che usa questo profilo, il file importato verrà prima processato con il filtro fornito.

Un problema comune è la conversione di un elenco di valori separati da virgole in un file QIF. Questo è un tipico caso d'uso del programma awk. Creare uno script chiamato csv2qif.awk, contenente le seguenti due righe:

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

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

Poi, cambiare le chiavi QIF (D,T,N,P,M) per farle corrispondere all'ordine dei dati nel file CSV. Impostare il filtro di ingresso a awk -f csv2qif.awk.

Un altro problema comune è la codifica dei file QIF. KMyMoney si aspetta che siano codificati in UTF-8. Se il tuo file usa una codifica differente, può essere utile convertirlo prima in UTF-8. Ad esempio, per convertire un file con la codifica iso-8859-1, il filtro di ingresso deve essere impostato a recode iso-8859-1..utf-8.

Estensioni speciali di KMyMoney per QIF

Come già detto sopra, uno dei problemi principali di QIF è la mancanza di un identificatore univoco per le transazioni. Se si sta scrivendo un programma per la creazione di file QIF (o un filtro, come descritto sopra), è possibile rimediare a questo problema. KMyMoney supporta il campo «#». Il processo di importazione interpreterà il contenuto di questo campo come un identificatore univoco della transazione e la scarterà se è già presente.