O que é Contas a Pagar? Um Guia Amigável ao Beancount para Rastrear Faturas de Fornecedores em Texto Simples
Contas a pagar (AP) é o dinheiro que sua empresa deve aos fornecedores por bens ou serviços que já foram recebidos, mas ainda não foram pagos. No mundo da contabilidade, AP é classificado como um passivo circulante no seu balanço — um valor normalmente devido dentro do próximo ano, e frequentemente dentro de 30 a 60 dias.
Esse conceito está no centro da contabilidade de competência, onde você registra a despesa e o passivo correspondente no momento em que a fatura chega, não quando o dinheiro realmente sai. Este guia mostrará como gerenciar todo o fluxo de trabalho de AP de forma limpa e eficiente usando a ferramenta de contabilidade em texto simples, Beancount.
Resumo Rápido
Antes de mergulharmos nos detalhes, vamos cobrir o essencial:
- Contas a Pagar (AP) representa suas dívidas de curto prazo com fornecedores. Você a encontrará na seção
Passivos
do seu balanço. - Competência vs. Caixa: AP só existe se você mantiver seus livros em base de competência. O Beancount suporta totalmente fluxos de trabalho de competência, e sua interface web, Fava, exibirá seus passivos corretamente.
- AP vs. AR: É simples: Payables são o que você deve, enquanto Recebíveis (AR) são o que outros devem a você.
Onde a AP Vive no Beancount (e no Fava)
Para começar a rastrear AP, primeiro você precisa declarar uma conta para ela no seu ledger. Uma convenção padrão é:
Passivos:ContasAPagar
Opcionalmente, você pode criar subcontas para fornecedores principais (por exemplo, Passivos:ContasAPagar:FornecedoraTintasFlorestais
).
No Fava, essa conta aparecerá no seu Balanço Patrimonial sob Passivos
. Você pode clicar nela para detalhar e ver uma lista de todos os itens abertos e pagos, proporcionando uma visão clara de suas obrigações. Você pode ver isso em ação no ledger de exemplo público do Fava, que inclui uma conta Passivos:ContasAPagar
.
Blocos de Construção do Beancount que Você Usará
Um fluxo de trabalho robusto de AP no Beancount depende de alguns recursos principais:
- Contas: Você usará principalmente sua conta
Passivos:ContasAPagar
, uma conta de caixa comoAtivos:Banco:Corrente
, e suas várias contas de despesa (por exemplo,Despesas:Suprimentos
). - Metadados: Você pode anexar pares chave‑valor a qualquer transação. Para AP, usará metadados como
invoice:
,due:
,terms:
, edocument:
. O Fava reconhece a chavedocument:
e criará automaticamente um link clicável para o arquivo anexado se você configurar uma pasta de documentos. - Tags & Links: Use
#tags
(como#ap
) para filtragem fácil e^links
(como^INV-10455
) para ligar programaticamente uma fatura ao pagamento subsequente. Isso cria um rastro claro e auditável. - Consultas (BQL): A linguagem de consulta semelhante ao SQL do Beancount (BQL) permite gerar relatórios poderosos, como listar todas as contas a pagar abertas ordenadas por data de vencimento, diretamente da linha de comando com
bean-query
ou na página “Consulta” do Fava.
Fluxo de Trabalho Central de AP no Beancount
Gerenciar AP no seu ledger envolve duas ou três etapas chave: registrar a fatura, pagá‑la e, às vezes, lidar com pagamentos parciais ou descontos.
1) Registrar a Fatura do Fornecedor (Isso Cria o Passivo)
Primeiro, você registra a despesa e cria a conta a pagar quando a fatura chega.
; Opcionalmente defina sua pasta de documentos no arquivo principal do 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 realiza duas coisas críticas:
- Reconhece imediatamente a despesa de $500 no período correto (agosto).
- Cria um passivo correspondente de $500, mostrando que você deve dinheiro à Forest Paint Supply.
O link ^INV-10455
é um identificador único que permite anexar o mesmo link ao pagamento posteriormente, mantendo as transações de fatura e pagamento logicamente conectadas.
2) Pagar a Fatura (Isso Liquida o Passivo)
Quando você paga a fatura, cria uma transação que move dinheiro da sua conta bancária para liquidar o passivo.
a) Pagamento Padrão (Sem Desconto):
2025-09-01 * "Forest Paint Supply" "Payment INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -500.00 USD
Esta entrada reduz seu saldo de AP em 500. O passivo agora está liquidado.
b) Desconto por Pagamento Antecipado (ex.: "2/10, n/30"):
Se os termos forem "2/10, n/30", você pode obter 2 % de desconto se pagar dentro de 10 dias. Para nossa fatura de 10 de desconto. Aqui estão duas formas aceitáveis de registrar — escolha um método e seja consistente.
; Opção 1: Registrar o desconto como outra receita (efeito contra‑despesa)
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
; Opção 2: Reduzir a despesa original diretamente
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
Em ambos os casos, você liquida o passivo total de 490 (valor realmente pago) e contabiliza o benefício de $10.
3) Lidando com Pagamentos Parciais
O recurso de links do Beancount torna o rastreamento de pagamentos parciais simples e limpo.
; Fatura 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
; Primeiro pagamento 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
; Pagamento 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
Ao usar o link ^INV-9001
nas três transações, você pode filtrar facilmente seu diário para ver o histórico completo dessa fatura específica e seus pagamentos associados.
Consultas Úteis (BQL)
Você pode executar estas consultas na aba “Consulta” do Fava ou na linha de comando com bean-query
.
Dica: A função
any_meta()
é extremamente útil para trazer campos de metadados comoinvoice:
edocument:
para os resultados da consulta.
AP Aberta por Fornecedor (Visão de Saldo):
Esta consulta soma o saldo atual pendente que você deve a cada fornecedor.
SELECT payee, COST(SUM(position)) AS amount
WHERE account "^Liabilities:AccountsPayable"
GROUP BY payee
ORDER BY payee;
AP Aberta por Fatura + Data de Vencimento:
Obtenha uma lista organizada de cada fatura aberta, ordenada pela data de vencimento, para ajudar a priorizar pagamentos.
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 Faturas com PDFs Anexados:
Esta consulta encontra todas as suas faturas e mostra o caminho para o documento vinculado.
SELECT date, payee, any_meta('invoice') AS invoice, any_meta('document') AS file
WHERE account "^Liabilities:AccountsPayable"
ORDER BY date DESC;
Onde Ver AP no Fava
- Balanço Patrimonial: Navegue até
Balance Sheet
→Liabilities
→AccountsPayable
para ver o saldo total e detalhar as transações. - Diário: Filtre o diário por
account:Liabilities:AccountsPayable
ou por um link específico como^INV-xxxx
para ver o ciclo completo de uma fatura. - Barra Lateral de Documentos: Se usar o metadado
document:
e definir a diretivaoption "documents"
, verá uma lista de documentos vinculados na barra lateral.
Envelhecimento de AP, Rotatividade e Consciência de Fluxo de Caixa
- Cronograma de Envelhecimento: Este relatório agrupa suas faturas abertas por tempo de pendência (ex.: 1‑30 dias, 31‑60 dias, > 60 dias). No Beancount, a abordagem mais prática é executar a consulta “Open AP by Invoice + Due Date” acima, exportar os resultados como CSV e agrupar em uma planilha ou pequeno script Python.
- Índice de Rotatividade de AP: Métrica rápida de saúde que indica a velocidade com que você paga fornecedores. A fórmula é
Total de Compras de Fornecedores ÷ Média de AP
. Uma métrica relacionada, Dias de Contas a Pagar (DPO), é aproximadamente365 ÷ Índice de Rotatividade
. - Se Não Conseguir Pagar a Tempo: AP destina‑se a dívida de curto prazo. Se um fornecedor concordar com pagamento formal de longo prazo, reclassifique a dívida de AP para um nota a 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
Boas Práticas para AP em um Ledger de Texto Simples
- Vá Sem Papel: Armazene PDFs de faturas na sua pasta
documents
e vincule‑os com a chave de metadadodocument:
. - Use Links Consistentemente: Coloque o número único da fatura em um
^link
tanto na fatura quanto em todas as entradas de pagamento associadas. - Mantenha Metadados Organizados: Usar consistentemente
invoice:
,due:
eterms:
melhora buscas, consultas e revisões financeiras. - Competência Até o Fim: Se quiser relatórios úteis de AP, comprometa‑se a manter seus livros em base de competência. Beancount e Fava lidam com isso de forma excelente.
Copiar‑Colar de Início: Fatura do Fornecedor + Pagamento
; ---- Fatura ----
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
; ---- Pagamento (sem desconto) ----
2025-09-01 * "Forest Paint Supply" "Payment INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -500.00 USD
Este guia tem fins educacionais e não constitui aconselhamento tributário, jurídico ou financeiro.