Skip to content

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 via Brick\Money.
  • Gateways: implementam PaymentGatewayInterface e expõem drivers desacoplados (ex.: InfinityPay, Stripe).
  • UI Filament: painéis administrativos usam policies e resources para garantir consistência.

Fluxos Principais

  1. CreateInvoiceAction: recebe DTOs de itens, aplica impostos via TaxCalculatorInterface e salva a fatura.
  2. CancelInvoiceAction: publica evento de cancelamento para revogar cobranças e alertar comunicações.
  3. RecordPaymentAction: registra pagamento, concilia valores e gera recibo PDF usando PdfGeneratorInterface.

Integrações

  • Reage a PersonCreated para vincular dados de faturamento automaticamente.
  • Emite InvoiceCreated e PaymentCompleted para 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/.

Leitura Complementar

Documentação privada do ecossistema Filament Core.