Tutorial de GnuCash en castellano
13/07/2016
GnuCash es un programa de contabilidad y finanzas para familias y PYMES, software libre perteneciente al proyecto GNOME. Es un programa muy potente, por desgracia su uso puede no ser muy intuitivo.
Todo absolutamente todo se guarda en un único archivo, que puede ser de varios tipos (XML, sqlite3, MySQL, PostgreSQL). Cuando iniciemos GnuCash veremos este asistente que nos ayudará a crear un libro.
Lo primero que deberemos elegir será la moneda principal. Lo habitual es que elijáis la moneda oficial de vuestro país, en mi caso, el Euro.
Ahora aparecerán las opciones del libro de contabilidad. Estas opciones normalmente solo se aplican a empresas y están destinadas a generar facturas o hacer presupuestos. La única opción que quizá os interese es la de Trading accounts que es interesante si vais a manejar cuentas en varias monedas. Ahora tenemos que seleccionar una plantilla para tener cuentas ya generadas. Esto puede ser algo confuso, ya que es obligatorio seleccionar al menos una plantilla. Yo no recomiendo ninguna y prefiero empezar de cero, para eso selecciona la plantilla más básica que hay Childcare expenses y continúa hasta que estes ya en la vista principal de GnuCash.
A continuación vamos a dejar el libro vacío. Pulsa botón derecho sobre Expenses y luego clic en Delete account... Se te preguntará si quieres mover o borrar, selecciona la opción Delete all subaccounts.
GnuCash usa un sistema de doble entrada. Quiere decir que todos los gastos e ingresos deben ir anotados en dos partes. Por ejemplo, si anotamos en Gastos una comida en un restaurante, tenemos que anotar también el gasto en la cuenta de Metálico, que es de donde provino el dinero. Naturalemente no lo tenemos que hacer manualmente, cuando anotemos un ingreso o gasto en GnuCash este se encargará de anotarlo donde sea oportuno.
Ahora que tenemos el libro en blanco vamos a ir creando unas cuentas maestras y unas subcuentas. GnuCash dispone de los siguientes tipos de cuentas:
¿Son estas todos los tipos de cuenta que permite GnuCash? No, hay algunas más de tipo interno. Sin embargo con estos tipos tendremos suficientes para construir el árbol de cuentas de nuestro libro.
Creamos una nueva cuenta New account...
Lo primero es decidir el Account Type, cuando crees tu libro yo recomiendo hacer la primera la de Activos, del tipo Asset. ¿Qué nos pregunta el formulario?
Creamos la cuenta y listo. Ahora vamos a crear muchas cuentas hasta que se adapte a nuestra situación. Mis consejos para diseñar el árbol son:
GnuCash permite que creemos cuentas en muchas divisas. Sin embargo, como puedes apreciar en la imagen superior, en la cuenta de PayPal, la moneda extranjera no aparece convertida y no es tenida en cuenta. Esto es porque por defecto GnuCash aplica un tipo de cambio 0, es decir, la moneda extranjera no vale nada. Puedes dejarlo así o puedes añadir el cambio. Hay dos formas, una manual y otra automática.
Vamos a Tools -> Price Editor. Veremos una ventana vacía con botones a la derecha. Si tenemos Perl instalado en nuestro ordenador con el módulo Finance::Quote veremos el botón Get Quotes activado. Ese botón sirve para actualizar los precios de los cambios de divisa y de las acciones. Ese es el modo automático. Si necesitas instalar Perl en Windows puedes usar ActivePerl o Strawberry Perl.
Si queremos hacer el cambio manualmente iremos a Add.
En este caso vamos a añadir el precio para pasar de dólares USD a euros. El namespace es CURRENCY, security es la moneda a la que queramos hacer la transformación a nuestra moneda. Currency la dejamos tal cual. La fecha estará puesta a día de hoy. Esto es muy cómodo porque GnuCash permite guardar el historial de tipos de cambio. Así, cuando haya un nuevo tipo de cambio simplemente vuelves a dar a Add... y se guardará en una fecha distinta. GnuCash será lo suficientemente listo para saber que tipo de cambio ha de usar en cada momento. Por último Price es el precio de 1 dólar en euros. Hay muchos sitios de donde sacar esta información. En Google simplemente con escribir "1 USD to EUR" tendremos el resultado.
Cuando usemos GnuCash en nuestro día a día lo más normal es que anotemos ingresos y gastos. Es necesario haber creado cuentas de tipo Income y Expense para anotar ingresos y gastos respectivamente. Dentro es habitual crear subcuentas, cada una de una categoría de ingreso o gasto (sueldo, pensión, multas, restaurantes, ...).
Selecciona la cuenta y haz doble click o pulsa el botón Open, se abrirá en una nueva pestaña, donde podremos ver algo parecido a un libro de contabilidad del MundoReal. Allí podemos revisar las anotaciones anteriores y editarlas (aunque no es recomendable editar la contabilidad, ejem,...). Pero por defecto el foco se centra en la fila inferior, donde podemos introducir una nueva entrada al libro de contabilidad.
La fecha la podemos ajustar a cuando se realizó el ingreso/gasto. El número es solo necesario si eres una empresa y las facturas están numeradas. La descripción es un campo libre, donde explicamos el ingreso/gasto. La siguiente columna es Transfer donde debemos de elegir la cuenta de Activos donde se ingresará/eliminará la cantidad. Allí, en la cuenta del Activo también se guarda una copia. Recuerda GnuCash es un sistema de partida doble. Con el botón superior Jump es posible ir a la cuenta del Activo y viceversa, aunque no es necesario. La R es un indicador de reconciliación, no se toca. Charge son cargos que pudiera tener e Income es el beneficio. En una cuenta Expense las columnas son Expense y Rebate, de funcionamiento exactamente igual. Ambas tienen Balance que es el balance total.
Si tienes una transacción compleja donde los ingresos y los gastos ocurren en varios lugares (pagar el sueldo a un trabajador) puedes hacer una transacción partida o Split.
Las transferencias entre cuentas de activos son sencillas de realizar. Simplemente busca en Actions -> Transfer. En caso de que las cuentas tengan distinta divisa es posible ajustar el cambio. El botón Fetch Rate solo funcionará si tienes el plugin de Perl instalado. La columna de la izquierda es la cuenta de origen y a la derecha se sitúa la cuenta de destino.
Si sabemos que un ingreso o pago va a realizarse de manera periódica podemos automatizarlo. Cuando GnuCash se abra comprobará si desde que abriste el programa por última vez ha habido algún día con una operación programada y la realizará.
Vamos a Actions -> Schedule -> Scheduled transactions editor. En una nueva pestaña veremos un calendario y una lista de operaciones vacía. Creamos una nueva en New.
En Frequency ajustamos cuando queremos que esta operación se realice. Otra opción es hacer una operación en el libro y desde allí crear una operación programada siguiendo los mismos parámetros que la ya realizada.
GnuCash no es solo esto, también dispone de informes y presupuestos, pero eso se verá en otro momento.
Creando un libro
Todo absolutamente todo se guarda en un único archivo, que puede ser de varios tipos (XML, sqlite3, MySQL, PostgreSQL). Cuando iniciemos GnuCash veremos este asistente que nos ayudará a crear un libro.
Lo primero que deberemos elegir será la moneda principal. Lo habitual es que elijáis la moneda oficial de vuestro país, en mi caso, el Euro.
Ahora aparecerán las opciones del libro de contabilidad. Estas opciones normalmente solo se aplican a empresas y están destinadas a generar facturas o hacer presupuestos. La única opción que quizá os interese es la de Trading accounts que es interesante si vais a manejar cuentas en varias monedas. Ahora tenemos que seleccionar una plantilla para tener cuentas ya generadas. Esto puede ser algo confuso, ya que es obligatorio seleccionar al menos una plantilla. Yo no recomiendo ninguna y prefiero empezar de cero, para eso selecciona la plantilla más básica que hay Childcare expenses y continúa hasta que estes ya en la vista principal de GnuCash.
A continuación vamos a dejar el libro vacío. Pulsa botón derecho sobre Expenses y luego clic en Delete account... Se te preguntará si quieres mover o borrar, selecciona la opción Delete all subaccounts.
Creando cuentas
GnuCash usa un sistema de doble entrada. Quiere decir que todos los gastos e ingresos deben ir anotados en dos partes. Por ejemplo, si anotamos en Gastos una comida en un restaurante, tenemos que anotar también el gasto en la cuenta de Metálico, que es de donde provino el dinero. Naturalemente no lo tenemos que hacer manualmente, cuando anotemos un ingreso o gasto en GnuCash este se encargará de anotarlo donde sea oportuno.
Ahora que tenemos el libro en blanco vamos a ir creando unas cuentas maestras y unas subcuentas. GnuCash dispone de los siguientes tipos de cuentas:
- Asset (Activos)
- Son aquellas cosas que tienen valor y pueden usarse para pagar cosas. En esta categoría entra desde el dinero en metálico hasta las propiedades inmobiliarias.
- Bank (Banco)
- Este subtipo se usa para anotar los fondos de una cuenta bancaria (que puede tener un interés) y para las tarjetas de débito.
- Cash (Metálico)
- Este subtipo de cuenta nos permite anotar el dinero que poseemos en metálico
- Credit Card (Tarjeta de crétido)
- Este subtipo de cuenta es específico para tarjetas de crédito
- Equity
- Este tipo está destinado a ofrecer los saldos de apertura de las cuentas. Como GnuCash es un sistema de partida doble es necesario que el dinero provenga de algún sitio. Normalmente vendrá de Income pero cuando abrimos una cuenta en la que ya teníamos dinero antes y queremos que GnuCash la contabilice, añadir el saldo de apertura a ingresos no es práctica recomendada. Así Equity permite tener saldos de apertura en las cuentas que no habían sido contabilizados antes por GnuCash.
- Expense (Gastos)
- Aquí se anotan los gastos. Esta cuenta y sus subcuentas son las que más usaremos en el día a día.
- Income (Ingresos)
- Aquí se anotan los ingresos. Es la segunda que más usaremos después de Expense.
- Liability (Obligaciones)
- Aquí podemos anotar deudas que tenemos pendientes de pago.
- Mutual Fund (Fondo de Inversión)
- Una cartera de valores de inversión compuesta de Stocks.
- Stock (Acción)
- Un subtipo de cuenta que representa las acciones que se poseen de una empresa.
¿Son estas todos los tipos de cuenta que permite GnuCash? No, hay algunas más de tipo interno. Sin embargo con estos tipos tendremos suficientes para construir el árbol de cuentas de nuestro libro.
Creamos una nueva cuenta New account...
Lo primero es decidir el Account Type, cuando crees tu libro yo recomiendo hacer la primera la de Activos, del tipo Asset. ¿Qué nos pregunta el formulario?
- Account name. Un nombre para la cuenta.
- Account code. Permite asignar un código alfanumérico a la cuenta. Es usado para determinar el orden de las cuentas cuando se generan informes. Además si trabajas con contabilidades más complejas sabrás que es habitual que en muchos sitios incluso pidan los gastos en números de cuenta estandarizados (en la administración por lo menos es así, así ellos pueden combinar todas las cuentas del mismo número y sacar datos globales). Es habitual que las cuentas padre acaben en cero. Es totalmente opcional y si usas GnuCash en casa simplemente deja ese campo vacío.
- Description. Una descripción de la cuenta
- Security/Currency. Si nuestra cuenta no es Stock o Mutual Fund sirve para indicar la moneda de la cuenta. Si sí que es una cuenta Stock o Mutual Fund sirve para indicar la acción en sí. Cabe destacar que en GnuCash es posible añadir subcuentas dentro de una cuenta cuya moneda sea distinta (una subcuenta en dólares dentro de la cuenta Activos que es en euros). Luego veremos como ajustar la tasa de conversión para los informes. También hay gente que prefiere que todas las cuentas sean de la misma moneda, en ese caso crean Activos en Euros y Activos en Dólares.
- Smallest fraction. La fracción más pequeña de la moneda con la que estemos trabajando. En general es habitual dejarlo por defecto, pero este ajuste nos será de utilidad con las criptodivisas.
- Account Color. El color de la cuenta. Uso puramente estético.
- Notes. Podemos guardar notas. Este campo lo considero de gran utilidad pues me permite guardar los códigos IBAN y BIC dentro de las cuentas bancarias.
- Hidden. Si quieres que no se vea. Yo lo quito siempre, pues me gusta ver el árbol completo.
- Placeholder. Una cuenta placeholder es específicamente diseñada para tener subcuentas. Quiere decir que no es posible anotar en ellas directamente, solo a través de alguna de sus subcuentas. En el caso de las cuentas principales recomiendo que todas sean placeholder, así siempre especificaremos la subcuenta donde se ha producido el ingreso/gasto.
- En la pestaña superior Opening balance podemos indicar el saldo de apertura. Se anotará también en una cuenta de tipo Equity.
Creamos la cuenta y listo. Ahora vamos a crear muchas cuentas hasta que se adapte a nuestra situación. Mis consejos para diseñar el árbol son:
- La cuenta Activos puede tener activo circulante o propiedades, sin embargo no recomiendo añadir propiedades, ni otros activos que no sean dinero en sí (obras de arte, etc) salvo casos muy específicos.
- Dentro de la cuenta Activos suelo crear otra cuenta para cada banco. Luego dentro de la cuenta de cada banco creo la correspondiente Bank account de las cuentas bancarias.
- Hay sistemas de pago (PayPal) y tarjetas (Revolut) que permiten más de una divisa simultánea. En ese caso yo suelo crear subcuentas, una en cada divisa que permita y de la que preveo tener fondos. Por ejemplo, en PayPal creo la cuenta de tipo Asset placeholder con dos subcuentas, PayPal EUR y PayPal USD.
- Las criptodivisas como Bitcoin pueden ser manejadas por GnuCash de manera extraoficial. Los desarrolladores se han negado a añadir el código de la moneda (BTC o XBT) hasta que aparezca en el estándar ISO. Sin embargo GnuCash viene con un montón de otras monedas. La moneda XXX, que no respresenta a ninguna real puede hacer de Bitcoin. Pero para que funcione bien es importante que el valor de Smallest Fraction sea el que permita más digitos decimales. Aun así GnuCash tendrá problemas con tantos decimales a los que acostumbra Bitcoin por lo que puede ser interesante que XXX sean Milibitcoins o Satoshis.
Cambios de divisa
GnuCash permite que creemos cuentas en muchas divisas. Sin embargo, como puedes apreciar en la imagen superior, en la cuenta de PayPal, la moneda extranjera no aparece convertida y no es tenida en cuenta. Esto es porque por defecto GnuCash aplica un tipo de cambio 0, es decir, la moneda extranjera no vale nada. Puedes dejarlo así o puedes añadir el cambio. Hay dos formas, una manual y otra automática.
Vamos a Tools -> Price Editor. Veremos una ventana vacía con botones a la derecha. Si tenemos Perl instalado en nuestro ordenador con el módulo Finance::Quote veremos el botón Get Quotes activado. Ese botón sirve para actualizar los precios de los cambios de divisa y de las acciones. Ese es el modo automático. Si necesitas instalar Perl en Windows puedes usar ActivePerl o Strawberry Perl.
Si queremos hacer el cambio manualmente iremos a Add.
En este caso vamos a añadir el precio para pasar de dólares USD a euros. El namespace es CURRENCY, security es la moneda a la que queramos hacer la transformación a nuestra moneda. Currency la dejamos tal cual. La fecha estará puesta a día de hoy. Esto es muy cómodo porque GnuCash permite guardar el historial de tipos de cambio. Así, cuando haya un nuevo tipo de cambio simplemente vuelves a dar a Add... y se guardará en una fecha distinta. GnuCash será lo suficientemente listo para saber que tipo de cambio ha de usar en cada momento. Por último Price es el precio de 1 dólar en euros. Hay muchos sitios de donde sacar esta información. En Google simplemente con escribir "1 USD to EUR" tendremos el resultado.
Anotar ingresos y gastos
Cuando usemos GnuCash en nuestro día a día lo más normal es que anotemos ingresos y gastos. Es necesario haber creado cuentas de tipo Income y Expense para anotar ingresos y gastos respectivamente. Dentro es habitual crear subcuentas, cada una de una categoría de ingreso o gasto (sueldo, pensión, multas, restaurantes, ...).
Selecciona la cuenta y haz doble click o pulsa el botón Open, se abrirá en una nueva pestaña, donde podremos ver algo parecido a un libro de contabilidad del MundoReal. Allí podemos revisar las anotaciones anteriores y editarlas (aunque no es recomendable editar la contabilidad, ejem,...). Pero por defecto el foco se centra en la fila inferior, donde podemos introducir una nueva entrada al libro de contabilidad.
La fecha la podemos ajustar a cuando se realizó el ingreso/gasto. El número es solo necesario si eres una empresa y las facturas están numeradas. La descripción es un campo libre, donde explicamos el ingreso/gasto. La siguiente columna es Transfer donde debemos de elegir la cuenta de Activos donde se ingresará/eliminará la cantidad. Allí, en la cuenta del Activo también se guarda una copia. Recuerda GnuCash es un sistema de partida doble. Con el botón superior Jump es posible ir a la cuenta del Activo y viceversa, aunque no es necesario. La R es un indicador de reconciliación, no se toca. Charge son cargos que pudiera tener e Income es el beneficio. En una cuenta Expense las columnas son Expense y Rebate, de funcionamiento exactamente igual. Ambas tienen Balance que es el balance total.
Si tienes una transacción compleja donde los ingresos y los gastos ocurren en varios lugares (pagar el sueldo a un trabajador) puedes hacer una transacción partida o Split.
Transferencias entre cuentas
Las transferencias entre cuentas de activos son sencillas de realizar. Simplemente busca en Actions -> Transfer. En caso de que las cuentas tengan distinta divisa es posible ajustar el cambio. El botón Fetch Rate solo funcionará si tienes el plugin de Perl instalado. La columna de la izquierda es la cuenta de origen y a la derecha se sitúa la cuenta de destino.
Programar operaciones
Si sabemos que un ingreso o pago va a realizarse de manera periódica podemos automatizarlo. Cuando GnuCash se abra comprobará si desde que abriste el programa por última vez ha habido algún día con una operación programada y la realizará.
Vamos a Actions -> Schedule -> Scheduled transactions editor. En una nueva pestaña veremos un calendario y una lista de operaciones vacía. Creamos una nueva en New.
En Frequency ajustamos cuando queremos que esta operación se realice. Otra opción es hacer una operación en el libro y desde allí crear una operación programada siguiendo los mismos parámetros que la ya realizada.
GnuCash no es solo esto, también dispone de informes y presupuestos, pero eso se verá en otro momento.