# Importación y exportación

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

## Importador de GnuCash

### Archivos de GnuCash

El importador de GnuCash de &kappname; maneja la lectura directa de los archivos (&XML;) estándar tal como los produce GnuCash, versiones 1.8 y 2.0. Los siguientes no están reconocidos:

- datos de importación de base de datos (Postgres)

- importación de archivos «multilibro»

- importación a un archivo existente de &kappname;

- importación de funcionalidades específicas de pequeños negocios (empleados, facturas, etc.)

- exportación a archivos de GnuCash.

La importación probablemente solo funcionará correctamente si se presenta con un archivo válido. Se recomienda ejecutar la función Comprobar y reparar todo de GnuCash (en el menú Acciones) antes de intentar la importación.

Los archivos se pueden abrir especificando el nombre de archivo en la línea de órdenes (`kmymoney <ruta del archivo>`), o por medio de los elementos del menú de &kappname; &Ctrl;O Archivo Abrir o Archivo Importar .

La similaridad entre los dos productos significa que se pueden importar muchos datos del día a día de una manera directa. Sin embargo, hay algunas áreas donde surgen las diferencias, y se proporcionan varias opciones para tratar con esto. Las siguientes secciones describirán algunas de estas diferencias; entenderlas debería conducir a una importación más suave.

### Similaridades, diferencias y terminología

#### Uso para el pequeño negocio

Debería tenerse en cuenta que &kappname; es un gestor de finanzas personales y, como tal, no admite directamente ninguna de las funcionalidades para negocios de GnuCash, como las tablas de impuestos, nóminas y rastreo de lotes. Cualesquiera cuentas de Cuentas a pagar o a recibir de un archivo se importarán como cuentas de Pasivos o Activos, respectivamente.

#### Cuentas

##### Tipos de cuentas

Para ambos productos, el nivel más alto de estructura en un archivo es la cuenta. &kappname; admite 5 tipos principales de cuenta: Activo, Pasivo, Ingreso, Gasto y Patrimonio, cada una de las cuales puede tener varios subtipos; ⪚, Cuenta corriente, Tarjeta de crédito, &etc;. &kappname; incluye una cuenta «estándar» para cada uno de estos cinco tipos, y todas las demás cuentas están subordinadas a alguna de estas. &kappname; obliga a una mayor consistencia (o a una menor flexibilidad, dependiendo de su punto de vista) entre los tipos de cuenta de lo que lo hace GnuCash, y el importador corregirá cualquier inconsistencia que detecte. Esto puede resultar en una estructura de cuentas ligeramente diferente, aunque esto puede, dentro de lo razonable, ser corregido una vez se haya completado la importación.

##### Categorías

&kappname; utiliza el término Categoría para referirse a una cuenta de un tipo de Ingresos o Gastos. Al contrario que GnuCash, estas no se consideran cuentas «del libro mayor», y no se admite la entrada de una carpeta de asientos en las categorías; se hacen asignaciones durante la entrada del asiento en otros tipos de cuenta.

##### Estructura y marcadores de posición

GnuCash admite el uso de cuentas de marcadores de posición. En efecto, estas son cuentas de solo lectura, dentro de las cuales no se pueden introducir asientos, pero cuya función es análoga a las carpetas en una estructura de carpetas, como marcador para otras cuentas. A pesar de que &kappname; no admite esta funcionalidad como tal, sí que proporciona una relación de cuentas madre/hija, así que el importador simula los marcadores de posición creando cuentas vacías.

##### Mapa de tipos de cuentas

Tipo de GnuCash | Tipo de &kappname;
BANCO | Cuenta corriente
CUENTA CORRIENTE | Cuenta corriente
CUENTA DE AHORRO | Cuenta de ahorro
ACTIVOS | Activos
EFECTIVO | Efectivo
DIVISA | Efectivo
MERCADO MONETARIO | Mercado monetario
ACCIÓN | Acción
FONDO DE INVERSIÓN | Acción
PATRIMONIO | Patrimonio
PASIVOS | Pasivos
CRÉDITO | Tarjeta de crédito
INGRESOS | Ingresos
GASTOS | Gastos
A RECIBIR | Activos
A PAGAR | Pasivos

#### Asientos y partidas

##### Asientos equilibrados

Al igual que con GnuCash, los datos se introducen en la forma de asientos, cada uno generalmente consistente en dos o más entradas divididas. De hecho, los asientos válidos de GnuCash siempre contendrán dos partidas y, para adaptarse a la llevanza de libros estándar de doble entrada, estas deben estar en equilibro monetario (esto es, deben tener un saldo total de cero). &kappname; anima, pero no obliga, a usar este estándar, pero cualquier asiento importado que no esté equilibrado será marcado en el libro mayor como que tiene un problema.

##### Beneficiarios

&kappname; prefiere que todas las transacciones tengan un beneficiario (un término genérico que incluye tanto a los beneficiarios como a los pagadores) y, al contrario que GnuCash, se mantiene una lista de estos beneficiarios. Los nombres de los beneficiarios son generados por el importador a partir del campo de Descripción del asiento de GnuCash.

##### Transferencias

&kappname; usa el término Transferencia para describir una transacción que no implica a una categoría, sino que solo transfiere dinero entre cuentas de Activos y/o Pasivos.

##### Conciliar

&kappname; proporciona una función de conciliación similar a la de GnuCash, y se importará también el correspondiente estado del asiento.

#### Materias primas

GnuCash usa el término Materia prima para cubrir los activos monetarios y no monetarios. Estos se tratan de forma separada en &kappname;.

##### Monetarios

&kappname; tiene implementado el reconocimiento de todos los tipos de divisa extranjera. &kappname; también requiere que el usuario especifique una divisa base, siendo esta la divisa predeterminada para las nuevas cuentas. El importador intentará determinar la divisa base más probable, aunque esta elección puede ser rechazada en favor de otra alternativa.

(NOTA: &kappname; no admite actualmente cuentas denominadas en divisas «difuntas» (excepto aquellas sustituidas por el Euro). De momento, será necesario eliminar tales cuentas de su archivo de GnuCash antes de importar. Esperamos mejorar esta situación en futuras versiones.

##### Valores bursátiles e inversiones

Los activos no monetarios (normalmente acciones) se llaman valores bursátiles en &kappname;, y representan la principal diferencia entre los dos productos, ya que &kappname; requiere que cualquier cuenta denominada en un valor bursátil sea subordinada de una cuenta de inversiones. Esto se describe con más detalle en el capítulo sobre Inversiones. Aunque los usuarios puedan haber implementado tal relación, GnuCash no impone ninguna estructura definida, así que el importador no será capaz de detectarla y realizar una conversión automática. Por lo tanto, habrá disponibles tres opciones:

- Crear una cuenta de inversiones separada para cada valor bursátil, con el mismo nombre de dicho valor

- Crear una cuenta de inversiones que actuará como «madre» para todas las cuentas de valores bursátiles

- Crear varias cuentas de inversiones y asignarles valores bursátiles como establezca el usuario.

Depende enteramente de los requerimientos del usuario cuáles de estas opciones son adecuadas para cada situación, y en algunos casos puede ser necesaria la reestructuración manual de las cuentas después de la importación.

##### Precios y tasas de las divisas

Se importarán los precios de los valores bursátiles y las cotizaciones de divisas que se muestran en el Editor de precios de GnuCash. Además, las entradas de precios y cotizaciones se generarán para todos los asientos que incluyan valores bursátiles y múltiples divisas.

##### Citas en línea

Para obtener precios y cotizaciones de divisas en línea, GnuCash utiliza un paquete llamado Finance::Quote. Versiones recientes de &kappname; tienen implementado este paquete para obtener cotizaciones de acciones, y será utilizado de manera predeterminada cuando se importen datos. Sin embargo, usted puede seleccionar convertirlo al método nativo utilizado por &kappname;, que se describe con más detalle en Cotizaciones en línea.

Si elige hacerlo así, el siguiente diálogo le permitirá la selección de una fuente de precios «nativa» para &kappname;, o una fuente definida por el usuario para cada cuenta para la que se requieran cotizaciones en línea. Sin embargo, el símbolo de la acción será importado sin cambios. Como este símbolo casi con seguridad será diferente en los dos paquetes, tendrá que ser editado a mano después de completar el proceso de importación. Las actualizaciones futuras de las tasas de divisas no usarán Finanzas::Cotización, y siempre usarán el método de obtención nativo.

#### Asientos programados

&kappname; no conserva la separación que se hace en GnuCash entre los asientos de la plantilla y la frecuencia con la que ocurren. Los datos de los asientos se duplicarán si se usa la misma plantilla en diferentes programaciones, pero no es probable que esto sea de gran significancia.

##### Tipos de programaciones

&kappname; clasifica todas las programaciones en uno de estos tres tipos: Facturas, Depósitos o Transferencias. Como GnuCash no hace esa distinción, el importador intentará determinar la clasificación a partir de las cuentas y de la dirección de los movimientos de dinero. Puede darse que en algunos casos se hagan asunciones incorrectas, y estas necesitarán una corrección manual.

##### Programaciones sospechosas

Algunas características de asientos programados en GnuCash no están disponibles en &kappname;, así que el importador intentará en cada caso alcanzar un convenio razonable para convertir los datos. Estos asientos se marcarán como sospechosos, y se le dará al usuario la opción de editarlos directamente durante el proceso de importación. Ejemplos de situaciones que pueden causar esto son:

- algunos intervalos de frecuencia admitidos en GnuCash que no están disponibles en &kappname;

- &kappname; no admite el uso de fórmulas y variables en los campos de cantidad

- casos complejos que aún no han sido identificados para la importación.

A pesar de los mejores esfuerzos, es posible que, debido a las muchas opciones implicadas, un asiento programado cause un error fatal en &kappname;. Si ocurre este tipo de problema, el importador ofrece la opción de descartar todas las programaciones sospechosas.

#### Informes

&kappname; proporciona una completa selección de informes configurables, descritos con más detalle en Informes . Sin embargo, estos no coincidirán necesariamente con los informes disponibles en GnuCash.

### Seleccionar las opciones del importador

#### Manejo de inversiones

Ver «Valores bursátiles e inversiones» más arriba.

#### Citas en línea

Desactive esto si desea usar el método nativo para cotizaciones futuras de precios.

Vea «Cotizaciones en línea» arriba.

#### Asientos programados

Vea «Asientos programados» arriba.

#### Opciones de descodificación

Si su idioma nativo se escribe con letras o símbolos que son diferentes de los utilizados en idiomas «latinos» (esto es, generalmente del oeste de Europa), estarán representados de una forma especial («cifrados») en su archivo de GnuCash. Si estas letras no se muestran correctamente en la pantalla, entonces deben ser descodificadas. Actualmente no siempre es posible detectar con precisión qué forma de descodificación debe utilizarse, así que puede que necesite establecer esta opción y seleccionar una entrada de la lista. En general, el primer elemento de la lista será el que se considera apropiado para su configuración local (esto es, el país y el idioma seleccionado como nativo cuando se instaló su sistema operativo), así que debería intentarse primero. Como el proceso de importación no sobrescribe su archivo de GnuCash, experimente libremente con cualquiera de estas selecciones.

#### Opción de notas de asiento

Bajo algunas condiciones de uso, los asientos no divididos de GnuCash pueden contener datos de memorándum residuales, a menudo incorrectos, que no son visibles normalmente para el usuario. Cuando se importen a &kappname; sin embargo, debido a diferencias en la visualización, estos datos pueden hacerse visibles. A menudo estos asientos tendrán un campo de Notas describiendo el propósito real del asiento. Si esta opción está seleccionada, estas notas (si están presentes) se usarán para sobrescribir los datos de memorándum extraños.

#### Opciones de depuración

Estas solo necesitarán usarse en el caso de problemas de importación. Si tiene esos problemas, debería informar de ellos a la lista de desarrollo de &kappname; &devlist;. Tenga en cuenta que los rastros producidos por estas opciones pueden contener datos de naturaleza confidencial, y que se debería usar la opción Convertir en anónimo si se van a hacer disponibles públicamente.

### Informe de importación

Al final del proceso, el importador genera un informe mostrando el número de entidades procesadas, y cualesquiera errores o anomalías encontrados. Este informe se mostrará en pantalla, y se puede guardar en un archivo para una revisión posterior. Un informe completo puede contener las siguientes secciones:

- Registrar recuentos

- Inconsistencias en los tipos de cuenta y acciones efectuadas

- Detalles de programaciones sospechosas

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

## Importador QIF

### Formato QIF considerado dañino

Generalmente hablando, el formato QIF debería evitarse siempre que sea posible. Es una mala elección para transportar datos financieros. Entre otras cosas, QIF adolece de estos problemas:

- Falta de formato estandarizado: Las diferentes versiones del mismo programa le dan diferentes significados al mismo elemento.

- Falta de identificador de asiento: Como no hay ningún número de ID asociado con cada asiento, emparejar asientos duplicados se hace por casualidad, en el mejor de los casos.

- Falta de expresividad: La gramática es muy sencilla, y no puede mostrar la profundidad de la información financiera que se encuentra en el entorno financiero de hoy día.

Por esto es por lo que generalmente Intuit dejó de apoyar la entrada QIF con Quicken en 2005. Si tiene opción de obtener los datos de alguna otra forma, como OFX, elija siempre esa opción.

### Cómo importar un archivo QIF

Para importar un archivo QIF, primero asegúrese de que tiene un archivo válido de &kappname; abierto. Después, seleccione Importar QIFdel menú Archivo.

El diálogo resultante le preguntará el nombre del archivo QIF, permitiéndole localizarlo haciendo clic en el botón Explorar.

Además, &kappname; diferencia entre la importación de un archivo de extracto bancario y los datos históricos exportados desde otra aplicación. El comportamiento predeterminado es importar un archivo de extracto bancario. En caso de que esté importando datos de su gestor de finanzas personales anterior, seleccione la opción apropiada.

En general, el perfil predeterminado de QIF debería funcionar con sus datos QIF. En algunos casos podría ser necesario usar un perfil de QIF modificado. Vea la siguiente sección para más detalles sobre ese asunto.

Haga clic en el botón Importar para importar el archivo QIF.

&kappname; empezará a escanear el archivo para determinar los formatos usados para representar fechas y números. En el caso de que no se pueda determinar un formato de fecha sin ambigüedades, &kappname; le pedirá al usuario que elija uno de la lista de posibles formatos de fecha.

Después, &kappname; importa los datos y crea todos los objetos necesarios, como la información del beneficiario, registros de cuentas y categorías, e información del precio de las acciones. Siempre que sea posible, los asientos existentes se compararán con la información importada. Se mostrará una barra de progreso y se actualizará durante el proceso de importación.

En el caso de que &kappname; no pueda detectar el nombre de la cuenta para importar, se le pedirá al usuario que seleccione la cuenta a la que se deben importar los datos. Si la cuenta no existe ya en su archivo, se puede crear una haciendo clic en Crear.

Al final de la importación, &kappname; muestra una ventana de estadísticas de importación del extracto.

Estadísticas del extracto Estadísticas del extracto

Después de importar, todos los asientos importados se mostrarán con fondo amarillo en la vista de libro mayor. En el caso de que &kappname; pueda hacer coincidir un asiento importado con uno ya existente, el fondo se mostrará en verde claro.

El siguiente paso es verificar los datos importados y aceptarlos. Esto es un proceso general y también se aplica a las importaciones de otras fuentes. Esto se esquematiza en una sección aparte de este documento.

Los colores usados para marcar los asientos importados y coincidentes son personalizables, y pueden ser diferentes en su entorno.

### Establecer un perfil QIF

Como no hay un formato universal estándar para los archivos QIF, diferentes fabricantes se han tomado libertades con el formato y han presentado sus propios matices. El perfil QIF le permite a &kappname; conocer las particularidades de su archivo. Para editar un perfil QIF existente, o para crear uno nuevo, presione el botón Nuevo en el diálogo de importación de QIF, junto al selector de perfiles.

Editor de perfiles QIF

Las versiones anteriores de &kappname; tenían una pestaña para las especificaciones de fechas y cantidades. &kappname; ahora determina esas configuraciones escaneando el archivo. Si no puede averiguarlas todas, le preguntará al usuario durante la importación.

### Emparejamiento de asientos

Como se ha dicho anteriormente, uno de los principales inconvenientes del formato QIF es la falta de un identificador único para cada asiento. Así, si importa un archivo QIF y algunos de los asientos ya están en su libro mayor, puede tenerlos duplicados. &kappname; intenta solucionar esto buscando asientos que parezcan similares a los que ya tiene. Si encuentra algo que parece la misma transacción, hará coincidir el aparente duplicado.

Esto puede ser un problema si tiene asientos que parecen muy similares, pero en realidad son diferentes. En este caso, puede desvincular esos asientos más tarde en la vista de libro mayor.

### Escribiendo un filtro de importación

A veces usted puede tener datos en un formato personalizado, como valores separados por comas (CSV), o algo distinto único para su situación. A partir de la versión 4.6, &kappname; incluye un complemento importador de CSV, pero usted todavía puede importar otro tipo de archivos a &kappname; usando un filtro de importación QIF. Un filtro es un programa personalizado escrito por usted que toma su archivo especial como entrada y presenta un archivo QIF como salida. Esto puede ser un script de shell, un script perl, un programa compilado escrito en C/C++ o cualquier otra cosa que se le ocurra, siempre que el sistema pueda ejecutarlo.

Para usarlo, edite su perfil QIF favorito y seleccione la pestaña Filtro. Introduzca la ubicación de su programa de filtro cuando se le pida. Después, siempre que haga una importación QIF usando este perfil, el archivo que seleccione para la importación se ejecutará primero mediante su filtro.

Un problema común es convertir una lista de valores separados por comas en un archivo QIF. Esto es un caso de libro para la herramienta awk. Cree un script llamado csv2qif.awk con las siguientes dos líneas como contenido:

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

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

Después, cambie las teclas QIF (D,T,N,P,M) para que coincidan con el orden de sus datos csv. Establezca el filtro de entrada como `awk -f csv2qif.awk`.

A veces surge otro problema al codificar archivos QIF. &kappname; espera que los archivos estén codificados en UTF8. Si su archivo está codificado en otra cosa, puede ser útil convertirlo a UTF8. Por ejemplo, para convertirlo desde iso-8859-1, podría establecer el filtro de entrada como `recode iso-8859-1..utf-8`.

### Extensiones especiales QIF de &kappname;

Como ya se ha mencionado, uno de los principales inconvenientes del formato QIF es la falta de un identificador único para cada transacción. Si está escribiendo su propio creador de archivos QIF (o filtro, como se describe arriba), puede solucionar este problema. &kappname; admite el campo «#». El importador interpretará esto como un ID de asiento único, y descartará el registro si la transacción ya está en el sistema.

## Exportador QIF

Para exportar una de sus cuentas a un archivo QIF, elija Exportar QIF en el menú Archivo. Se le preguntará qué cuenta sencilla exportar, a qué archivo se exportará y qué perfil QIF se utilizará.

Por el momento, el exportador QIF no maneja la exportación de inversiones.

Exportación QIF

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

## Complemento de importador OFX

### Obteniendo el complemento

&kappname; importará archivos OFX sin problemas. Sin embargo, esta funcionalidad no está incluida en el núcleo del programa. Debe obtener e instalar el complemento importador de OFX. Una vez esté instalado, la orden para importar archivos OFX se mostrará automáticamente bajo el menú Archivo Importar.

tenga en cuenta que muchas versiones preempaquetadas de &kappname; han sido realizadas con el importador OFX ya incluido, o disponible como un paquete aparte. Si el importador OFX no parece estar instalado en su versión, el primer lugar que comprobar es el mismo de donde obtuvo su paquete de &kappname; básico.

Si lo ha instalado desde RPM, el complemento importador de OFX está contenido dentro de kmymoney-ofx RPM. Debería estar disponible desde cualquier fuente de donde obtuvo el RPM básico de &kappname;. Si lo ha compilado a partir del código fuente, todo lo que necesitará es tener preferiblemente los encabezados y librerías libOFX 0.9 instalados en su sistema. el proceso de compilación de &kappname; los detectará y compilará el complemento. En el momento de lanzar la versión 4.6 de &kappname;, la última versión de libofx era la 0.9.4.

Si tiene problemas intentando compilar &kappname; y está seguro de que tiene la versión correcta de libOFX, por favor contacte con la lista de desarrolladores &devlist; para obtener asistencia. Incluya una copia de su archivo config.log comprimido con gzip.

### Importar un archivo OFX

La manera más básica de importar un archivo OFX es elegir el importador de la barra de menú. Desde el menú Archivo, elija Importar, y después OFX. Si OFX no se muestra bajo Importar, es que no tiene correctamente instalado el complemento de importación de OFX. Por favor, vea la sección anterior.

Lo primero que hará el importador será preguntarle a qué cuenta debe importar los asientos. Si en su archivo hay asientos de múltiples cuentas, se le preguntará esto varias veces.

Después de importar, algunos de sus asientos pueden aparecer con un signo de admiración en un triángulo amarillo en el libro mayor. Esto es porque necesitan tener asignada una categoría. El importador no ha podido asignarles una categoría basándose en su historial de asientos anteriores. Puede editar cada asiento en el libro mayor para asignarles una categoría, y la marca será eliminada.

Por favor, tenga en cuenta que esta sección describe el importador nativo OFX. Los archivos OFX también se pueden importar utilizando el complemento importador de AqBanking, si lo tiene instalado. tenga en cuenta que los dos importadores se comportan de forma ligeramente distinta, y que están escritos y asistidos por diferentes desarrolladores.

### Importar inversiones

Por favor, tenga en cuenta que si está importando un archivo con asientos de inversiones, esas inversiones deben existir primero en su archivo de &kappname;. El símbolo de la operación se utiliza para emparejar, así que por favor asegúrese de que el símbolo de &kappname; es exactamente el mismo que el del archivo que está importando.

### Conexión de web

La manera más fácil de importar un archivo OFX es establecer una Conexión de web. Visite la página web de su banco, y haga clic en un enlace para descargar un archivo OFX. Su navegador debería preguntarle qué programa quiere usar para abrir el programa. Apunte su navegador a &kappname;. Después, importará el archivo OFX descargado al archivo de &kappname; que haya abierto más recientemente. También puede cambiar las asociaciones de archivo de su entorno de escritorio, y hacer que &kappname; abra el archivo OFX automáticamente por usted.

Si necesita importar el archivo OFX a cualquier otro archivo de &kappname;, cargue ese archivo en &kappname; primero, y luego visite la página web de su banco.

### Conexión directa

&kappname; ahora reconoce la conexión directa de OFX. Esto le da la habilidad de contactar con su banco directamente para obtener extractos. En el futuro, existirá más ayuda escrita, y esto se moverá a su propia sección.

Para habilitar esta característica, debe compilar &kappname; con el conmutador --enable-ofxbanking (ahora el predeterminado).

Por favor, esté advertido: muchos bancos requieren un registro separado, le darán una contraseña o código de acceso, y puede que le cobren una tarifa por este servicio. Ningún banco admite directamente &kappname;. Tendrá que decirles que quiere usar el banco directamente desde MS Money o Quicken.

El primer paso es configurar cada cuenta para la que desea descargar extractos. Vaya a la vista de Cuentas, haga clic derecho en la cuenta que desee configurar y elija Mapear a cuenta en línea.... En caso de que haya instalado en su sistema más de un complemento de banca en línea, se le preguntará cuál desea utilizar. Para el método interno de OFX seleccione KMyMoney OFX. Se descargará una lista de bancos desde Internet y un asistente le guiará por la elección de un banco, introducidndo su nombre de usuario y su contraseña, y seleccionando una cuenta. Si encuentra que su banco no está listado, todavía puede ser posible utilizar la opción manual. Su banco puede ser capaz de proporcionarle los parámetros requeridos, o puede que usted tenga que hacer algo de investigación para encontrarlos.

Una vez ya tenga establecida una cuenta de banca en línea, vaya al libro mayor para esa cuenta. Entonces, en el menú Cuenta, elija Actualizar cuenta.... Esto le conectará con su banco, y descargará un extracto de los últimos 60 días.

En versiones de &kappname; anteriores a la 4.6, el nombre del beneficiario siempre se ha tomado del campo PAYEEID. Desde la versión 4.6, el nombre del beneficiario puede basarse en los campos PAYEEID, NAME o MEMO de la transacción OFX. Usted puede configurar esta característica y otras preferencias de la conexión directa OFX seleccionando la pestaña apropiada en el diálogo Editar cuenta.

### Exportar un archivo OFX

Actualmente no es posible exportar sus datos como un archivo OFX. Si tiene interés en contribuir en este área, por favor póngase en contacto con el equipo de desarrollo de libofx para más detalles.

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

## Complemento de importador CSV

### Razones para importar archivos CSV

En general, es preferible importar OFX. Sin embargo, no todas las entidades proporcionan datos en ese formato. Los archivos CSV (valores separados por comas) están casi siempre disponibles (a veces descritos como Excel u hojas de cálculo). Además, se pueden crear con relativa facilidad capturando los datos que desea importar en un archivo de texto y editándolo manualmente.

El objetivo principal de este complemento es importar datos a partir de estadillos bancarios, pero también tiene capadidad de importar algunos estadillos de inversiones. Además, mantiene su habilidad de producir archivos QIF a partir de CSV.

### Obteniendo el complemento

&kappname; importará archivos CSV (valores separados por comas) sin problemas. Sin embargo, esta funcionalidad no está incluida en el núcleo del programa, aunque la fuente se proporciona ahora como parte del archivo comprimido de &kappname;, que necesita instalarse. Una vez hecho eso, la orden para importar archivos CSV se mostrará automáticamente bajo el menú Archivo Importar.

El complemento de importación de CSV es mucho más reciente que el complemento OFX, así que puede llevar algún tiempo hasta que muchas versiones pre-empaquetadas de &kappname; se compilen con el importador de CSV incluido o disponible como un paquete separado. Asegúrese de que está habilitado en &kappname;. Compruebe el menú Preferencias Configurar KMyMoney Complementos. Si el importador CSV no parece estar instalado en su versión, el primer sitio que comprobar es el mismo lugar de donde consiguió su paquete básico de &kappname;.

Si lo ha instalado desde RPM, el complemento importador de CSV está contenido dentro del RPM kmymoney-csv. Debería estar disponible desde cualquier fuente de donde obtuvo el RPM básico de &kappname;. Si lo ha compilado a partir del código fuente, no debería haber requisitos adicionales. El proceso de compilación de &kappname; debería detectar la fuente del complemento y compilarlo.

Si tiene problemas intentando compilar &kappname; y está seguro de que tiene disponible el código fuente del complemento, por favor contacte con la lista de desarrolladores &devlist; para obtener asistencia. Incluya una copia de su archivo config.log comprimido con gzip.

### Importar un archivo CSV

Para importar un archivo CSV, elija el importador de la barra de menú: Archivo Importar CSV.... Si CSV no se muestra bajo Importar, es que no tiene correctamente instalado el complemento de importación de CSV. Por favor, vea la sección anterior.

La ventana del importador de CSV tiene tres secciones principales.

- El área superior izquierda tiene tres pestañas: Banca, Inversiones y Preferencias. Debido a las diferencias al procesar los datos bancarios y los de inversiones, necesita indicar qué tipo de datos está importando antes de seleccionar el archivo. Puede hacer esto haciendo clic en la pestaña Banca o en Inversiones. La pestaña seleccionada se indica mediante un «*» tras la pestaña, como recordatorio en caso de que haga clic accidentalmente en la pestaña equivocada. Si después selecciona otra pestaña, el complemento le advierte de que perderá su configuración actual, y le da la opción de cancelar el cambio. las tres pestañas se describen con más detalle debajo.

- La sección inferior de la ventana muestra el contenido del archivo csv que se está importando actualmente.

- El área superior izquierda contiene algunos botones para controla el proceso de importación.

  ### Abrir archivo

  Esto se usa para seleccionar el archivo a importar. Como se ha dicho arriba, el archivo se importará como datos bancarios o de inversiones, tal como se indica por la pestaña marcada con un asterisco («*»).

  ### Importar

  Esto le dice al complemento que importe los datos del archivo basándose en la elección que usted ha hecho en la pestaña Banca o Inversiones y en la de Preferencias, tal como se describe más abajo. &kappname; le pedirá la cuenta correcta a la que importar los datos.

  ### Guardar como QIF

  Este botón le da la capacidad, después de haber completado la importación, de guardar los datos del archivo csv como un archivo qif, si le hiciera falta por algún motivo.

  ### Salir

  Cierra el complemento tras guardar sus preferencias.

  ### Limpiar la selección

  Limpiar todas las columnas y configuraciones que ha elegido o ajustado.

Importar un archivo CSV es un proceso en varios pasos. No todos los pasos son siempre necesarios, y el orden exacto de estos pasos depende de los datos específicos que se importen.

1. Elija si está importando datos bancarios o de inversiones.

2. Abra el archivo que contiene los datos.

3. Confirme el delimitador de campo, y posiblemente el delimitador de texto, y establezca las líneas inicial y final para ser importadas.

4. Asigne qué campos o columnas contienen tipos particulares de datos pertinentes para el tipo de importación.

5. Confirme o ajuste la configuración, como el formato de fecha o el decimal.

6. Confirme la importación.

Una vez ha seleccionado la pestaña de Banca o Inversiones, haga clic en Abrir archivo y seleccione su archivo csv de entrada. Antes de proceder con la importación del archivo en sí, necesita darle a &kappname; algunos detalles sobre la disposición del archivo, que es diferente dependiendo de si el archivo contiene datos bancarios o de inversiones. Primero, sin embargo, puede que necesite ajustar algunas configuraciones comunes a ambos tipos de archivo.

#### Preferencias del importador de CSV

Seleccione la pestaña Preferencias en la ventana de importación. Aquí se configuran varios campos que le permiten al complemento interpretar correctamente su archivo de entrada. En general, esto se hace después de que usted indique si está importando datos bancarios o de inversiones y abra el archivo, pero puede que necesite primero corregir el delimitador de campos si lo que se muestra es obviamente incorrecto. Entonces, asigne campos específicos a las columnas. Tenga en cuenta que esta información se guarda, así que solo necesitará confirmarla una vez una vez que importe un archivo csv creado con una configuración diferente. Además, algunas de las preferencias pueden ser ya correctas, basándose en su configuración local.

#### Delimitador de campo

Incluso aunque el archivo todavía se llame delimitado por comas, el carácter utilizado para separar los valores en un archivo puede ser una coma, un punto y coma o una tabulación. Una vez esto se ha establecido correctamente, sus datos deberían aparecer correctamente divididos en campos.

#### Delimitador de texto

Esto será habitualmente unas comillas simples o dobles. Es importante que el carácter delimitador de campo aparezca dentro de una columna, como el campo memo.

Una vez los campos se muestren correctamente, debe decirle al complemento qué diseño de columna tiene el archivo de entrada, lo que hará en las pestañas de Banca o Inversiones, según sea apropiado. Tenga en cuenta que puede cambiar entre la pestaña de tipo de datos y la de Preferencias sin perder los datos. En la pestaña de Banca o de Inversiones, si comete un error al introducir los números de columna, simplemente reintroduzca el número correcto de columnas. De forma alternativa, haga clic en Limpiar selección para limpiar todas las selecciones y empezar de nuevo.

#### Símbolo decimal

Para cada importación, después de que los campos han sido seleccionados, se debería escoger el símbolo decimal, ya que activa el proceso de validación de sus selecciones de la columna de moneda en las pestañas de Banca o Inversiones. Establezca el símbolo decimal para que coincida con el de su archivo, no con el de su configuración local. Si su configuración local tiene un valor diferente, se llevará a cabo la conversión. En la vista del archivo de la parte inferior de la ventana, los campos numéricos se destacan en verde si esta configuración muestra resultados válidos; de otra manera se destacan en rojo. El resaltado también refleja la configuración de las líneas inicial y final (ver abajo). Podría haber avisos si alguna de las celdas seleccionadas no contiene el símbolo seleccionado.

#### Símbolo de miles

Esto no necesita seleccionarse, ya que se basa automáticamente en el Símbolo decimal. Se proporciona simplemente como guía.

#### Formato de fecha

Esto necesita configurarse según el orden de año, mes y día de cualquier fecha del archivo. Si el complemento encuentra datos incompatibles con esta configuración, se quejará cuando intente realizar la importación. Sin embargo, si la configuración es errónea pero no presenta resultados erróneos (como datos con días inferiores a 12, de forma que el mes y el día podrían confundirse) simplemente obtendrá datos erróneos, porque el complemento no puede saber que usted se ha equivocado. El error será obvio en el libro mayor tras la importación.

#### Línea inicial

Establezca esto para que el importador se salte cualquier línea de encabezamiento del archivo.

#### Línea final

El importador establecerá esta línea automáticamente como la última del archivo. Usted solo necesitará ajustarla si hay líneas a pie de página en el archivo que el importador debería ignorar. De otra forma, es probable que obtenga un aviso de error.

#### Importar datos bancarios

Importar datos bancarios es bastante sencillo. Solo necesita seleccionar los números de columna apropiados, lo que se hace en la pestaña Banca.

- Si su archivo tiene una sola columna para la cantidad, haga clic en el botón de radio Columna de cantidad, e introduzca el número de columnas apropiado en la lista desplegable Cantidad.

- Si hay dos columnas (débito y crédito) haga clic en el botón de radio Columnas de débito/crédito e introduzca el número de columnas apropiado en las listas desplegables de Débitos y Créditos.

- Si desea guardar los valores de más de una columna en el campo memo, seleccione esas columnas secuencialmente. Aparecerá un asterisco junto a las opciones seleccionadas como recordatorio.

- El complemento detecta los intentos de seleccionar la misma columna para dos campos diferentes. Como no puede saber cuál es correcto, mostrará un mensaje de error y limpiará ambas selecciones.

Una vez esté contento con la configuración y la selección de columnas, puede importar el archivo como se describe más abajo.

#### Importar datos de inversiones

Para importar datos de inversiones, haga clic en la pestaña Inversiones. El procedimiento es similar al de arriba.

- Seleccione la columna que contiene la Fecha de la transacción.

- Seleccione la columna que contiene el Precio. La configuración de Fracción el precio es para hacer coincidir los precios de las unidades importadas con los precios existentes, donde por ejemplo uno está en $ y otro en centavos, o £ frente a peniques, etc. Por ejemplo, si su archivo de precios en &kappname; está en dólares y también lo está el archivo CSV, entonces establezca la fracción de precio a 1.0. Si, por el contrario, los precios del archivo CSV está en centavos, establezca la fracción a 0,01.

- La columna Tipo/acción es donde se describe la actividad: compra, venta, reinversión, etc.

- Seleccione la columna que contiene la Cantidad o el número de acciones de la transacción.

- Asigne una Columna libre según haya una tarifa involucrada, y haga clic en la casilla La tarifa es un porcentaje si la tarifa importada es un porcentaje, más que un valor. (Un aviso aquí: Puede ser que la tarifa haya sido incluida en el precio unitario. Si es así, no seleccione ninguna columna de tarifa, aunque cualquier tarifa mostrada se retenga seleccionando la columna de tarifa como otra columna memo).

- Como con los datos bancarios, el campo Memo se puede usar para seleccionar más de una columna (secuencialmente) para incluir valores múltiples en el campo memo de la transacción importada.

- Seleccione la columna que contiene la Cantidad.

- Introduzca el nombre del valor bursátil en el campo Nombre del valor, asegurándose de que coincide exactamente con el valor existente especificado en &kappname;. Si el nombre del valor aparece en el archivo importado, haga doble clic sobre él para seleccionarlo, y después cópielo y péguelo para que coincida, atendiendo a si ha usado una variación o abreviatura en &kappname;. Conforme introduzca los nombres de los valores en este campo, se retienen en el archivo de fuentes (vea abajo para más detalles sobre este archivo). Esto significa que estarán disponibles en esta lista desplegable la próxima vez que ejecute el complemento. Si lo desea, también puede editar el archivo de fuentes para añadir una lista completa de valores que espera encontrarse en sus archivos importados. Si ha introducido un nombre incorrectamente, haga clic en el botón Ocultar valor. Esto elimina el nombre de la lista del complemento y no tiene efecto sobre sus datos en &kappname;.

  Debido a la falta de estandarización de formatos, la versión actual de este complemento se restringe a importar datos para un valor bursátil de una cuenta cada vez. Si su archivo contiene datos para más de un valor, puede importarlo en etapas, usando las líneas iniciales y finales para identificar solo uno cada vez.

#### Completar la importación

Para datos tanto bancarios como de inversiones, una vez haya seleccionado todas las columnas apropiadas, haga clic en Importar. &kappname; mostrará ahora un cuadro de diálogo para que elija la cuenta correcta a la que importar los datos. En esta etapa es posible guardarlo como un archivo qif, si le hiciera falta por alguna razón, haciendo clic en Guardar como QIF.

Para los datos de inversiones, si cualquier transacción incluye otra cuenta, p.ej. una cuenta corriente o de corretaje para un dividendo recibido o para hacer un pago, aparecerá un cuadro de mensaje para introducir el nombre de la cuenta a la que se hará la transferencia. Si la cuenta de inversiones permite, digamos, extender cheques, debería introducir un nombre de cuenta corriente o de corretaje ya existente. De forma similar, introduzca el número de columnas que contengan el beneficiario, si se requiere. Si se comete un error al introducir el nombre de la cuenta, la importación seguirá adelante, pero &kappname; no lo reconocerá y marcará los asientos como si les faltara la asignación de una categoría. Si el nombre de la cuenta requerido es largo, introduzca solo unos pocos caracteres. La importación seguirá adelante, pero &kappname; marcará los asientos como si les faltara tener una categoría asignada, y deberá seleccionarse la cuenta correcta de transferencia.

Si, durante la importación de una transacción, el complemento no encuentra ningún tipo válido, mostrará el asiento incorrecto, y el usuario podrá seleccionar un tipo válido para sustituirlo, dependiendo de la combinación de valores de cantidad, precio e importe. Para cada asiento, el complemento validará los contenidos de la columna para asegurarse de que coinciden con el tipo de acción. Por ejemplo, si aparece una cantidad pero no el precio o el importe, se supondrá que la transacción solo puede ser para añadir o eliminar acciones. O, si hay un importe pero no una cantidad ni un precio, se supone que es un dividendo; etc.

Si encuentra que sus estadillos de inversiones continúan incluyendo tipos de actividad que no se reconocen, añádalos a la sección en el archivo de fuente (vea más abajo para más detalles sobre este archivo. Por ejemplo, en la sección [InvestmentSettings] de este archivo, el campo BuyParam incluye entradas para Adquisición, Compra, Nueva inversión e Intercambio. Si encuentra otro diferente, añádalo a la lista correcta y reinicie el complemento. Puede darse cuenta de que hay similitudes entre las entradas de campos diferentes, y puede que encuentre con que se seleccione un tipo de actividad erróneo. El complemento comprueba estas listas en el siguiente orden: Shrsin, DivX, Reinvdiv, Corretaje, Compra, Venta, Eliminación. Reordenar estas listas para que se ajuste a esto no funciona como se podría esperar, ya que las entradas en el archivo de fuentes se ordenan por orden alfabético. Si el parámetro infractor es uno que no necesita, simplemente elimínelo del archivo. Si no es posible, puede que necesite editar su archivo antes de introducirlo.

Tenga en cuenta que puede parecer que las entradas mostradas en la sección inferior de la ventana del complemento se pueden editar, y en realidad se puede, pero los cambios no se mantienen. Se muestra para verse, pero no para editarse. El archivo de entrada nunca se altera mediante el complemento, y los datos importados vienen del archivo de entrada, no por lo que se muestra.

#### Configuración del complemento importador de CSV

Un inconveniente conocido del formato QIF es que es un formato muy flojo. Con los archivos CSV no solo hay el mismo problema, sino que además no hay un formato fijo acordado. Con los archivos de inversiones, en particular, hay muchas más probabilidades de encontrar variaciones al especificar los diferentes tipos de actividades representadas en los datos. El complemento gestiona esto listando estos tipos de actividad en un archivo de fuente, llamado csvimporterrc. La ubicación del archivo depende de su distribución. Habitualmente estará ubicado en ~/.kde4/share/config/,pero también puede estar en ~/.kde/... Usar este archivo de fuente le permite al usuario añadir un tipo de actividad que el desarrollador no ha encontrado. Si el archivo no existe la primera vez que se ejecuta el importador, el complemento creará una versión por defecto que contendrá unas pocas de las descripciones más obvias.

Se proporcionan varios archivos csv de muestra (en la carpeta kmymoney/ contrib/csvimporter del árbol fuente) con la esperanza de que sean de ayuda. Por ejemplo, en la muestra de inversiones, un tipo de actividad es «ReInvestorContract Buy : ReInvested Units». En el proceso de validación, la primera coincidencia con éxito es ReInv en ReInvestorContract Buy, de forma que la transacción se clasifica como Reinvdiv, aunque también se menciona Buy. Otro ejemplo que se ha observado es un tipo de actividad de Reinvest aunque la transacción no incluyera ni precio ni cantidad, solo un importe, necesitando un trato de Add Shares, o Shrsin.

Cuando se creó este complemento, solo se habían visto como ejemplos unos pocos formatos de inversión, y puede ser que encuentre alguno que no se puede gestionar correctamente. Si encuentra un archivo así, por favor envía un ejemplo apropiado (editado para eliminar o sustituir la información personal) a la lista de usuarios de &kappname; &userlist; o a la lista de desarrolladores &devlist;; el desarrollador hará lo que pueda para modificar el complemento y que lo gestione.

## Escribir complementos de importación

&kappname; contiene apoyo específico para complementos de importación. Si tiene un formato personalizado y quiere escribir un complemento de importación, apreciaríamos su contribución. Para hacerlo, necesitará compilar el programa desde el código fuente. Después, use el complemento de importación de OFX como ejemplo.