InvoiceSent events).invoices table). May require schema adjustments if using custom invoice models.Invoice::create()) enables easy API integration for headless use cases.spatie/money.composer require barryvdh/laravel-dompdf).php artisan vendor:publish --provider="Tomato\FilamentInvoices\FilamentInvoicesServiceProvider"
app/Providers/Filament/AdminPanelProvider.php:
$panel->plugins([
\Tomato\FilamentInvoices\FilamentInvoicesPlugin::make(),
]);
InvoiceTemplateFactory or override views in resources/views/vendor/filament-invoices.InvoiceCreated) for custom logic.invoices table migrations don’t conflict with existing schemas.Invoice::debug()).queue:work) for bulk invoices.status, currency, or created_at.stancl/tenancy.| Failure Point | Impact | Mitigation |
|---|---|---|
| DomPDF generation failure | Invoices not sent as PDF/email | Fallback to plain-text emails + retry queue. |
| SMTP misconfiguration | Emails not delivered | Use Laravel’s mail queue + monitoring. |
| Database deadlocks | Invoice creation failures | Optimistic locking, retry logic. |
| Filament plugin conflicts | UI rendering issues | Isolate plugin in a separate Filament panel. |
| Currency conversion errors | Incorrect invoice totals | Validate rates via API (e.g., ExchangeRate-API). |
How can I help you explore Laravel packages today?