Saltar al contenido principal

Ejemplos de libros contables funcionales

Copia seis patrones de libros Beancount reales y validados: finanzas del hogar, presupuestos por sobres, facturación freelance, propiedad en alquiler, criptomonedas y base de coste de acciones.

Copia una estructura de cuentas probada de uno de estos seis libros Beancount activos, luego renombra las cuentas y reemplaza los importes ficticios con los tuyos. Cada libro incrustado es público, versionado en Git y validado con bea check. Para reconstruir de la misma forma la presentación de una empresa que cotiza en bolsa, consulta Modelar una empresa que cotiza en bolsa en Beancount.

Empezar desde un archivo descargado

Omite el copiar y pegar: los patrones de hogar, sobres y autónomos se entregan cada uno como un libro inicial ejecutable con datos de ejemplo ficticios.

  1. Elige uno de los patrones a continuación: hogar para efectivo y tarjetas, sobres para objetivos de presupuesto, autónomos para facturas.
  2. Descarga su archivo desde el enlace junto a ese patrón.
  3. Valida el archivo guardado con bea --file <archivo> check. Un libro correcto sale con 0 de bea check; los errores se enumeran con una salida distinta de cero.
  4. Ábrelo con fava y usa la dirección mostrada en tu navegador.

Finanzas personales del día a día

Usa una cuenta de activo por banco, un pasivo por tarjeta de crédito y cuentas de gastos para las preguntas que quieres que respondan tus informes. El ejemplo completo también muestra nóminas, prestaciones, transferencias, aserciones de saldo y posiciones de inversión.

Abrir Libro de finanzas personales cotidianas en una pestaña nueva

Copia esta estructura cuando quieras un único conjunto de libros para efectivo, tarjetas, ingresos y gastos ordinarios:

option "operating_currency" "USD"
 
2026-01-01 open Assets:Bank:Checking USD
2026-01-01 open Liabilities:CreditCard USD
2026-01-01 open Equity:Opening-Balances USD
2026-01-01 open Expenses:Food:Groceries USD
 
2026-01-01 * "Opening balance"
  Assets:Bank:Checking          3,000.00 USD
  Equity:Opening-Balances      -3,000.00 USD
 
2026-01-18 * "Corner Market" "Weekly groceries"
  Liabilities:CreditCard          -71.90 USD
  Expenses:Food:Groceries          71.90 USD
 
2026-01-25 * "Credit card" "Statement payment"
  Liabilities:CreditCard           71.90 USD
  Assets:Bank:Checking            -71.90 USD

La cuenta de tarjeta de crédito mantiene la fecha de compra separada de la fecha de pago en efectivo. Añade una aserción mensual balance a cada cuenta del mundo real para que un error de importación no pueda ocultarse.

Descarga este patrón como household-starter.bean, luego ejecuta bea --file household-starter.bean check y fava household-starter.bean. El archivo coincide con el bloque anterior: checking termina en 2928.10 USD, groceries en 71.90 USD y la tarjeta en cero. Reemplaza Corner Market, el saldo inicial de 3,000.00 y los importes de 71.90 con tu propio banco, tarjeta y gastos.

Presupuesto por sobres que se arrastra

Modela cada sobre como una subcuenta de patrimonio superpuesta a la cuenta bancaria real. Asignar una nómina mueve valor dentro del patrimonio, mientras que una compra registra tanto el movimiento de efectivo como la decisión presupuestaria.

Abrir Libro de presupuestación por sobres en una pestaña nueva

Copia el árbol Equity:Budget y mantén el plan separado del dinero:

option "operating_currency" "USD"
 
2026-01-01 open Assets:Bank:Checking USD
2026-01-01 open Income:Salary USD
2026-01-01 open Expenses:Groceries USD
2026-01-01 open Equity:Budget:Unallocated USD
2026-01-01 open Equity:Budget:Groceries USD
 
2026-01-05 * "Acme Corp" "January salary"
  Assets:Bank:Checking          4,100.00 USD
  Income:Salary                -4,100.00 USD
 
2026-01-05 * "Budget" "Fund groceries"
  Equity:Budget:Unallocated      -550.00 USD
  Equity:Budget:Groceries         550.00 USD
 
2026-01-08 * "Whole Foods" "Weekly shop"
  Assets:Bank:Checking           -128.44 USD
  Expenses:Groceries              128.44 USD
  Equity:Budget:Groceries        -128.44 USD
  Equity:Budget:Unallocated       128.44 USD

Los dos pares de la compra se cuadran de forma independiente. Esa separación te permite reiniciar o reasignar un sobre sin cambiar el saldo bancario conciliado. Para la visualización de objetivo frente a real de Fava, usa las más simples directivas de presupuesto.

Descarga este patrón como envelope-budgeting-starter.bean, luego ejecuta bea --file envelope-budgeting-starter.bean check y fava envelope-budgeting-starter.bean. El archivo coincide con el bloque anterior: checking termina en 3971.56 USD y el sobre de Groceries contiene 421.56 USD frente a -421.56 USD en Unallocated. Reemplaza Acme Corp, el salario de 4,100.00 y la asignación de 550.00 con tu propia paga y sobres.

Facturación y cuentas por cobrar para freelancers

Registra una factura cuando devengas el ingreso, luego salda la cuenta por cobrar cuando el cliente pague. Una cuenta por cobrar separada por cliente hace que las facturas impagadas y parcialmente pagadas sean visibles como saldos ordinarios.

Abrir Libro de facturación de autónomos en una pestaña nueva

Copia el árbol de cuentas por cobrar y pon el número de factura en ambos eventos:

option "operating_currency" "USD"
 
2026-01-01 open Assets:Bank:Business USD
2026-01-01 open Assets:Receivable:Northwind USD
2026-01-01 open Income:Consulting USD
 
2026-01-09 * "Northwind Traders" "January retainer"
  invoice: "2026-001"
  due: 2026-02-08
  Assets:Receivable:Northwind    6,000.00 USD
  Income:Consulting             -6,000.00 USD
 
2026-02-05 * "Northwind Traders" "Payment — invoice 2026-001"
  invoice: "2026-001"
  Assets:Bank:Business           6,000.00 USD
  Assets:Receivable:Northwind   -6,000.00 USD

Añade el impuesto sobre ventas a un pasivo, no a los ingresos, y mueve el efectivo para impuestos estimados a un activo de reserva antes de pagarlo. El libro activo muestra ambos patrones, pagos parciales, costes refacturados y una baja por deudas incobrables.

Descarga este patrón como freelance-starter.bean, luego ejecuta bea --file freelance-starter.bean check y fava freelance-starter.bean. El archivo coincide con el bloque anterior: Business termina en 6000.00 USD, Consulting en -6000.00 USD y la cuenta por cobrar en cero. Reemplaza Northwind Traders, la factura 2026-001 y los importes de 6,000.00 con tus propios clientes y facturas.

Propiedad en alquiler y principal de la hipoteca

Trata la propiedad como un activo, la hipoteca como un pasivo y el depósito de garantía de un inquilino como dinero que debes devolver. Divide cada pago de la hipoteca entre intereses, principal y escrow para que el balance y la cuenta de resultados cuenten verdades distintas.

Abrir Libro de propiedad en alquiler en una pestaña nueva

Copia los grupos de cuentas de propiedad, deuda y operativa antes de añadir la actividad mensual:

option "operating_currency" "USD"
 
1970-01-01 commodity PROP123MAIN
2024-01-01 open Assets:RealEstate:Property PROP123MAIN
2024-01-01 open Assets:Bank:Checking USD
2024-01-01 open Assets:Bank:EscrowImpound USD
2024-01-01 open Liabilities:Mortgage USD
2024-01-01 open Income:RealEstate:Rent USD
2024-01-01 open Expenses:RealEstate:MortgageInterest USD
 
2024-03-15 * "Escrow" "Buy rental property"
  Assets:RealEstate:Property       1 PROP123MAIN {400,000.00 USD}
  Assets:Bank:Checking                       -80,000.00 USD
  Liabilities:Mortgage                      -320,000.00 USD
 
2024-04-01 * "Bank" "Mortgage payment"
  Expenses:RealEstate:MortgageInterest         1,866.67 USD
  Liabilities:Mortgage                           262.39 USD
  Assets:Bank:EscrowImpound                      566.67 USD
  Assets:Bank:Checking                        -2,695.73 USD

Mantén distintos el terreno, el valor depreciable del edificio, las mejoras de capital, la depreciación acumulada y la actividad de escrow. La guía de propiedades en alquiler explica cómo esos saldos alimentan los informes.

Lotes de criptomonedas y base de coste

Da a cada compra un coste entre llaves e identifica el mismo lote cuando vendas. Beancount entonces traslada la fecha de adquisición y la base a través de carteras, exchanges y disposiciones sujetas a impuestos en lugar de reducir una inversión a un único saldo combinado.

Abrir Libro de base de coste de criptomonedas en una pestaña nueva

Copia la materia prima, las cuentas de exchange y el asiento explícito de ganancia realizada:

option "operating_currency" "USD"
 
1970-01-01 commodity BTC
2024-01-01 open Assets:Crypto:Coinbase:BTC BTC
2024-01-01 open Assets:Crypto:Coinbase:USD USD
2024-01-01 open Expenses:Crypto:Fees:Trading USD
2024-01-01 open Income:Crypto:CapitalGains:ShortTerm USD
 
2024-02-15 * "Coinbase" "Buy 0.10 BTC"
  Assets:Crypto:Coinbase:BTC     0.10 BTC {43,800.00 USD, 2024-02-15}
  Assets:Crypto:Coinbase:USD   -4,380.00 USD
 
2024-08-20 * "Coinbase" "Sell the February lot"
  Assets:Crypto:Coinbase:BTC    -0.10 BTC {43,800.00 USD, 2024-02-15}
  Assets:Crypto:Coinbase:USD    5,900.00 USD
  Expenses:Crypto:Fees:Trading      8.85 USD
  Assets:Crypto:Coinbase:USD       -8.85 USD
  Income:Crypto:CapitalGains:ShortTerm -1,520.00 USD

Las transferencias entre tus propias carteras preservan el lote en lugar de crear ingresos. El libro activo continúa a través de staking, minería, finanzas descentralizadas y NFT; la guía de inventarios explica los métodos de registro y la reducción de lotes.

El ejemplo de criptomonedas usa precios estáticos con fecha para que puedas reproducir sus informes. Para tus propias posiciones compatibles en un libro alojado, configura Live Prices para mantener las cotizaciones de valoración automáticamente. Que coincidan los símbolos y las monedas de cotización importa; las fuentes no alteran estos ejemplos de transacciones.

Lotes de acciones, dividendos y splits

Una acción no es un número, es un lote: una cantidad mantenida a un coste conocido adquirida en una fecha conocida. Escribe cada compra en el bróker con un {cost, date} explícito y una venta posterior puede nombrar el lote exacto del que dispone, de modo que Beancount calcula la ganancia realizada y su periodo de tenencia en lugar de promediar dos lotes juntos. Un dividendo permanece visible como ingreso en lugar de desaparecer en un precio de acción ajustado.

Abrir Libro de base de coste de acciones y dividendos en una pestaña nueva

Copia el gráfico del bróker, el lote con fecha y la venta de lote específico:

option "operating_currency" "USD"
option "booking_method" "STRICT"
 
1970-01-01 commodity ACME
2024-01-01 open Assets:Brokerage:Cash USD
2024-01-01 open Assets:Brokerage:ACME ACME
2024-01-01 open Equity:Opening USD
2024-01-01 open Income:Dividends:Qualified USD
2024-01-01 open Income:CapitalGains:LongTerm USD
2024-01-01 open Expenses:Brokerage:Commissions USD
 
2024-01-08 * "Broker" "Wire funding to taxable brokerage account"
  Assets:Brokerage:Cash                  50,000.00 USD
  Equity:Opening                        -50,000.00 USD
 
2024-06-18 * "Broker" "Buy 150 ACME @ $68.20"
  Assets:Brokerage:ACME                        150 ACME {68.20 USD, 2024-06-18}
  Expenses:Brokerage:Commissions              4.95 USD
  Assets:Brokerage:Cash                 -10,234.95 USD
 
2025-03-14 * "Broker" "ACME quarterly cash dividend"
  Assets:Brokerage:Cash                      63.00 USD
  Income:Dividends:Qualified                -63.00 USD
 
2026-02-20 * "Broker" "Sell 60 ACME from the 2024 lot — long-term gain"
  Assets:Brokerage:ACME                        -60 ACME {68.20 USD, 2024-06-18}
  Assets:Brokerage:Cash                   5,778.00 USD
  Expenses:Brokerage:Commissions              4.95 USD
  Assets:Brokerage:Cash                      -4.95 USD
  Income:CapitalGains:LongTerm           -1,686.00 USD
 
2026-02-21 balance Assets:Brokerage:ACME              90 ACME
2026-02-21 balance Assets:Brokerage:Cash      45,601.10 USD

El asiento de ganancia es la aritmética, no un ajuste: 60 acciones vendidas a 96.30 USD cada una son 5,778.00 USD de ingresos frente a 4,092.00 USD de base, y la fecha 2024-06-18 del lote es lo que la hace a largo plazo. El libro activo continúa a través de una distribución de ETF reinvertida, un split 4 por 1 que preserva la base total, una venta a corto plazo de un segundo lote y aserciones de recuento de acciones al final del año. option "booking_method" "STRICT" es lo que convierte "vender 40 ACME" en un error en lugar de un promedio silencioso; la guía de opciones cubre las alternativas.

El ejemplo de acciones usa símbolos ficticios como ACME y archivos de precios estáticos. No sustituyas una fuente de ticker real por una materia prima ficticia. Elige pares compatibles para tus propias posiciones con Live Prices, manteniendo a la vez precios manuales para este ejemplo reproducible.

Fuente: https://beancount.io/es/docs/examples