Saltar al contenido principal

Entendiendo las entradas de diario en Beancount

· Lectura de 8 minutos
Mike Thrift
Mike Thrift
Marketing Manager

Las entradas de diario son la columna vertebral de la contabilidad de partida doble, y en Beancount, cada transacción * que escribes es una entrada de diario. Esta guía explica lo esencial —débitos y créditos, asientos de ajuste y asientos de reversión— y muestra cómo se traducen de forma limpia a la sintaxis de texto plano de Beancount. Aprenderás a llevar libros precisos con una ceremonia mínima.


2025-09-02-journal-entries-in-beancount

Un repaso rápido: ¿Qué es una entrada de diario?

Una entrada de diario es el registro formal y fechado de una transacción financiera. Se expresa en términos de débitos y créditos que mantienen equilibrada la ecuación contable fundamental:

Activos=Pasivos+PatrimonioActivos = Pasivos + Patrimonio

En un sistema de partida doble, cada transacción afecta al menos a dos cuentas, y el total de débitos debe ser igual al total de créditos. Esta regla simple es lo que hace que los informes financieros posteriores, como el estado de resultados y el balance general, sean confiables y precisos.


Débitos y créditos en un minuto

Los conceptos de débitos y créditos pueden resultar confusos al principio, pero se reducen a unas pocas reglas simples. Piensa de esta manera: "¿de dónde provino el valor?" (crédito) y "¿a dónde fue el valor?" (débito).

Aquí tienes una hoja de referencia de cómo aumentan los cinco tipos de cuentas principales:

Tipo de cuentaAumenta con
ActivosDébito
GastosDébito
PasivosCrédito
PatrimonioCrédito
IngresosCrédito

Cómo se ve una entrada de diario en Beancount

Beancount usa directivas de texto simples y legibles para registrar transacciones. Cada transacción debe equilibrarse a cero para cada commodity (por ejemplo, USD, EUR, acción AAPL). Beancount mostrará un error si no lo hace.

Aquí tienes una transacción básica para comprar café:

2025-09-10 * "Coffee Bar" "Team coffee"
Expenses:Food:Coffee 18.00 USD
Assets:Bank:Checking -18.00 USD

Observa cómo las dos anotaciones (líneas con cuentas) suman cero: $18.00 + (-$18.00) = 0.

Puedes añadir contexto poderoso directamente en la narración usando etiquetas (como #clientX) para filtrado y enlaces (como ^INV-2025-001) para conectar entradas relacionadas.

Por ejemplo, así puedes enlazar una factura a su pago:

; Primero, registra la factura que enviaste al cliente
2025-09-15 * "Acme Corp" "Invoice 2025-001 #clientX ^INV-2025-001"
Assets:AccountsReceivable 1000.00 USD
Income:Consulting -1000.00 USD

; Después, registra el pago y enlázalo a la factura original
2025-09-28 * "Acme Corp" "Payment on ^INV-2025-001"
Assets:Bank:Checking 1000.00 USD
Assets:AccountsReceivable -1000.00 USD

La etiqueta #clientX te permite filtrar fácilmente todas las transacciones de este cliente, y el enlace ^INV-2025-001 crea una conexión entre las dos entradas que puedes seguir en los informes.


Entradas de diario comunes (listas para copiar)

A continuación tienes varias transacciones empresariales habituales formateadas para Beancount.

El propietario invierte efectivo

Un propietario aporta fondos personales para iniciar el negocio.

2025-01-01 * "Owner" "Initial capital contribution"
Assets:Bank:Checking 10000.00 USD
Equity:Owner-Capital -10000.00 USD

Venta al contado con impuesto sobre ventas

Un cliente paga en efectivo por un producto, incluyendo un impuesto del 8 % que deberás remitir al gobierno más adelante.

2025-01-05 * "Walk-in Customer" "Cash sale with 8% tax"
Assets:Cash 108.00 USD
Income:Sales -100.00 USD
Liabilities:Tax:Sales -8.00 USD

Venta a crédito (factura) y cobro

Prestas un servicio y facturas al cliente, luego recibes el pago después.

2025-01-10 * "Acme Corp" "Consulting invoice ^INV-2025-002"
Assets:AccountsReceivable 2500.00 USD
Income:Consulting -2500.00 USD

2025-01-30 * "Acme Corp" "Payment on ^INV-2025-002"
Assets:Bank:Checking 2500.00 USD
Assets:AccountsReceivable -2500.00 USD

Gasto con tarjeta de crédito

Compras suministros de oficina usando la tarjeta de crédito de la empresa.

2025-01-12 * "OfficeMax" "Supplies on credit card"
Expenses:Office:Supplies 75.00 USD
Liabilities:CreditCard -75.00 USD

Nómina (modelo simple)

Ejecutas la nómina, registrando el gasto bruto de salarios, las retenciones de impuestos del empleado y el pago neto desde tu banco.

2025-01-31 * "Payroll" "January wages and withholdings"
Expenses:Payroll:Wages 2000.00 USD
Liabilities:Taxes:Withheld -400.00 USD
Assets:Bank:Checking -1600.00 USD

Depreciación mensual

Registras el gasto de depreciación mensual de un activo, como una laptop.

2025-01-31 * "Depreciation" "Laptop, straight-line"
Expenses:Depreciation 100.00 USD
Assets:Equipment:AccumDepr -100.00 USD

Gasto anticipado y amortización mensual

Pagas por un año completo de seguro por adelantado, luego reconoces el gasto de un mes.

; 1. Pago de la póliza anual
2025-01-01 * "InsureCo" "Annual insurance premium"
Assets:Prepaid:Insurance 1200.00 USD
Assets:Bank:Checking -1200.00 USD

; 2. Reconocer un mes de gasto al final de enero
2025-01-31 * "InsureCo" "Amortize 1/12 of insurance"
Expenses:Insurance 100.00 USD
Assets:Prepaid:Insurance -100.00 USD

Ingresos no devengados y reconocimiento mensual

Un cliente paga por adelantado una suscripción de 3 meses. Registras el efectivo y luego reconoces un mes de ingreso.

; 1. Cliente paga por adelantado el servicio
2025-02-01 * "Subscriber" "3-month plan prepaid"
Assets:Bank:Checking 300.00 USD
Liabilities:Unearned:Subs -300.00 USD

; 2. Reconocer un mes de ingreso después de prestar el servicio
2025-02-28 * "Recognition" "Recognize month 1 of 3"
Liabilities:Unearned:Subs 100.00 USD
Income:Subscriptions -100.00 USD

Provisión para deudas incobrables y cancelación

Creas una provisión para facturas potencialmente incobrables y luego cancelas una factura específica que sabes que no se pagará.

; 1. Crear una provisión del 2 % de Cuentas por Cobrar
2025-03-31 * "Provision" "2% of A/R for doubtful accounts"
Expenses:BadDebt 200.00 USD
Assets:AllowanceForDoubtful -200.00 USD

; 2. Cancelar una factura específica que no se pagará
2025-04-15 * "Write-off" "Customer XYZ invoice"
Assets:AllowanceForDoubtful 150.00 USD
Assets:AccountsReceivable -150.00 USD

Inventario periódico y ajuste de COGS

Al final de un período, calculas el costo de los bienes vendidos (COGS) ajustando tu cuenta de inventario.

2025-03-31 * "COGS adjustment" "Periodic inventory method"
Expenses:COGS 4500.00 USD
Assets:Inventory -4500.00 USD

Asientos de ajuste vs. asientos de reversión

Los asientos de ajuste se registran al final de un período contable (mes o trimestre) para alinear correctamente ingresos y gastos al período en que realmente se ganaron o incurrieron. Esto incluye acumulaciones, diferimientos y estimaciones como la depreciación.

Los asientos de reversión son opcionales y se hacen el primer día del nuevo período, invirtiendo exactamente un asiento de ajuste del período anterior. Su objetivo es simplificar la contabilidad. Al revertir una acumulación, puedes registrar la transacción de efectivo posterior de forma estándar sin tener que recordar dividirla contra la cuenta de pasivo.

Ejemplo: acumulación y reversión de servicios públicos

Supongamos que necesitas registrar el gasto de servicios públicos de enero, pero la factura no llega hasta febrero.

; 1. Acumular el gasto estimado al final de enero
2025-01-31 * "Accrual" "Estimate January utilities expense"
Expenses:Utilities 500.00 USD
Liabilities:Accrued:Utilities -500.00 USD

; 2. (Opcional) Revertir la acumulación el primer día del siguiente período
2025-02-01 * "Reversal" "Undo January utilities accrual"
Liabilities:Accrued:Utilities 500.00 USD
Expenses:Utilities -500.00 USD

; 3. Registrar el pago real cuando llegue en febrero
; La factura real es de $520. Gracias a la reversión, puedes
; registrar el importe completo en la cuenta de gasto sin problemas.
; El gasto neto de febrero será $520 - $500 = $20.
2025-02-10 * "City Utilities" "Payment for January bill"
Expenses:Utilities 520.00 USD
Assets:Bank:Checking -520.00 USD

Nota: El ejemplo en el esquema muestra dividir el pago final. El método de asiento de reversión es una alternativa que simplifica la entrada de pago final.


Lista de verificación para cada entrada de diario en Beancount

Sigue estos pasos para asegurarte de que tus entradas sean limpias y correctas:

  1. Comienza con la fecha (AAAA-MM-DD) y una bandera de transacción (*).
  2. Añade un beneficiario y una narración descriptiva. Usa #etiquetas y ^enlaces para facilitar la búsqueda.
  3. Incluye al menos dos líneas de anotación que equilibren a cero para cada commodity.
  4. Usa nombres de cuentas correctos bajo los cinco tipos: Assets, Liabilities, Equity, Income, Expenses.
  5. Opcionalmente, agrega metadatos como document: "invoices/INV-2025-001.pdf" para trazabilidad.

Errores comunes (y cómo Beancount ayuda)

  • Anotaciones desbalanceadas: Si tus débitos y créditos no suman cero, Beancount rechazará la entrada. Esta es una característica central que previene errores. Incluso puedes dejar una cantidad en blanco y Beancount la calculará automáticamente.
  • Signo incorrecto en una cuenta: Es fácil olvidar que Income, Equity y Liabilities aumentan con créditos (normalmente números negativos en Beancount). Si lo haces mal, tus informes se verán extraños, pero la regla de balance sigue proporcionando una red de seguridad.
  • Enlaces faltantes entre entradas: Olvidar enlazar una factura con su pago dificulta el seguimiento de lo que está pendiente. Usar ^enlaces de forma consistente soluciona esto al crear una pista auditable.

¿A dónde ir después?

  • Lenguaje Beancount y reglas de balance: Profundiza en la documentación oficial.
  • Hoja de referencia de sintaxis: Un práctico resumen de todas las directivas de Beancount.
  • Introducción a débitos/créditos: Un buen punto de partida si eres nuevo en las reglas contables.
  • Asientos de ajuste/reversión: Artículos más detallados sobre la teoría contable.

Apéndice: Mapa de términos contables → Beancount

Esta guía rápida de traducción te ayuda a mapear instrucciones contables a la sintaxis de Beancount.

Instrucción contableAcción en Beancount
Debitar un gastoMonto positivo a una cuenta Expenses:
Acreditar un pasivoMonto negativo a una cuenta Liabilities:
Acumular ingresosAssets:AccountsReceivable +
Income:* -
Diferir ingresosAssets:Bank:* +
Liabilities:Unearned:* -
Reconocer ingresos diferidosLiabilities:Unearned:* +
Income:* -

Con estos patrones y ejemplos, puedes modelar de forma limpia casi cualquier evento empresarial en Beancount, asegurando que tus informes financieros coincidan sin sorpresas.