Saltar al contenido principal

Previsión de Transacciones Futuras en Beancount

Beancount puede proyectar transacciones recurrentes futuras utilizando el plugin fava.plugins.forecast. Esto le permite visualizar el impacto futuro de los ingresos y gastos regulares, como salarios, alquileres y suscripciones, en sus informes financieros.

Captura de pantalla del plugin de previsión

Paso 1: Habilitar el Plugin de Previsión

Primero, necesita habilitar el plugin añadiendo la siguiente línea en la parte superior de su archivo ledger de Beancount:

plugin "fava.plugins.forecast"

Paso 2: Crear una Transacción de Previsión

Para prever una transacción recurrente, cree una sola entrada de transacción utilizando el indicador # (en lugar de * o !) y añada una etiqueta de previsión especial a la narración.

La estructura básica se ve así:

YYYY-MM-DD # "Narración [FRECUENCIA CONDICIONES]"
Account:One 100.00 USD
Account:Two -100.00 USD

El plugin de previsión utilizará esta entrada como plantilla para generar transacciones futuras en sus informes.

Entendiendo la Sintaxis de la Previsión

La etiqueta de previsión en la narración sigue un formato específico: [FRECUENCIA CONDICIONES].

Frecuencia

La parte de FRECUENCIA es obligatoria y define con qué frecuencia se repite la transacción. Debe estar en mayúsculas.

  • DIARIO
  • SEMANAL
  • MENSUAL
  • TRIMESTRAL
  • ANUAL

Ejemplo: Un Pago Mensual de Alquiler Esta transacción se proyectará para que ocurra el día 1 de cada mes, a partir de enero de 2024.

2024-01-01 # "Pago de alquiler [MENSUAL]"
Expenses:Housing:Rent 2500.00 USD
Assets:Checking -2500.00 USD

Condiciones (Opcional)

Puede añadir CONDICIONES opcionales para controlar la duración y el patrón de la previsión.

1. Establecer una Fecha de Finalización con UNTIL Utilice UNTIL AAAA-MM-DD para detener la previsión en una fecha específica.

  • Ejemplo: Una suscripción al gimnasio que termina este año.

    2024-01-15 # "Suscripción al gimnasio [MENSUAL UNTIL 2024-12-31]"
    Expenses:Health:Gym 80.00 USD
    Assets:Checking -80.00 USD

2. Limitar las Ocurrencias con REPEAT Utilice REPEAT n TIMES para generar la transacción un número específico de veces.

  • Ejemplo: Un préstamo de coche con 36 pagos restantes.

    2024-01-25 # "Pago del coche [MENSUAL REPEAT 36 TIMES]"
    Expenses:Transportation:CarPayment 450.00 USD
    Liabilities:Auto-Loan -450.00 USD

3. Crear Patrones Irregulares con SKIP Utilice SKIP n TIME/TIMES para saltar intervalos. Esto es útil para cosas como los cheques de pago quincenales.

  • Ejemplo: Un salario quincenal (ocurre cada dos semanas).

    2024-01-05 # "Salario quincenal [SEMANAL SKIP 1 TIME]"
    Assets:Checking 3000.00 USD
    Income:Salary -3000.00 USD

Ejemplo Práctico: Un Presupuesto Mensual

Puede combinar múltiples previsiones para proyectar todo su presupuesto, incluyendo varios flujos de ingresos y gastos.

plugin "fava.plugins.forecast"

; === INGRESOS ===
2024-01-05 # "Salario quincenal [SEMANAL SKIP 1 TIME]"
Assets:Checking 3000.00 USD
Income:Salary -3000.00 USD

; === GASTOS ===
2024-01-01 # "Alquiler [MENSUAL]"
Expenses:Housing:Rent 2500.00 USD
Assets:Checking -2500.00 USD

2024-01-01 # "Comestibles [SEMANAL]"
Expenses:Food:Groceries 150.00 USD
Assets:Checking -150.00 USD

2024-01-15 # "Seguro de coche [TRIMESTRAL REPEAT 4 TIMES]"
Expenses:Insurance:Auto 450.00 USD
Assets:Checking -450.00 USD

Una vez que añada estas entradas, sus informes, como el Estado de Resultados y el gráfico de Beneficio Neto, incluirán automáticamente los datos proyectados, dándole una visión clara de su futuro financiero.

Resolución de Problemas y Mejores Prácticas

  • ¿No Aparecen las Previsiones?

    • Asegúrese de que plugin "fava.plugins.forecast" esté en su archivo ledger.
    • Utilice el indicador # para la transacción, no *.
    • Compruebe si hay errores tipográficos en la etiqueta de frecuencia (por ejemplo, [MENSUAL] no [Mensual] o [MENSUAL]).
  • Mejores Prácticas

    • Sea Descriptivo: Utilice narraciones claras para que sepa para qué es cada previsión.
    • Revise Regularmente: Actualice sus previsiones (por ejemplo, para un aumento de salario o un cambio de alquiler) para mantenerlas precisas.
    • Utilice Condiciones de Finalización: Para las transacciones que no son permanentes (como préstamos o suscripciones), utilice UNTIL o REPEAT para evitar que se pronostiquen indefinidamente.
References: