Saltar al contenido principal

Presupuestación en Beancount

Esta guía explica cómo configurar, gestionar y visualizar presupuestos por cuenta utilizando las directivas custom de Beancount y la interfaz web de Fava.

1. Cómo establecer un presupuesto

Los presupuestos se definen mediante una directiva custom "budget" en su archivo Beancount. La sintaxis es sencilla:

YYYY-MM-DD custom "budget" AccountName "interval" Amount CURRENCY
  • AccountName: La cuenta de gasto o ingreso específica para la que desea presupuestar.
  • interval: El período presupuestario. Debe ser uno de daily (diario), weekly (semanal), monthly (mensual), quarterly (trimestral) o yearly (anual).
  • Amount: La cantidad objetivo para el intervalo.

Cómo funciona:

  • Una directiva de presupuesto permanece vigente desde su fecha hasta que otra directiva de presupuesto para la misma cuenta la anule.
  • Beancount y Fava desglosan todos los presupuestos en un equivalente diario, lo que les permite calcular el importe total presupuestado para cualquier rango de fechas determinado.

Ejemplo:

; Establecer un presupuesto diario para café
2024-01-01 custom "budget" Expenses:Food:Coffee "daily" 5.00 USD

; Establecer un presupuesto mensual para comestibles
2024-01-01 custom "budget" Expenses:Food:Groceries "monthly" 600.00 USD

; Establecer un presupuesto anual para vacaciones
2024-01-01 custom "budget" Expenses:Travel:Vacation "yearly" 3000.00 USD

Para ajustar un presupuesto, simplemente agregue una nueva directiva con una fecha posterior. Por ejemplo, para aumentar el presupuesto de comestibles a partir de marzo:

2024-03-01 custom "budget" Expenses:Food:Groceries    "monthly"  650.00 USD

2. Visualización de presupuestos en Fava

Fava, la interfaz web para Beancount, detecta y muestra automáticamente sus presupuestos en varios informes clave, lo que le permite comparar sus gastos reales con sus objetivos:

  • Estado de resultados: Los gráficos de Beneficio neto y Gastos mostrarán los valores presupuestados frente a los reales.
  • Cambios (mensual): Muestra el importe presupuestado para cada mes.
  • Saldos (mensual): Muestra el importe presupuestado acumulado a lo largo del tiempo.

3. Técnicas avanzadas de presupuestación

Traspaso de presupuesto El sistema de presupuesto predeterminado se restablece en cada período. Para implementar una función de "traspaso" donde los fondos no gastados se transfieren, utilice una cuenta de activo dedicada para mantener los fondos presupuestados.

  1. Financie la cuenta de presupuesto al comienzo del período:

    2024-02-01 * "Fondear presupuesto mensual de entretenimiento"
    Assets:Checking -200.00 USD
    Assets:Budget:Entertainment 200.00 USD
  2. Gaste directamente desde esta cuenta de presupuesto:

    2024-02-15 * "Noche de cine"
    Expenses:Entertainment:Movies 30.00 USD
    Assets:Budget:Entertainment -30.00 USD

    El saldo restante en Assets:Budget:Entertainment es su importe de traspaso.

Seguimiento de los objetivos de ingresos También puede establecer objetivos para sus cuentas de ingresos utilizando un importe de presupuesto negativo. Esto permite a Fava realizar un seguimiento de sus ganancias en comparación con sus objetivos.

; Establecer objetivos de ingresos mensuales
2024-01-01 custom "budget" Income:Salary "monthly" -5000.00 USD
2024-01-01 custom "budget" Income:Freelance "monthly" -1000.00 USD

4. Resolución de problemas

Si sus presupuestos no aparecen en Fava, compruebe lo siguiente:

  1. Formato de fecha: Asegúrese de que las fechas estén en formato YYYY-MM-DD.
  2. Nombres de cuenta: El nombre de la cuenta en la directiva debe coincidir exactamente con el nombre de la cuenta en sus transacciones.
  3. Ortografía del intervalo: El intervalo debe ser una de las cinco opciones válidas y en minúsculas (por ejemplo, "monthly").
  4. Reiniciar Fava: Si ha añadido las directivas recientemente, es posible que sea necesario reiniciar el servidor Fava para que se detecten los cambios.