A7
Universidade A7
💰
Trilha
Financeiro Completo
Aula 02 · ~4 min · Equipe A7

A pagar, categorias e comprovantes obrigatórios

Como o A7X organiza despesas por categoria, exige comprovante acima de R$ 500 e separa lançamento de pagamento.

0% concluído 0 / 5

A estrutura de a pagar

Toda despesa vira um payable com:

  • Descrição
  • Valor lançado (amount)
  • Vencimento
  • Categoria (FK em finance_categories — sem CHECK constraint legado)
  • Centro de custo (opcional)
  • Conta bancária prevista
  • Status: pending, paid, partially_paid, overdue, cancelled

Acesso: Financeiro → A Pagar.

Por que categoria é tão importante

Categoria é o que vira DRE. Combustível, energia, química, folha, manutenção, marketing — cada um é um item separado no relatório.

Se você lança despesa sem categoria ou em “outros”, ela some no DRE. Categoria errada distorce a análise. Treine a equipe.

Categorias dinâmicas

Ana e Moisés podem criar novas categorias em Financeiro → Categorias sem precisar de dev. Cada nova categoria aparece imediatamente no dropdown de “A Pagar”.

Antes do A7X, isso era CHECK constraint hardcoded no banco — quando Ana queria “Copa e Cozinha” ou “Pró-Labore”, precisava chamar suporte. Não mais.

Lançamento ≠ pagamento

Mesmo princípio do “a receber”:

EtapaO que aconteceQuando
LançamentoCria payable com amountRecebe boleto/NF
PagamentoAtualiza paid_amount, paid_at, payment_methodBanco confirma saída

Importante: o pagamento pode ter desconto, multa, juros. O A7 registra os 3 separadamente. O paid_amount é o valor líquido que saiu da conta — pode ser menor que amount se houve desconto.

O trigger de comprovante (F1 Fix-3)

Quando uma despesa é > R$ 500, o A7X bloqueia a transição pra paid sem attachment_url. Trigger no banco:

“Comprovantes obrigatórios pra valores > R$ 500.”

Por que isso

Auditoria. Se o fiscal pede prova, comprovante existe. Se houve fraude, comprovante delata. Se o pagamento foi duplicado, comprovante mostra qual é qual.

Os 2 escapes

Casos em que você legitimamente quer pagar sem comprovante:

  1. Tag em notas: escreva [SEM_COMPROVANTE_OK] no campo notes do payable. Trigger libera.
  2. Service role: chamadas administrativas via backend bypass o trigger (raro, só em scripts de migração).

A Ana foi treinada no escape. Documenta o porquê em notes em vez de só pôr a tag.

Pagamento parcial

Se o cliente pagou só parte da fatura, marque como partially_paid com paid_amount proporcional. O sistema:

  • Mostra saldo restante na lista
  • Cria entry parcial em financial_entries
  • Permite múltiplos pagamentos parciais até quitar

Erros comuns

  • Lançar despesa sem categoria: vai pro “uncategorized” e some do DRE. Sempre preencha.
  • Marcar como paid sem comprovante > R$ 500: trigger bloqueia. Mensagem do erro é clara.
  • Confundir paid_amount com amount: amount é lançado, paid_amount é pago. Se houve desconto, divergem.

Insight

O sistema força higiene financeira via constraint de banco, não via “discurso de boas práticas”. Categoria + comprovante > R$ 500 são lei, não sugestão.

Próximo passo

Próxima aula: cheques de terceiros — o ciclo completo de receber, depositar e tratar devolução.

Seu progresso fica salvo nesse navegador. Continue de onde parou quando voltar.