# GnuCash

GnuCash es un sistema de finanzas personal en software libre que utiliza la doble entrada.
Pretendía inicialmente capacidades similares a las del programa comercial Quicken de la compañía Intuit, es decir gestión de finanzas personales. La evolución actual está más próxima a desarrollar herramientas para pymes, además de las finanzas individuales.
GnuCash forma parte del proyecto GNU y funciona en muchas plataformas: en GNU/Linux (bajo GNOME), y también en Windows (Windows 2000 o superior), macOS, FreeBSD, Solaris y otras plataformas UNIX.
Se desarrolló inicialmente para plataformas GNU (basado en Unix), pero desde el 15 de julio de 2007, versión 2.2.0, está también disponible una versión directamente compilada para usar en Windows. La primera versión directamente instalable en Mac fue la 1.8.
El programa sirve tanto para llevar una contabilidad personal o familiar como de pequeñas empresas. Es fácilmente configurable, utiliza el sistema de contabilidad por partida doble o de doble entrada, permite la creación y modificación de un plan contable jerarquizado, e incorpora un módulo de facturación y de gestión de las relaciones con clientes/deudores y con proveedores/acreedores. Los diferentes estados para la presentación de resultados contables se pueden preparar en forma de informes, que pueden acompañarse con gráficos. Es fácil la adaptación a los regímenes de impuestos de diferentes países. Sin embargo, su ergonomía es mejorable y no ofrece mecanismos de protección que tienen otros programas de contabilidad comerciales propietarios. Es conveniente un buen conocimiento de contabilidad para un uso productivo. Es muy potente como herramienta para fines didácticos.

## Características

Las siguientes son algunas de las características de GnuCash:
* Gestión de operaciones mediante Contabilidad por partida doble
* Características adecuadas para llevar la contabilidad de pequeñas empresas (pymes)
* Capacidad de programar transacciones en el tiempo
* Posibilidad de importar ficheros en los formatos de otros programas del mismo tipo OFX y QIF
* Soporta FinTS (Financial Transaction Services - Sistema estándar de banca en línea).
* posibilidad de generar informes estándares y también de hacer informes personalizados
* presupuestos
* Soporte multiusuario de SQL (Limitado)
* Manejo de transacciones multi-divisas
* Gestión de carteras de acciones/fondos de inversión
* Cotizaciones en línea de Acciones y Fondos de inversión

### Características futuras posibles

Unas características deseables en próximas versiones de GnuCash, en particular para las empresas (Pymes), serían:
* un módulo para la gestión de inventarios,
* un módulo de nóminas, y
* un módulo de punto de venta

## Uso con fines educativos

Los programas de contabilidad comerciales ocultan su modo de funcionamiento interno de manera que son más fáciles para los usuarios finales, pero no permiten inspeccionar cómo realizan los cálculos o los ajustes. GnuCash realiza la contabilidad y las transacciones de una manera totalmente transparente. Esto hace que sea más fácil aprender las bases de la contabilidad y en particular el empleo del sistema de partida doble. Por eso se recomienda a veces como programa educativo.

## Tipos de cuentas contables en GnuCash

GnuCash utiliza muchos tipos de cuentas. Estas son las principales:
* Caja, es la cuenta en la que se refleja el dinero líquido disponible en el bolsillo, o en casa, en una caja.
* Banco, son cuentas de tipo cuenta corriente o de ahorros que están en un banco u otra institución financiera.
* crédito, cuentas de tipo tarjetas de crédito
* capital y disponible, son cuentas en las que se anotan cosas de valor. El coste de compra de una casa se puede registrar en la cuenta mi casa. El coste de un coche se puede poner en una cuenta llamada mi coche. Las cuentas de capital pueden sufrir depreciaciones o apreciaciones de valor.
* existencias y fondos mutuales, son cuentas donde se registran formas de capital que generan dividendos, intereses o ganancias de capital. Son acciones, bonos, obligaciones. Generalmente se registran tres tipos de información separadas: precio, número de acciones y coste.
* entradas: ingresos
* gastos: gastos
* equidad, cuentas que se utilizan para empezar al principio una contabilidad, o al abrir un nuevo ejercicio contable después de cerrar el anterior. Representan el patrimonio.
* monedas, son cuentas donde se anotan las cantidades disponibles en divisas, en monedas distintas de la normal utilizada en las demás cuentas.
* Hay también cuentas especiales para los usos de las pymes.
Las cuentas se organizan en un mapa de cuentas, un árbol jerarquizado. Se crean subcuentas y se pueden renumerar para adaptar la jerarquía y el orden de presentación.

## Balance

GnuCash utiliza una hoja de balance con activos (assets), pasivos (liabilities) y patrimonio (equity).

## Tipos de informes

GNUCash genera informes como el resumen de cuentas, resumen de operaciones o transacciones, ingresos y gastos e ingresos y gastos relacionados con impuestos de manera que se pueden usar para hacer la declaración de impuestos. Uno de ellos es el formato TXF (Tax eXchange Format). Produce informes que se pueden utilizar en programas que ayudan a hacer la declaración de impuestos como Turbotax.
También genera informes personalizados multicolumna.
Junto con los informes puede generar gráficos.

## Características internas

Una característica notable de GnuCash es que utiliza aritmética de coma fija lo que evita los errores de redondeo de la aritmética de coma flotante. Esta característica se introdujo en la versión 1.6.
GnuCash está escrito principalmente en lenguaje C, con una pequeña parte en el lenguaje de programación Scheme.
GnuCash estuvo basado inicialmente en el conjunto de herramientas gráficas GTK, disponible para varios sistemas operativos como GNU/Linux, FreeBSD, Solaris y Windows. GNUcash guarda los datos en ficheros en formato XML.
Las versiones 1.x funcionaban sobre GTK 1.x. Desde la versión 2.0 (2006) utilizaba GTK 2.
La versión 2.4.0. (publicada el 21 de diciembre de 2010) introdujo el motor gráfico WebKit y la posibilidad de operar usando bases de datos SQLite 3, MySQL o PostgreSQL además del usual formato de datos en XML.
GnuCash forma parte del proyecto Gnome y, como tal, utiliza las mismas herramientas para su desarrollo, como por ejemplo el sistema de listas de correo para la comunicación entre desarrolladores y también entre usuarios, la notificación de errores y la preparación de las diferentes versiones lingüísticas. Hay además una wiki donde se recoge documentación y guías adicionales.
Desafortunadamente, la última versión del manual del programa en español es la referente a la versión 1.6, al menos en el momento del lanzamiento de la versión 2.4.8.

## Historia

El desarrollo de GnuCash comenzó en 1997 y la primera versión estable fue publicada en 1998. La parte de contabilidad para pequeñas y medianas empresas (Pymes) se introdujo en 2001.

### Historial de versiones

* Versión 1.2.2. publicada el 28.4.2000
* Versión 1.6.0. publicada el 11.6.2001
* Versión 1.8.0. publicada el 3.2.2003
* Versión 2.0.0. publicada el 9.7.2006
* Versión 2.2.1. publicada el 20.8.2007
* Versión 2.2.4. publicada el 3.3.2008
* Versión 2.2.8. publicada el 14.12.2008
* Versión 2.3.0. publicada el 15.05.2009
* Versión 2.4.4. publicada el 14.3.2011
* Versión 2.4.11. publicada el 14.7.2012
* Versión 2.6.0. publicada el 30.12.2013
* Versión 2.6.3. publicado el 01.04.2014
* Versión 2.6.4. publicado el 28.09.2014
* Versión 2.6.5. publicado el 16.12.2014
* Versión 2.6.6. publicado el 30.03.2015
* Versión 2.6.7. publicado el 28.06.2015
* Versión 2.6.14. publicado el 17.19.2016
* Versión 2.6.15. publicado el 18.12.2016
* Versión 2.6.16. publicado el 26.03.2017
Nota: No todas las versiones intermedias están reflejadas en este historial.