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:
Assets:Bank:Checking: El origen del pago en efectivo.Assets:Prepaid:Insurance: Una cuenta de tenencia temporal para el valor que has pagado pero aún no has utilizado.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:AutoPaso 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:Autoamortize_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:AdobeResultado: 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:LegalResultado: 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 USDResultado: 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 USD2. 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_overestá 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-01o después.