Saltar al contenido principal

Configuración de Opciones en Beancount

El comportamiento de Beancount se puede personalizar utilizando directivas option colocadas en la parte superior de su archivo de libro mayor principal. Estos pares clave-valor controlan todo, desde los nombres de sus cuentas raíz hasta cómo se manejan las conversiones de divisas. La configuración correcta de estas opciones es esencial para adaptar Beancount a sus necesidades específicas. ⚙️

Opciones de Configuración Centrales

options-configuration

Estas opciones controlan la configuración fundamental de su libro mayor.

Ajustes Básicos

Estas son algunas de las opciones más comunes que configurará.

option "title" "Libro Mayor Personal"
option "render_commas" "TRUE"
option "plugin_processing_mode" "raw"
  • title: Establece el título para los informes e interfaces web.
  • render_commas: Si es TRUE, los números en los informes se formatearán con separadores de miles (por ejemplo, 1,000,000.00).
  • plugin_processing_mode: Controla cómo se cargan los plugins. raw carga solo los plugins que especifique explícitamente, mientras que default incluye un conjunto estándar de plugins útiles.

Personalización del Nombre de la Cuenta

Puede cambiar el nombre de los cinco tipos de cuenta fundamentales de Beancount. Esto es puramente cosmético y cambia la forma en que aparecen en los informes.

option "name_assets" "Activos"
option "name_liabilities" "Pasivos"
option "name_equity" "Patrimonio Neto"
option "name_income" "Ingresos"
option "name_expenses" "Gastos"

Configuración de la Cuenta de Patrimonio Neto

Beancount crea automáticamente varias cuentas de patrimonio neto especiales para manejar los saldos iniciales y los cálculos de ingresos. Puede especificar nombres personalizados para estas cuentas.

option "account_previous_balances" "Saldos-Iniciales"
option "account_previous_earnings" "Ganancias:Anteriores"
option "account_current_earnings" "Ganancias:Actuales"
option "account_previous_conversions" "Conversiones:Anteriores"
option "account_current_conversions" "Conversiones:Actuales"
option "account_rounding" "Redondeo"
  • account_previous_balances: La cuenta utilizada para inyectar saldos iniciales en su libro mayor.
  • account_current_earnings: La cuenta que acumula todos los ingresos y gastos totales para el período actual, calculando efectivamente su ingreso neto.
  • account_rounding: La cuenta donde se registran las pequeñas discrepancias del redondeo automatizado.

Ajustes de Precisión y Tolerancia

Estas opciones controlan cómo Beancount maneja el redondeo y los pequeños desequilibrios en las transacciones.

Configuración de Tolerancia Predeterminada

Beancount puede inferir automáticamente una tolerancia para las transacciones con múltiples divisas o costos, lo que permite pequeñas diferencias de redondeo sin causar errores.

option "inferred_tolerance_default" "USD:0.01"
option "inferred_tolerance_multiplier" "1.1"
option "infer_tolerance_from_cost" "True"
  • inferred_tolerance_default: Establece la tolerancia predeterminada para una divisa determinada. Puede usar *:0.5 para establecer un valor predeterminado para todas las divisas.
  • inferred_tolerance_multiplier: Un factor aplicado a la tolerancia para proporcionar un margen de error ligeramente mayor.
  • infer_tolerance_from_cost: Si es True, la tolerancia se inferirá del número de dígitos en el costo.

Método de Contabilización

Esta opción define cómo Beancount maneja las transacciones donde se infiere una pata.

option "booking_method" "SIMPLE"
  • SIMPLE: Permite que solo una mercancía se equilibre automáticamente por transacción. Este es el método recomendado y más común.
  • FULL: Permite que se equilibren múltiples mercancías, lo cual es un método más complejo y raramente necesario.

Gestión de Divisas

La configuración correcta de la divisa es vital para una información precisa.

Divisa Operativa

Puede declarar una o más "divisas operativas". Estas son las principales divisas en las que realiza transacciones y que desea ver en los informes.

option "operating_currency" "USD"
option "operating_currency" "EUR"
option "conversion_currency" "NOTHING"

Declarar divisas operativas le dice a Beancount que cree columnas dedicadas para ellas en los informes, lo que facilita ver su posición financiera en sus divisas más utilizadas. Establecer conversion_currency en NOTHING deshabilita la columna de conversión automática, que a menudo se prefiere para informes más limpios.

Gestión de Documentos

Beancount puede vincular transacciones a archivos externos como recibos o facturas. La opción documents especifica las carpetas raíz donde se almacenan estos archivos.

option "documents" "/path/to/documents/archive"

Requisitos:

  • Los archivos deben nombrarse utilizando el formato YYYY-MM-DD.descripcion.ext (por ejemplo, 2025-07-28.pedido-amazon.pdf).
  • Puede especificar múltiples opciones documents para diferentes carpetas.
  • Las rutas pueden ser absolutas o relativas al archivo de libro mayor principal.

Sistema de Plugins

La funcionalidad de Beancount se puede extender con plugins.

Configuración de Plugins

Habilita un plugin especificando su ruta de módulo.

option "plugin" "beancount.plugins.module_name"

Como se mencionó anteriormente, la opción plugin_processing_mode controla si Beancount carga solo los plugins especificados (raw) o también un conjunto predeterminado (default).

Límites y Restricciones Técnicas

Estas opciones controlan aspectos técnicos del analizador de Beancount.

Manejo de Cadenas

Puede establecer un límite en el número de líneas permitidas en una cadena de varias líneas para evitar errores de análisis.

option "long_string_maxlines" "64"

Características Experimentales

Beancount a veces incluye características experimentales que puede habilitar con una opción. Por ejemplo, para habilitar la sintaxis de tolerancia explícita:

option "experiment_explicit_tolerances" "True"

Esto le permite especificar la tolerancia directamente en una publicación de transacción, como esta: 532.23 ~ 0.001 USD.

Controles del Comportamiento del Sistema

Estas opciones son para mantener la compatibilidad o comportamientos específicos del sistema.

Soporte Heredado

Esta opción habilita los valores de tolerancia antiguos y fijos para la compatibilidad con versiones anteriores de los libros mayores.

option "use_legacy_fixed_tolerances" "True"

Las tolerancias fijas heredadas fueron:

  • Directivas Balance/Pad: 0.015 unidades
  • Transacciones: 0.005 unidades

Configuración Recomendada ✅

Para la mayoría de los usuarios, la siguiente configuración proporciona un punto de partida sólido y sensato.

Configuración Básica

option "title" "Libro Mayor Personal"
option "operating_currency" "USD" // Cambie a su divisa principal
option "documents" "/home/user/Documents/beancount" // Cambie a la ruta de sus documentos
option "render_commas" "TRUE"

Control de Precisión

option "inferred_tolerance_default" "USD:0.01" // Cambie a su divisa principal
option "inferred_tolerance_multiplier" "1.1"
option "infer_tolerance_from_cost" "True"

Estructura de la Cuenta

option "account_previous_balances" "Equity:Opening-Balances"
option "account_current_earnings" "Equity:Current-Earnings"
option "account_rounding" "Expenses:Rounding"

Esta configuración proporciona una base sólida para un nuevo libro mayor de Beancount, lo que garantiza informes claros, un control de precisión sensato y una estructura lógica de la cuenta de patrimonio neto.