Sintaxis del Lenguaje Beancount
Esto proporciona una referencia concisa pero completa para la sintaxis del lenguaje Beancount, combinando estructura práctica, reglas y ejemplos. Para obtener más detalles, consulte la Hoja de referencia.
Resumen
Beancount es un sistema de contabilidad de doble entrada en texto plano. Su lenguaje está estructurado en torno a tres bloques de construcción principales:
- Commodities (monedas, acciones, puntos, etc.)
- Accounts (cuentas jerárquicas, libros de contabilidad categorizados)
- Directives (entradas fechadas que registran eventos o configuración)
Commodities
Los commodities siempre se escriben en mayúsculas, por ejemplo, USD, EUR, AAPL, BTC, MILES, HOURS.
Accounts
Las cuentas son nombres jerárquicos separados por dos puntos, en mayúsculas. Deben comenzar con uno de los cinco tipos de cuenta raíz:
| Name | Type | Typical Contents | Example |
|---|---|---|---|
Assets | + | Efectivo, Banco, Inversiones | Assets:Checking |
Liabilities | - | Tarjetas de Crédito, Préstamos | Liabilities:CreditCard |
Income | - | Salario, Intereses | Income:EmployerA |
Expenses | + | Compras, Facturas | Expenses:Food:Dining |
Equity | - | Saldos de Apertura/Cierre | Equity:Opening-Balances |
- Los componentes deben estar en mayúsculas, separados por dos puntos (
:), sin espacios. - Se permiten números y guiones en los componentes.
- Los nombres de las cuentas raíz se pueden personalizar a través de opciones (ver más abajo).
Directives
Las directivas son las declaraciones centrales en un archivo Beancount. La mayoría comienzan con una fecha, seguida de un tipo de directiva y argumentos. Se procesan en orden cronológico (por fecha), no en el orden del archivo.
Formato general:
YYYY-MM-DD <directive> <argumentos...>
Directivas Comunes y Ejemplos
Apertura y Cierre de Cuentas
2023-01-01 open Assets:Checking USD,EUR ; Opcionalmente, especifique las monedas permitidas
2023-12-31 close Assets:Checking
Declaración de Commodities
2020-07-22 commodity AAPL
name: "Apple Inc."
Declaraciones de Precios
2022-04-30 price AAPL 150.00 USD
Notas y Documentos
2022-03-20 note Assets:Checking "Pregunté sobre el reembolso"
2022-03-20 document Assets:Checking "statements/2022-03.pdf"
Transacciones
2024-01-05 * "Coffee Shop" "Café de la mañana"
Expenses:Food 4.50 USD
Assets:Cash -4.50 USD
2024-01-06 ! "Phone Bill" "Pago mensual" #utilities ^phone
id: "INV12345" ; Metadata
Expenses:Utilities 60.00 USD
Assets:Checking
Funciones de Asiento
; Con base de costo
Assets:Stocks 1 AAPL {150.00 USD}
; Con anotación de precio
Assets:Cash -100 USD @ 1.25 CAD
; Con precio total
Assets:Cash -100 USD @@ 125.00 CAD
; Balance implícito
Assets:Cash -100 USD
Assets:Bank
Aserciones de Saldo y Relleno
2024-06-01 balance Assets:Checking 1000.00 USD
2024-06-01 pad Assets:Checking Equity:Opening-Balances
Eventos
2024-06-01 event "location" "San Francisco, CA"
Options
Establecer la configuración de todo el archivo:
option "title" "Mi Libro Mayor"
option "operating_currency" "USD"
option "documents" "docs/"
option "name_assets" "Vermoegen"
Consulte la Referencia de Opciones para obtener más información.
Plugins y Organización de Archivos
plugin "beancount.plugins.module_name"
plugin "beancount.plugins.module_name" "config-string"
include "other/file.beancount"
pushtag #project
; ...
poptag #project
Reglas Importantes
- Todas las transacciones deben balancearse (la suma de todos los asientos es cero; se utiliza la base de costo si está presente).
- Las cuentas deben abrirse antes de su uso; las cuentas cerradas no pueden aceptar asientos.
- Las aserciones de saldo verifican solo la moneda especificada y se pueden usar en cuentas principales.
- Las anotaciones de precio (
@) son informativas y no afectan el balance.
Patrones Comunes
Apertura de Cuentas con Saldo Inicial
2024-01-01 open Assets:Checking USD
2024-01-01 pad Assets:Checking Equity:Opening-Balances
2024-01-01 balance Assets:Checking 1000.00 USD
Transacción de Inversión
2024-01-01 * "Comprar acciones"
Assets:Broker:Stock 10 AAPL {150.00 USD}
Assets:Broker:Cash -1500.00 USD
Transacción Multi-Moneda
2024-01-01 * "Cambio de moneda"
Assets:USD -100.00 USD @ 1.25 CAD
Assets:CAD 125.00 CAD
Comentarios
poptag #trip-to-peru
; los comentarios en línea comienzan con un punto y coma
* cualquier línea que no comience con una directiva válida también se ignora silenciosamente