Tópicos

Contas a Pagar

Objetivo

Este módulo permite o lançamento e gerenciamento de contas a pagar da empresa, com:

  • Controle de vencimento, pagamento e valores;
  • Classificação por categoria, subcategoria e centro de custo;
  • Integração com extrato bancário;
  • Ações em lote para conciliação, agendamento e baixa de lançamentos.

Campos do Formulário

Campo Regras Obrigatório Observações
Favorecido exists:pessoas,id Listado pelo escopo favorecidos()
Vencimento `required date`
Valor `required numeric min:0`
Espécie `required string max:50`
Categoria `required exists:categorias,id`
SubCategoria `required exists:sub_categorias,id`
Centro de Custo required* ❌ / ✅ Obrigatório apenas se require_cost_center = 1
Conta Corrente `nullable existsourequired`
Data de Pagamento livre Preenchida ou definida via ação
Valor Pago livre Usado na baixa do título
Documento livre Referência externa (nota, boleto...)
Referência / Comentário livre Descrição resumida da despesa
Código de Barras livre Informativo, não validado

Funcionalidades Automáticas

Ações em Lote (via checkbox + dropdown)

  • Baixar Hojedata_pagamento = hoje, valor_pago = valor
  • Baixar no Vencimentodata_pagamento = data_vencimento
  • Conciliar / Desconciliar → Alterna conciliada
  • Agendar / Desagendar → Alterna agendada

Anexos

  • Arquivos podem ser enviados via botão upload;
  • São armazenados com a Spatie Media Library no grupo arquivos;
  • Arquivos podem ser excluídos individualmente.

Duplicação

  • Permite clonar um lançamento informando nova data de vencimento;
  • Campos valor_pago e data_pagamento são limpos automaticamente;
  • Redireciona automaticamente para o novo lançamento.

Desdobramento (Parcelamento)

  • Cria novas contas mensais com base no lançamento atual;
  • As datas são geradas com incremento de +N meses;
  • Detalhes (parcelas) são replicados, respeitando total_parcelas.

Permissões

Ação Permissão Requerida
Acessar listagem Contas a Pagar - Acesso
Criar, editar, duplicar, desdobrar Contas a Pagar - Dados
Excluir Contas a Pagar - Excluir

Exclusão

  • Se a conta possuir vínculo com extrato (contas_pagar_id), esse lançamento será removido do extrato;
  • O extrato bancário da respectiva conta é recalculado com recalcularExtrato().

Filtro por Período

  • As datas de filtro são armazenadas em session('pagar_ini') e session('pagar_fim');
  • Se não houver valores enviados, o sistema assume o mês atual como padrão;
  • Filtros aplicados nas ações index() e show().

Regras de Validação Especiais

  • O campo Centro de Custo é obrigatório somente se a SubCategoria exigir (require_cost_center = true);
  • Essa verificação é feita dinamicamente em store() e update();
  • A ausência de conta corrente bloqueia o parcelamento (desdobramento).

Observações Técnicas

  • Todos os dados são validados por RequestContasPagar;
  • A segurança é reforçada com auth()->user()->can() para todas as rotas sensíveis;
  • Logs de erro críticos são enviados para o Slack via Log::channel('slack').

Atualizado em 18/09/2025 23:11