Saltar al contenido principal

4 publicaciones con la etiqueta "contabilidad de partida doble"

Ver todas las etiquetas

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.

El ciclo contable, estilo Beancount

· Lectura de 9 minutos
Mike Thrift
Mike Thrift
Marketing Manager

Los estados financieros no aparecen por arte de magia. Son el producto final de un proceso estructurado y repetible conocido como ciclo contable. Aunque los principios son universales, las herramientas que uses pueden cambiar drásticamente la experiencia. Esta guía te lleva a través del ciclo contable con un enfoque en Beancount, la poderosa herramienta de contabilidad de texto plano.

Veremos cómo el enfoque basado en texto de Beancount elimina pasos tediosos, qué deberías automatizar y qué informes te dan la visión más clara de tu salud financiera. 🧑‍💻

2025-08-13-the-accounting-cycle-beancount-style


TL;DR: El flujo de trabajo con Beancount

  • Captura y Diario: Registra cada transacción como una publicación limpia de partida doble en tu archivo de texto .beancount.
  • Validar y conciliar: Usa aserciones balance para confirmar que tu libro mayor coincide con los extractos bancarios y ejecuta bean-check para detectar errores.
  • Revisar: Genera un balance de prueba no ajustado para una rápida verificación de sentido.
  • Ajustar: Publica asientos para devengos, diferimientos, depreciación y otros ítems de fin de período.
  • Re‑revisar: Comprueba el balance de prueba ajustado para asegurar que todo esté correcto.
  • Publicar y cerrar: Genera tu Estado de Resultados, Balance General y Estado de Flujos de Efectivo. Cerrar los libros es opcional en Beancount, ya que los informes son conscientes de la fecha.

Este flujo puede visualizarse así:


Paso 1: Capturar y registrar transacciones

Este es el paso fundamental. Cada evento financiero —una venta, una compra, una comisión bancaria— debe ser registrado. En Beancount, haces esto creando transacciones en un archivo de texto sencillo, típicamente llamado main.beancount o organizado en varios archivos por año.

Cada transacción debe seguir las reglas de la contabilidad de partida doble, lo que significa que la suma de todas las publicaciones debe ser cero. Beancount lo hace cumplir por ti.

2025-08-10 * "Walmart" "Compra de suministros de oficina"
Expenses:Office:Supplies 45.67 USD
Assets:Bank:Checking -45.67 USD
  • Consejo profesional: Usa etiquetas como #project-phoenix o #client-acme para añadir dimensiones a tus datos. Esto hace que la consulta y generación de informes sea increíblemente flexible más adelante.

Higiene de conciliación ✅

La característica más poderosa para garantizar la exactitud es la aserción de balance. Al final de un período de estado (por ejemplo, al final del mes), declaras cuál debería ser el saldo de una cuenta.

2025-08-31 balance Assets:Bank:Checking  12345.67 USD

Si la suma de todas las transacciones que afectan a Assets:Bank:Checking hasta esa fecha no equivale a 12345.67 USD, Beancount generará un error. Esta simple directiva convierte tu libro mayor en un documento auto‑auditado.

Para quienes estén retroalimentando datos históricos, la directiva pad puede crear automáticamente una transacción de balance para que tus saldos de apertura coincidan con tu primera aserción.


Paso 2: "Publicar en el libro mayor" (¡Gratis!)

En los sistemas contables tradicionales, primero escribes asientos en un "diario", y luego un paso separado de "publicación" copia esos valores al "libro mayor general".

Con Beancount, tu archivo .beancount es tanto el diario como el libro mayor. Cuando escribes y guardas una transacción, ya la has publicado. No hay un paso separado. Esta inmediatez es una ventaja central de la contabilidad de texto plano: lo que ves es lo que obtienes.


Paso 3: Preparar un balance de prueba no ajustado

Antes de comenzar a hacer ajustes, necesitas una rápida verificación de "¿todo cuadra?". Un balance de prueba es un informe sencillo que lista cada cuenta y su saldo total. El total de los saldos deudores debe ser igual al total de los saldos acreedores.

Puedes generar esto con una consulta simple:

bean-query main.beancount \
"SELECT account, sum(position) GROUP BY 1 ORDER BY 1"

O, para un enfoque más visual, abre tu libro mayor en Fava (la interfaz web de Beancount) y navega al informe "Trial Balance". Busca cualquier anomalía: una cuenta de activo con saldo acreedor, o una cuenta de gasto con un valor extraño.


Paso 4: Registrar asientos de ajuste

Los asientos de ajuste son cruciales para una información precisa bajo el principio de acumulación. Garantizan que los ingresos se reconozcan cuando se ganan y los gastos cuando se incurren, sin importar cuándo se mueve el efectivo.

Ajustes comunes incluyen:

  • Devengos: Registrar ingresos que has ganado pero aún no has facturado, o gastos que has incurrido pero no has pagado.
  • Diferimientos: Manejar pagos anticipados. Si un cliente te paga por un año de servicio por adelantado, lo registras como un pasivo (Liabilities:UnearnedRevenue) y reconoces 1/12 cada mes como ingreso.
  • Elementos no monetarios: Registrar cosas como la depreciación de activos.
  • Correcciones: Arreglar errores o contabilizar ítems omitidos de los feeds bancarios, como un pequeño pago de intereses.

Ejemplo: Devengar ingresos

Terminaste un proyecto el 31 de agosto pero no enviarás la factura hasta septiembre. Para reconocer el ingreso en el período correcto (agosto), haces un asiento de ajuste:

2025-08-31 * "Devengar ingreso para proyecto cliente #1042"
Assets:AccountsReceivable 3000.00 USD
Income:Consulting -3000.00 USD

Ejemplo: Registrar depreciación

Tu empresa tiene un calendario de depreciación para sus activos. Al final del período, registras el gasto:

2025-12-31 * "Depreciación anual de equipos informáticos"
Expenses:Depreciation 4800.00 USD
Assets:Fixed:AccumulatedDepreciation -4800.00 USD

Paso 5: Ejecutar un balance de prueba ajustado y validar

Una vez que tus asientos de ajuste estén registrados, vuelve a ejecutar el informe de balance de prueba. Este es tu Balance de Prueba Ajustado. Proporciona el conjunto final de números que se usarán para crear los estados financieros.

Este también es el momento perfecto para ejecutar la verificación interna de Beancount:

bean-check main.beancount

Este comando verifica toda la sintaxis, reglas de balance y aserciones. Si no muestra salida, tus libros son mecánicamente correctos.


Paso 6: Publicar los estados financieros 📊

Este es el premio. Usando los números de tu balance de prueba ajustado, puedes generar los informes clave. Fava es la forma más sencilla de hacerlo, ya que ofrece informes interactivos y con capacidad de profundización de forma inmediata.

  • Estado de Resultados (Pérdidas y Ganancias): Muestra tus ingresos y gastos durante un período, resultando en tu utilidad neta o pérdida.
  • Balance General: Una instantánea de lo que posees (Activos) y lo que debes (Pasivos), así como tu patrimonio neto (Patrimonio), en una fecha específica.
  • Estado de Flujos de Efectivo: Conciliación de tu efectivo inicial con el final mostrando de dónde provino el dinero y a dónde fue.

Para informes personalizados, puedes usar el Lenguaje de Consulta de Beancount (BQL). Aquí tienes una consulta para un estado de resultados mensual:

-- P&L para agosto 2025
SELECT account, sum(position)
WHERE account '^(Income|Expenses)'
AND date >= 2025-08-01 AND date <= 2025-08-31
GROUP BY account ORDER BY account;

Paso 7: Cierre de libros (opcional)

En la contabilidad tradicional, el proceso de "cierre" implica crear asientos que pongan a cero todas las cuentas temporales (Ingresos y Gastos) y transfieran la utilidad neta a una cuenta de patrimonio llamada Utilidades Retenidas. Esto reinicia formalmente las cuentas temporales para el próximo año.

En Beancount, este paso suele ser innecesario. Los informes de Fava son conscientes de la fecha; si solicitas un P&L de 2025, solo usará datos de 2025. Los saldos no "se derraman". La mayoría de los usuarios simplemente dejan los saldos tal como están.

Sin embargo, si necesitas realizar un cierre formal por cumplimiento o informes a accionistas, puedes hacerlo con una simple transacción de fin de año que mueva los saldos totales de ingresos y gastos a Equity:Retained-Earnings.


Lista de verificación práctica para el cierre mensual

Aquí tienes una lista de verificación repetible para cerrar tus libros cada mes usando Beancount.

  • Captura: Importa todas las transacciones de bancos y tarjetas de crédito. Ingresa manualmente cualquier gasto en efectivo o ítem fuera de banda.
  • Conciliación: Añade aserciones balance para todas las cuentas bancarias, tarjetas de crédito y préstamos, coincidiendo con tus extractos.
  • Revisión: Examina el balance de prueba no ajustado en Fava. Investiga cualquier saldo extraño o inesperado. Verifica facturas pendientes (Assets:AccountsReceivable) o cuentas por pagar (Liabilities:AccountsPayable).
  • Ajuste: Registra asientos para ingresos/gastos devengados, ingresos diferidos y cualquier corrección necesaria.
  • Validación: Ejecuta bean-check. Revisa el balance de prueba ajustado final.
  • Publicación: Genera el P&L y el Balance General. Envíalos a los interesados o guárdalos para tus registros.
  • Cierre: Opcionalmente, realiza un asiento de cierre si tu negocio lo requiere. Archiva una copia de tus archivos .beancount del período.

Por qué Beancount brilla en el ciclo contable

  • Transparencia y auditabilidad: Tu libro mayor es un archivo de texto. Puedes usar git para controlar versiones de tu historia financiera, revisar cambios con diff y colaborar con tu contador en un formato claro y sin ambigüedades.
  • Control total: Tú defines tu plan de cuentas. No estás atado a la estructura de un proveedor de software. Tus datos son tuyos, para siempre, en un formato abierto.
  • Poder inigualable: La combinación de consultas tipo SQL (BQL) y una rica interfaz web (Fava) te brinda un poder sin precedentes para segmentar, analizar y comprender tus datos financieros.

Fragmentos para copiar y pegar y comenzar

Plan de cuentas simple:

option "title" "My Personal Ledger"
option "operating_currency" "USD"

;; --- Accounts ---
1970-01-01 open Assets:Bank:Checking
1970-01-01 open Assets:AccountsReceivable
1970-01-01 open Liabilities:CreditCard
1970-01-01 open Liabilities:UnearnedRevenue
1970-01-01 open Equity:Owner:Capital
1970-01-01 open Equity:Retained-Earnings
1970-01-01 open Income:Consulting
1970-01-01 open Expenses:Office:Supplies
1970-01-01 open Expenses:Software
1970-01-01 open Expenses:Depreciation

Consulta BQL útil:

-- Find all customers with an outstanding balance
SELECT payee, sum(position)
WHERE account = 'Assets:AccountsReceivable'
GROUP BY payee
HAVING sum(position) > 0
ORDER BY sum(position) DESC;

Al mapear el atemporal ciclo contable a las herramientas modernas basadas en texto de Beancount, obtienes un sistema robusto, transparente y construido para perdurar. ¡Feliz contabilidad!

La Magia de la Contabilidad en Texto Plano con Beancount

· Lectura de 6 minutos
Mike Thrift
Mike Thrift
Marketing Manager

Descubre la Magia de la Contabilidad en Texto Plano con Beancount

Beancount.io banner

Introducción

2023-04-18-introduction-to-beancount

Bienvenido a un mundo donde la contabilidad ya no es una tarea desalentadora. Hoy, te presentamos Beancount, una herramienta de contabilidad en texto plano potente, flexible e intuitiva. Beancount te permite tomar el control de tus finanzas al ofrecer un enfoque transparente y directo para gestionar tu dinero.

En esta guía completa, profundizaremos en los fundamentos de Beancount, explicaremos sus conceptos centrales y te guiaremos a través de sus características simples pero potentes. Al final de este blog, tendrás una sólida comprensión de Beancount y estarás listo para comenzar a usarlo para organizar y analizar tu vida financiera.

¿Qué es Beancount?

Beancount es un sistema de contabilidad en texto plano de código abierto creado por Martin Blais. Inspirado en el sistema Ledger de John Wiegley, Beancount tiene como objetivo proporcionar un método robusto y confiable para gestionar finanzas personales y de pequeñas empresas utilizando archivos de texto plano. Con Beancount, puedes rastrear tus ingresos, gastos, inversiones y mucho más con facilidad.

¿Por qué Beancount?

La contabilidad en texto plano ofrece varias ventajas sobre los sistemas de contabilidad tradicionales basados en hojas de cálculo o software:

  • Transparencia: Los archivos de Beancount son legibles por humanos, lo que facilita la comprensión y auditoría de tus datos financieros.
  • Flexibilidad: Beancount se puede personalizar fácilmente para adaptarse a tus necesidades específicas, y puedes usar tu editor de texto y sistema de control de versiones favoritos para gestionar tus datos financieros.
  • Portabilidad: Tus datos financieros pueden ser accedidos en cualquier dispositivo, y es fácil transferirlos entre sistemas o compartirlos con otros.
  • A prueba de futuro: Los archivos de texto plano son universalmente compatibles, asegurando que tus datos financieros permanecerán accesibles, incluso a medida que la tecnología evolucione.

Conceptos Clave de Beancount

Para usar Beancount de manera efectiva, es crucial comprender sus conceptos clave:

  • Transacciones: Los eventos financieros, como ingresos, gastos o transferencias entre cuentas, se registran como transacciones.
  • Cuentas: Las transacciones involucran una o más cuentas, como activos, pasivos, ingresos o gastos.
  • Contabilidad de partida doble: Beancount aplica la contabilidad de partida doble, asegurando que cada transacción tenga débitos y créditos equilibrados.
  • Directivas: Beancount utiliza un conjunto de directivas para definir transacciones, aperturas de cuentas y otros eventos financieros.

Primeros Pasos con Beancount

Para comenzar a usar Beancount, sigue estos sencillos pasos:

  • Instalar Beancount: Instala Beancount en tu sistema utilizando las instrucciones de instalación proporcionadas para tu sistema operativo.
  • Crea tu archivo Beancount: Crea un nuevo archivo de texto plano con la extensión .beancount (por ejemplo, mis_finanzas.beancount).
  • Define tus cuentas: Usa la directiva "open" para definir las cuentas que usarás en tus transacciones.
  • Registra transacciones: Usa la directiva "txn" para registrar tus transacciones financieras.

O simplemente regístrate en https://beancount.io. Aquí tienes algunos ejemplos de contabilidad en texto plano -

Ejemplo 1: Transacción Básica

2023-04-01 open Assets:Checking
2023-04-01 open Expenses:Groceries

2023-04-10 txn "Grocery Store" "Buying groceries"
Assets:Checking -50.00 USD
Expenses:Groceries 50.00 USD

En este ejemplo, abrimos dos cuentas, Assets:Checking y Expenses:Groceries. El 10 de abril de 2023, registramos una transacción por la compra de comestibles por valor de $50. La transacción reduce el saldo de Assets:Checking en $50 (débito) y aumenta el saldo de Expenses:Groceries en $50 (crédito).

Ejemplo 2: Transacción de Ingresos y Gastos

2023-04-01 open Assets:Checking
2023-04-01 open Income:Salary
2023-04-01 open Expenses:Rent

2023-04-05 txn "Employer" "Salary payment"
Assets:Checking 2000.00 USD
Income:Salary -2000.00 USD

2023-04-06 txn "Landlord" "Monthly rent payment"
Assets:Checking -1000.00 USD
Expenses:Rent 1000.00 USD

En este ejemplo, abrimos tres cuentas: Assets:Checking, Income:Salary y Expenses:Rent. El 5 de abril de 2023, registramos una transacción de pago de salario de $2000. La transacción aumenta el saldo de Assets:Checking en $2000 (crédito) y disminuye el saldo de Income:Salary en $2000 (débito). El 6 de abril de 2023, registramos una transacción de pago de alquiler de $1000. La transacción reduce el saldo de Assets:Checking en $1000 (débito) y aumenta el saldo de Expenses:Rent en $1000 (crédito).

Ejemplo 3: Transferencia entre Cuentas

2023-04-01 open Assets:Checking
2023-04-01 open Assets:Savings

2023-04-15 txn "Bank" "Transfer from Checking to Savings"
Assets:Checking -500.00 USD
Assets:Savings 500.00 USD

En este ejemplo, abrimos dos cuentas: Assets:Checking y Assets:Savings. El 15 de abril de 2023, registramos una transacción para transferir $500 de la cuenta corriente a la cuenta de ahorros. La transacción reduce el saldo de Assets:Checking en $500 (débito) y aumenta el saldo de Assets:Savings en $500 (crédito).

Estos ejemplos ilustran los conceptos básicos del sistema de contabilidad de partida doble de Beancount. Al registrar correctamente las transacciones, los usuarios pueden mantener registros precisos de sus actividades financieras y generar informes para obtener información sobre su situación financiera.

Generación de Informes y Análisis de Datos

Beancount viene con un conjunto de herramientas potentes para generar informes financieros, incluyendo balances, estados de resultados y más. También puedes usar Fava, una interfaz de usuario web para Beancount, para visualizar e interactuar con tus datos financieros. https://beancount.io está construido sobre Fava con licencia MIT.

Conclusión

Adopta el poder y la simplicidad de la contabilidad en texto plano con Beancount. Al comprender sus conceptos clave y seguir los pasos descritos en esta guía, estarás en camino de gestionar tus finanzas personales o de pequeña empresa con facilidad y precisión. A medida que te familiarices más con Beancount, podrás explorar funciones avanzadas y personalizaciones para adaptar el sistema a tus necesidades únicas.

Ya sea que busques rastrear tus gastos, planificar el futuro u obtener información sobre tus hábitos financieros, Beancount ofrece la flexibilidad y transparencia necesarias para lograr tus objetivos. Con su enfoque fácil de usar, Beancount tiene el potencial de revolucionar la forma en que gestionas tus finanzas y empoderarte para tomar el control de tu futuro financiero.

Ahora que tienes una base sólida en Beancount, es hora de embarcarte en tu viaje de contabilidad en texto plano. Di adiós a las hojas de cálculo engorrosas y al software complicado, y da la bienvenida al mundo de Beancount. ¡Feliz contabilidad!

Introducción a Beancount.io

· Lectura de 6 minutos
Mike Thrift
Mike Thrift
Marketing Manager

Por qué la teneduría de libros moderna es importante

¿Todavía gestionas tus inversiones con hojas de cálculo? Aunque las hojas de cálculo son versátiles, pueden volverse engorrosas y propensas a errores a medida que tu cartera de inversiones crece. Presentamos Beancount.io, una plataforma de seguimiento de inversiones sofisticada pero fácil de usar, diseñada específicamente para gestionar carteras de acciones y criptomonedas. Creada pensando en ingenieros y minimalistas financieros, Beancount.io combina potentes funciones con una interfaz intuitiva para optimizar tu experiencia de seguimiento de inversiones.

2019-09-07-introduction-to-beancount

Expenses

Income Statement

Balance Sheet

Contabilidad de partida doble: La base de la precisión

Beancount.io se basa en los principios de la contabilidad de partida doble, una metodología probada a lo largo del tiempo y utilizada por instituciones financieras de todo el mundo. Este sistema garantiza la precisión matemática a través de un concepto simple pero potente: cada transacción financiera debe cuadrar perfectamente.

En la contabilidad de partida doble, cada transacción requiere al menos dos asientos – un débito (+) y un crédito (-) – en diferentes cuentas. Este sistema de verificación incorporado hace que sea prácticamente imposible registrar transacciones desequilibradas, asegurando que tus registros financieros permanezcan precisos y fiables.

1970-01-01 open Income:BeancountCorp
1970-01-01 open Assets:Cash
1970-01-01 open Expenses:Food
1970-01-01 open Assets:Receivables:Alice
1970-01-01 open Assets:Receivables:Bob
1970-01-01 open Assets:Receivables:Charlie
1970-01-01 open Liabilities:CreditCard

2019-05-31 * "BeancountCorp" "Salary of May 15th to May 31st"
Income:BeancountCorp -888 USD
Assets:Cash 888 USD

2019-07-12 * "Popeyes chicken sandwiches" "dinner with Alice, Bob, and Charlie"
Expenses:Food 20 USD
Assets:Receivables:Alice 20 USD
Assets:Receivables:Bob 20 USD
Assets:Receivables:Charlie 20 USD
Liabilities:CreditCard -80 USD

Como puedes ver en los dos ejemplos anteriores, cada transacción debe cumplir la ecuación contable.

Activos = Pasivos + Patrimonio Neto (también conocido como Activos Netos)

Utilizamos la sintaxis de Beancount de Martin Blais y el proyecto web Fava de Jakob Schnitzer para construir este sitio web. Y te alertará si alguna transacción tiene asientos que no suman cero.

Error Alert

Ahora entiendes cómo garantizamos la exactitud del libro mayor. Pero quizás te preguntes qué son esas "cuentas"?

Entendiendo las cuentas: La analogía del cubo de agua

Piensa en tus cuentas financieras como un sistema de cubos de agua interconectados, donde el dinero fluye como el agua entre ellos. Esta analogía hace que la contabilidad de partida doble sea intuitiva: cuando transfieres dinero de una cuenta a otra, es como verter agua de un cubo a otro – la cantidad total de agua (dinero) en el sistema permanece constante.

Beancount.io introduce cinco tipos de cuentas.

  1. Ingresos — Su importe es siempre negativo o en débito. Esto se debe a que estás ganando dinero, y luego el dinero se debita de la cuenta de "Ingresos" y se acredita a tus "Activos".
  2. Gastos — Su importe es siempre positivo o en crédito. Esto se debe a que estás gastando dinero, y el dinero fluye de los "Activos" o "Pasivos" a los "Gastos".
  3. Pasivos — Su importe es positivo o cero. Tus pasivos de tarjeta de crédito son un buen ejemplo, que suben y bajan en ciclos.
  4. Activos — Su importe es positivo o cero. Tu efectivo o tus casas siempre tienen algún valor.
  5. Patrimonio Neto — Tus activos netos. El sistema lo calculará automáticamente por ti. Patrimonio Neto = Activos - Pasivos y refleja cuán rico eres.

Ahora puedes abrir tus cuentas personalizadas con las palabras clave anteriores:

1970-01-01 open Assets:Cash
1970-01-01 open Assets:Stock:Robinhood
1970-01-01 open Assets:Crypto:Coinbase
1970-01-01 open Expenses:Transportation:Taxi
1970-01-01 open Equity:OpeningBalance

Seguimiento avanzado de inversiones con commodities

Beancount.io destaca en el seguimiento de diversas inversiones, desde acciones hasta criptomonedas. Exploremos cómo maneja escenarios de inversión complejos. Por ejemplo, así es como registrarías la compra de 10 Bitcoins a $100 cada uno en 2014:

2014-08-08 * "Buy 10 Bitcoin"
Assets:Trade:Cash -1000.00 USD
Assets:Trade:Positions 10 BTC {100.00 USD}

Y luego, tres años después, los vendes (originalmente con un costo de $100 por unidad, anotado con {100.00 USD}) al precio de $10,000 por unidad, anotado con @ 10,000.00 USD.

2017-12-12 * "Sell 2 Bitcoin"
Assets:Trade:Positions -2 BTC {100.00 USD} @ 10,000.00 USD
Assets:Trade:Cash 20,000.00 USD
Income:Trade:PnL -19,800.00 USD

O la misma transacción con @@ 20,000.00 USD significa que al precio de $20,000 en total.

2017-12-12 * "Sell 2 Bitcoin"
Assets:Trade:Positions -2 BTC {100.00 USD} @@ 20,000.00 USD
Assets:Trade:Cash 20,000.00 USD
Income:Trade:PnL -19,800.00 USD

La suma de todos los asientos de la transacción, incluyendo -2 BTC {100.00 USD}, sigue siendo, como siempre, cero.

La etiqueta de costos {100.00 USD} es importante porque podrías haber comprado el mismo commodity a diferentes costos.

100 BTC {10.00 USD, 2012-08-08}
10 BTC {100.00 USD, 2014-08-08}

Si quieres simplificar el proceso, puedes configurar la cuenta al principio con FIFO o LIFO. FIFO significa 'first in, first out' (primero en entrar, primero en salir), mientras que LIFO significa 'last in, first out' (último en entrar, primero en salir). En EE. UU., el IRS utiliza FIFO para calcular tu PnL y los impuestos correspondientes.

1970-01-01 open Assets:Trade:Positions "FIFO"

Y luego, cuando lo vendas de forma abreviada como -2 BTC {}, Beancount aplicará automáticamente la estrategia FIFO y venderá el commodity más antiguo.

Empezando con Beancount.io

Beancount.io es una moderna plataforma de gestión financiera basada en la nube que transforma tus registros de transacciones basados en texto en estados financieros completos, incluyendo estados de resultados, balances y balanzas de comprobación. Al combinar la fiabilidad de los archivos de texto plano con potentes herramientas de visualización, Beancount.io te ayuda a mantener un control preciso sobre tu vida financiera mientras obtienes valiosos conocimientos sobre el rendimiento de tus inversiones.

¡Comienza tu viaje financiero con Beancount.io - Gratis durante nuestro período promocional!