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 Hoje →
data_pagamento = hoje, valor_pago = valor
- Baixar no Vencimento →
data_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').