Saltar al contenido principal

2 publicaciones con la etiqueta "Accounts Payable"

Ver todas las etiquetas

¿Qué es Cuentas por Pagar? Una Guía Amigable con Beancount para Rastrear Facturas de Proveedores en Texto Plano

· Lectura de 9 minutos
Mike Thrift
Mike Thrift
Marketing Manager

Las cuentas por pagar (AP) son el dinero que tu negocio debe a sus proveedores por bienes o servicios que ya has recibido pero que aún no has pagado. En contabilidad, AP se clasifica como un pasivo corriente en tu balance: una cantidad que normalmente se debe pagar dentro del próximo año, y con frecuencia dentro de 30 a 60 días.

Este concepto es central en la contabilidad de acumulación, donde registras el gasto y el pasivo correspondiente en el momento en que llega la factura, no cuando realmente envías el efectivo. Esta guía te mostrará cómo gestionar todo el flujo de trabajo de AP de forma limpia y eficiente usando la herramienta de contabilidad en texto plano, Beancount.

2025-08-20-what-is-accounts-payable


Resumen rápido

Antes de entrar en detalles, cubramos lo esencial:

  • Cuentas por pagar (AP) representa tus deudas a corto plazo con los proveedores. La encontrarás bajo la sección Liabilities de tu balance.
  • Acumulación vs. Efectivo: AP solo existe si llevas tus libros bajo una base de acumulación. Beancount soporta totalmente los flujos de trabajo de acumulación, y su interfaz web, Fava, mostrará tus pasivos correctamente.
  • AP vs. AR: Es simple: las cuentas por pagar son lo que debes, mientras que las cuentas por cobrar (AR) son lo que otros te deben.

Dónde vive AP en Beancount (y Fava)

Para comenzar a rastrear AP, primero debes declarar una cuenta para ello en tu libro mayor. Una convención estándar es:

Liabilities:AccountsPayable

Opcionalmente puedes crear subcuentas para proveedores principales (p. ej., Liabilities:AccountsPayable:ForestPaintSupply).

En Fava, esta cuenta aparecerá en tu Balance bajo Liabilities. Puedes hacer clic para profundizar y ver una lista de todos los ítems abiertos y pagados, dándote una visión clara de tus obligaciones. Incluso puedes ver esto en acción en el libro mayor de ejemplo público de Fava, que incluye una cuenta Liabilities:AccountsPayable.


Bloques de construcción de Beancount que usarás

Un flujo de trabajo robusto de AP en Beancount se apoya en algunas funciones clave:

  1. Cuentas: Usarás principalmente tu cuenta Liabilities:AccountsPayable, una cuenta de efectivo como Assets:Bank:Checking, y tus diversas cuentas de gasto (p. ej., Expenses:Supplies).
  2. Metadatos: Puedes adjuntar pares clave‑valor a cualquier transacción. Para AP usarás metadatos como invoice:, due:, terms: y document:. Fava reconoce la clave document: y creará automáticamente un enlace clicable al archivo adjunto si configuras una carpeta de documentos.
  3. Etiquetas y enlaces: Usa #tags (como #ap) para filtrar fácilmente y ^links (como ^INV-10455) para vincular programáticamente una factura con su pago posterior. Esto crea una pista clara y auditable.
  4. Consultas (BQL): El lenguaje de consultas similar a SQL de Beancount (BQL) te permite ejecutar informes potentes, como listar todas las cuentas por pagar abiertas ordenadas por fecha de vencimiento, directamente desde la línea de comandos con bean-query o en la página “Query” de Fava.

Flujo de trabajo central de AP en Beancount

Gestionar AP en tu libro mayor implica dos o tres pasos clave: registrar la factura, pagarla y, a veces, manejar pagos parciales o descuentos.

1) Registrar la factura del proveedor (crea el pasivo)

Primero, registras el gasto y creas la cuenta por pagar cuando llega la factura.

; Opcionalmente define tu carpeta de documentos en el archivo principal de Beancount:
option "documents" "documents"

2025-08-05 * "Forest Paint Supply" "Paint order INV-10455" ^INV-10455 #ap
invoice: "INV-10455"
due: "2025-09-04"
terms: "2/10, n/30"
document: "invoices/2025-08-05-forest-paint-INV-10455.pdf"
Expenses:Supplies:Paint 500.00 USD
Liabilities:AccountsPayable -500.00 USD

Esta única entrada logra dos cosas críticas:

  1. Reconoce inmediatamente el gasto de $500 en el período correcto (agosto).
  2. Crea un pasivo correspondiente de $500, mostrando que le debes dinero a Forest Paint Supply.

El enlace ^INV-10455 es un identificador único que te permite adjuntar el mismo enlace al pago más tarde, manteniendo la factura y el pago lógicamente conectados.

2) Pagar la factura (elimina el pasivo)

Cuando pagas la factura, creas una transacción que mueve dinero de tu cuenta bancaria para liquidar el pasivo.

a) Pago estándar (sin descuento):

2025-09-01 * "Forest Paint Supply" "Payment INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -500.00 USD

Esta entrada reduce tu saldo de AP en $500 y el saldo de tu cuenta corriente en la misma cantidad. El pasivo queda liquidado.

b) Descuento por pronto pago (p. ej., “2/10, n/30”):

Si los términos son “2/10, n/30”, puedes obtener un 2 % de descuento si pagas dentro de 10 días. Para nuestra factura de $500, eso equivale a $10 de descuento. Aquí tienes dos formas aceptables de registrarlo—elige una y sé consistente.

; Opción 1: Registrar el descuento como otro ingreso (efecto contra‑gasto)
2025-08-12 * "Forest Paint Supply" "Early payment discount INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -490.00 USD
Income:Discounts:Payables -10.00 USD

; Opción 2: Reducir directamente el gasto original
2025-08-12 * "Forest Paint Supply" "Early payment discount INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -490.00 USD
Expenses:Supplies:Paint -10.00 USD

En ambos casos, eliminas el pasivo completo de $500, reduces tu saldo bancario en $490 (lo que realmente pagaste) y contabilizas el beneficio de $10.

3) Manejar pagos parciales

La función de enlaces de Beancount hace que rastrear pagos parciales sea sencillo y limpio.

; Factura de $1,200
2025-08-10 * "Acme Parts" "INV-9001" ^INV-9001
invoice: "INV-9001"
due: "2025-09-09"
Expenses:Parts 1200.00 USD
Liabilities:AccountsPayable -1200.00 USD

; Primer pago de $400
2025-08-20 * "Acme Parts" "Payment INV-9001 (1/3)" ^INV-9001
Liabilities:AccountsPayable 400.00 USD
Assets:Bank:Checking -400.00 USD

; Pago final de $800
2025-09-05 * "Acme Parts" "Payment INV-9001 (final)" ^INV-9001
Liabilities:AccountsPayable 800.00 USD
Assets:Bank:Checking -800.00 USD

Al usar el enlace ^INV-9001 en las tres transacciones, puedes filtrar fácilmente tu diario para ver el historial completo de esta factura específica y sus pagos asociados.


Consultas útiles (BQL)

Puedes ejecutar estas consultas en la pestaña “Query” de Fava o desde la línea de comandos con bean-query.

Consejo: La función any_meta() es extremadamente útil para extraer campos de metadatos como invoice: y document: en los resultados de tus consultas.

AP abierto por proveedor (vista de saldo):

Esta consulta suma el saldo pendiente actual que le debes a cada proveedor.

SELECT payee, COST(SUM(position)) AS amount
WHERE account "^Liabilities:AccountsPayable"
GROUP BY payee
ORDER BY payee;

AP abierto por factura + fecha de vencimiento:

Obtén una lista ordenada de cada factura abierta, ordenada por su fecha de vencimiento, para ayudarte a priorizar pagos.

SELECT payee,
any_meta('invoice') AS invoice,
any_meta('due') AS due,
COST(SUM(position)) AS amount
WHERE account "^Liabilities:AccountsPayable"
GROUP BY payee, invoice, due
ORDER BY due, payee;

Listar facturas con PDFs adjuntos:

Esta consulta encuentra todas tus facturas y muestra la ruta al documento enlazado.

SELECT date, payee, any_meta('invoice') AS invoice, any_meta('document') AS file
WHERE account "^Liabilities:AccountsPayable"
ORDER BY date DESC;

Dónde ver AP en Fava

  • Balance: Navega a Balance SheetLiabilitiesAccountsPayable para ver el saldo total y profundizar en los detalles de cada transacción.
  • Diario: Filtra el diario con account:Liabilities:AccountsPayable o con un enlace específico como ^INV-xxxx para ver el ciclo de vida completo de una factura.
  • Barra lateral de documentos: Si usas el metadato document: y configuras la directiva option "documents", verás una lista de documentos enlazados en la barra lateral.

Envejecimiento de AP, Rotación y Conciencia de Flujo de Caja

  • Calendario de envejecimiento: Este informe agrupa tus facturas abiertas por tiempo de vencimiento (p. ej., 1‑30 días, 31‑60 días, más de 60 días). En Beancount, el enfoque más práctico es ejecutar la consulta “AP abierto por factura + fecha de vencimiento” anterior, exportar los resultados a CSV y agruparlos en una hoja de cálculo o con un pequeño script Python.
  • Ratio de rotación de AP: Es una medida rápida de cuán rápido pagas a tus proveedores. La fórmula es Compras totales a proveedores ÷ Promedio de AP. Una métrica relacionada, Días de Cuentas por Pagar (DPO), se calcula aproximadamente como 365 ÷ Ratio de rotación.
  • Si no puedes pagar a tiempo: AP está pensado para deudas a corto plazo. Si un proveedor acepta un plazo de pago más largo y formal, deberías reclasificar la deuda fuera de AP y moverla a una nota por pagar.
2025-10-01 * "Helix Industries" "Convert overdue AP to 12-month note" ^INV-1110
Liabilities:AccountsPayable 2000.00 USD
Liabilities:NotesPayable -2000.00 USD

Mejores prácticas para AP en un libro mayor de texto plano

  • Sin papel: Guarda los PDFs de facturas en tu carpeta documents y enlázalos con la clave de metadato document:.
  • Usa enlaces de forma consistente: Pon el número de factura único en un ^link tanto en la factura como en todas las entradas de pago asociadas.
  • Mantén los metadatos ordenados: Usar consistentemente invoice:, due: y terms: mejora la búsqueda, las consultas y las revisiones financieras.
  • Acumulación total: Si deseas informes útiles de AP, comprométete a llevar tus libros bajo una base de acumulación. Beancount y Fava manejan esto de forma excelente.

Copia‑pega de inicio: Factura de proveedor + Pago

; ---- Factura ----
2025-08-05 * "Forest Paint Supply" "Paint order INV-10455" ^INV-10455 #ap
invoice: "INV-10455"
due: "2025-09-04"
document: "invoices/2025-08-05-forest-paint-INV-10455.pdf"
Expenses:Supplies:Paint 500.00 USD
Liabilities:AccountsPayable -500.00 USD

; ---- Pago (sin descuento) ----
2025-09-01 * "Forest Paint Supply" "Payment INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -500.00 USD

Esta guía es con fines educativos y no constituye asesoramiento fiscal, legal o financiero.

Referencias y lecturas adicionales:

Comprendiendo Cuentas por Cobrar y Pagar en Beancount

· Lectura de 3 minutos
Mike Thrift
Mike Thrift
Marketing Manager

¡Hola a todos! En la entrada del blog de hoy, nos adentramos en el mundo de Beancount, una herramienta de contabilidad de doble entrada que muchos aprecian por su simplicidad y potencia. Más específicamente, vamos a hablar de dos conceptos clave: Cuentas por Cobrar y Cuentas por Pagar.

Comprender estos términos es crucial para usar Beancount (o cualquier sistema de contabilidad de doble entrada) de manera efectiva. Pero no te preocupes si eres principiante, ¡vamos a desglosarlo todo, paso a paso!

Cuentas por Cobrar y Pagar: Lo Básico

2023-05-30-receiveable-and-payable

En contabilidad, "cuentas por cobrar" y "cuentas por pagar" son términos utilizados para rastrear el dinero que se debe. Las "cuentas por cobrar" se refieren al dinero que otros te deben a ti, mientras que las "cuentas por pagar" se refieren al dinero que tú debes a otros.

Veamos un ejemplo:

  1. Cuentas por Cobrar (C/C): Supongamos que eres dueño de una librería y un cliente compra un libro a crédito. El dinero que te deben por el libro es una cuenta por cobrar.

  2. Cuentas por Pagar (C/P): Por otro lado, imagina que pides un nuevo lote de libros a un editor, pero no los pagas por adelantado. El dinero que le debes al editor es una cuenta por pagar.

En Beancount, estas se suelen rastrear a través de cuentas correspondientes. El principal beneficio aquí es que te proporciona una imagen clara y precisa de tu posición financiera en cualquier momento.

Configuración de Cuentas por Cobrar y Pagar en Beancount

La estructura de tu archivo Beancount puede ser tan simple o tan compleja como necesites. Para las cuentas por cobrar y por pagar, probablemente querrás crear cuentas separadas bajo tus secciones de Activos y Pasivos.

Aquí tienes un ejemplo sencillo:

1970-01-01 open Assets:AccountsReceivable
1970-01-01 open Liabilities:AccountsPayable

Seguimiento de Transacciones

Lado del Beneficiario

Después de configurar tus cuentas, puedes rastrear transacciones que involucren cuentas por cobrar y por pagar. Veamos un ejemplo:

2023-05-29 * "Venta de libros a cliente a crédito"
Assets:AccountsReceivable 100 USD
Income:BookSales -100 USD

Aquí, estás añadiendo $100 a tus cuentas por cobrar porque un cliente te debe esta cantidad. Simultáneamente, estás reduciendo tus ingresos por la misma cantidad para mantener el balance (ya que aún no has recibido el dinero).

Cuando el cliente finalmente pague, lo registrarás así:

2023-06-01 * "Pago recibido del cliente"
Assets:Bank:Savings 100 USD
Assets:AccountsReceivable -100 USD

Lado del Pagador

El mismo principio se aplica a las cuentas por pagar, pero con los signos invertidos:

2023-05-30 * "Compra de libros a editor a crédito"
Liabilities:AccountsPayable 200 USD
Expenses:BookPurchases -200 USD

Y cuando saldas tu deuda:

2023-06-02 * "Deuda saldada con el editor"
Liabilities:AccountsPayable -200 USD
Assets:Bank:Checking 200 USD

Conclusión

Las cuentas por cobrar y por pagar son el corazón de cualquier sistema contable. Al rastrearlas con precisión, obtienes una comprensión completa de tu salud financiera.

Este es solo un punto de partida, y Beancount es capaz de mucho más. Espero que esta entrada del blog ayude a aclarar estos importantes conceptos. Como siempre, ¡feliz contabilidad!