Saltar al contenido principal
Amortización

Amortización

Aprende a gestionar eficazmente la amortización en Beancount, permitiéndote distribuir los gastos a lo largo del tiempo para una mayor claridad y gestión financiera.

Imagina que pagas tu seguro de coche anual en un único pago de 600 $. Si registras esto como un gasto único, tus libros para ese mes mostrarán un coste elevado, mientras que los siguientes 11 meses mostrarán cero gasto de seguro. Esto distorsiona tu panorama financiero mensual, dificultando la comprensión de tus verdaderos costes operativos y la elaboración de presupuestos eficaz.

La solución es la amortización: la práctica contable de distribuir un coste único durante el período de tiempo al que beneficia. Este tutorial te mostrará cómo implementar la amortización sin problemas en Beancount usando un plugin de Fava.

¿Qué es la Amortización?

La amortización es el proceso de gastar incrementalmente el coste de un activo intangible o de un artículo pagado por adelantado a lo largo de su vida útil.

Beneficios Clave:

  • Informes Precisos: Suaviza los gastos grandes para una visión más realista de la rentabilidad mensual.
  • Mejor Presupuestación: Te permite presupuestar un gasto mensual consistente en lugar de uno grande e irregular.
  • Análisis de Flujo de Caja Más Claro: Separa el momento de un pago en efectivo del reconocimiento del gasto.

La Solución Beancount: fava.plugins.amortize_over

Beancount, con la interfaz web Fava, proporciona un plugin simple pero potente para automatizar la amortización.

Paso 1: Habilitar el Plugin

Primero, debes habilitar el plugin añadiendo la siguiente línea al principio de tu archivo Beancount:

plugin "fava.plugins.amortize_over"

Importante: Transacciones Virtuales Ten en cuenta que este plugin genera asientos virtuales. Aparecen dinámicamente en los informes de Fava y en herramientas como bean-report (si el plugin está cargado), pero no se escriben de nuevo en tu archivo .bean. Tu archivo fuente permanece sin cambios.

Paso 2: Estructurar tus Cuentas

Para un gasto típico pagado por adelantado, necesitas tres cuentas clave:

  1. Assets:Bank:Checking: El origen del pago en efectivo.
  2. Assets:Prepaid:Insurance: Una cuenta de tenencia temporal para el valor que has pagado pero aún no has utilizado.
  3. Expenses:Insurance:Auto: El destino final para el gasto mensual.
2024-01-01 open Assets:Bank:Checking
2024-01-01 open Assets:Prepaid:Insurance
2024-01-01 open Expenses:Insurance:Auto

Paso 3: Registrar la Transacción Amortizada

Registremos el pago del seguro de 600 $ para una póliza de 6 meses. Movemos el dinero de nuestro banco a una cuenta de activo pagado por adelantado y añadimos la etiqueta de metadatos.

2024-06-01 * "Pagar prima de seguro de coche a 6 meses"
  amortize_months: 6
  Assets:Prepaid:Insurance      600.00 USD
  Assets:Bank:Checking         -600.00 USD
  Expenses:Insurance:Auto
  • amortize_months: 6: Indica al plugin que distribuya el valor durante 6 meses.
  • La transacción mueve efectivo a un activo pagado por adelantado.
  • Expenses:Insurance:Auto: Esta última línea sin número indica al plugin dónde contabilizar el gasto mensual.

El plugin genera asientos mensuales que cargan Expenses:Insurance:Auto y abonan Assets:Prepaid:Insurance en 100 $ cada uno, comenzando el primer día del mes de la transacción.

Ejemplos Prácticos

Licencia de Software Anual

2024-01-15 * "Licencia anual de Adobe Creative Suite"
  amortize_months: 12
  Assets:Prepaid:Software      1200.00 USD
  Assets:Bank:Checking         -1200.00 USD
  Expenses:Software:Adobe

Resultado: Se reconoce un gasto de $100.00 en Expenses:Software:Adobe cada mes durante 12 meses.

Retainer de Servicios Profesionales

; Retainer legal trimestral, pagado por adelantado desde la cuenta corriente
2024-01-05 * "Retainer de servicios legales Q1"
  amortize_months: 3
  Assets:Prepaid:Professional      4500.00 USD
  Assets:Bank:Checking            -4500.00 USD
  Expenses:Professional:Legal

Resultado: Se reconoce un gasto legal de $1500.00 cada mes durante el Q1.

Depreciación de Equipos (Activos Fijos)

La depreciación de activos fijos requiere un enfoque más formal para preservar el coste original del activo en tus libros. Esto se hace utilizando una cuenta de contra-activo, típicamente llamada Accumulated-Depreciation.

El proceso implica dos transacciones separadas:

; Abrir cuentas requeridas, incluyendo la contra-activo
2024-01-01 open Assets:Equipment:Computers:Cost
2024-01-01 open Assets:Equipment:Computers:AccumDep
2024-01-01 open Expenses:Depreciation:Computers
 
; Paso 1: Registrar la compra inicial. Esta es una transacción simple, no amortizada.
2024-01-20 * "Comprar MacBook Pro para negocio"
  Assets:Equipment:Computers:Cost     3000.00 USD
  Assets:Bank:Checking               -3000.00 USD
 
; Paso 2: Configurar el calendario de depreciación. Esta transacción de suma cero
; indica al plugin que cree los asientos de depreciación mensuales.
2024-01-20 * "Calendario de depreciación para MacBook Pro"
  amortize_months: 36
  Expenses:Depreciation:Computers        3000.00 USD
  Assets:Equipment:Computers:AccumDep  -3000.00 USD

Resultado: El plugin generará un asiento mensual durante 36 meses que carga Expenses:Depreciation:Computers en $83.33 y abona la cuenta de contra-activo Assets:Equipment:Computers:AccumDep en $83.33.

Informes y Verificación

1. Monitorizar Saldos Prepagados con Aserciones

Usa la directiva balance de Beancount para verificar que tu cuenta prepagada se está consumiendo correctamente.

Nota: La fecha de la aserción debe ser igual o posterior a la fecha del asiento virtual (que por defecto es el día 1 del mes). Una buena práctica es fecharla el día 2.

; Para el ejemplo del seguro, verifica el saldo después del primer mes.
2024-07-02 balance Assets:Prepaid:Insurance  500.00 USD

2. Verificación Avanzada con bean-query

Para una visión general rápida de cómo cambian tus saldos prepagados a lo largo del tiempo, puedes usar bean-query en tu terminal:

bean-query tu-libro.beancount "SELECT date, account, SUM(position) WHERE account ~ 'Prepaid' GROUP BY date, account ORDER BY date"

Limitaciones y Consejos Finales

  • Solo Distribuciones Iguales: El plugin amortize_over está diseñado para distribuciones iguales durante un número entero de meses. No maneja calendarios irregulares ni prorrateo diario. Para esos casos, se necesita un enfoque manual.
  • Contabilidad Fiscal vs. de Gestión: Los calendarios de amortización mostrados aquí son para contabilidad de gestión (obtener una visión clara de tus finanzas). Si estás haciendo contabilidad estatutaria, asegúrate de que tus calendarios de depreciación cumplan con las regulaciones locales (GAAP/IFRS).
  • Manejo de Fechas: El plugin genera asientos mensuales el primer día de cada mes, comenzando con el mes de la transacción de origen. Si deseas que la amortización comience en febrero, por ejemplo, fecha la transacción de origen el día 2024-02-01 o después.