Filament Core Invoices
Propósito
Gerenciar faturas, pagamentos e geração de documentos fiscais dentro do ecossistema. Fornece UI Filament para operadores, integrações com gateways e emite eventos alinhados aos contratos base.
Componentes-Chave
- Actions (
Laravel Actions): encapsulam fluxos como criar, cancelar ou registrar pagamento sem duplicar regras. - Models (
Invoice,InvoiceItem,InvoicePayment): persistem dados normalizados com suporte a múltiplas moedas viaBrick\Money. - Gateways: implementam
PaymentGatewayInterfacee expõem drivers desacoplados (ex.: InfinityPay, Stripe). - UI Filament: painéis administrativos usam policies e resources para garantir consistência.
Fluxos Principais
- CreateInvoiceAction: recebe DTOs de itens, aplica impostos via
TaxCalculatorInterfacee salva a fatura. - CancelInvoiceAction: publica evento de cancelamento para revogar cobranças e alertar comunicações.
- RecordPaymentAction: registra pagamento, concilia valores e gera recibo PDF usando
PdfGeneratorInterface.
Integrações
- Reage a
PersonCreatedpara vincular dados de faturamento automaticamente. - Emite
InvoiceCreatedePaymentCompletedpara alimentar Communications e relatórios. - Gateways externos residem em subpacotes (
filament-core-invoices-infinitypay).
Próximos Passos
- Adicionar testes de contrato para garantir que gateways customizados respeitem
PaymentGatewayInterface. - Documentar exemplos de webhook e conciliação em páginas próprias dentro de
docs/invoices/.