locations() relation. Previously an implicit assumption; this widens the set of integrable billable entities and removes a likely customisation fork.invoices table). Schema migration risk against existing custom invoice models is unchanged.Invoice::create()) unchanged; headless use remains possible but still requires a custom UI layer.locations() decoupling removes a prior fit blocker.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, InvoiceSent) for custom logic.locations() assumptions — those patches are now redundant.locations().invoices migrations don't conflict with existing schemas. No schema changes flagged in this release.spatie/money), payment integrations, custom templates.queue:work). Index status, currency, created_at at volume.locations() decoupling specifically helps tenants whose billable models are structurally minimal. Still verify isolation with stancl/tenancy.| Failure Point | Impact | Mitigation |
|---|---|---|
| DomPDF generation failure | Invoices not sent as PDF/email | Fallback to plain-text email + retry queue. |
| SMTP misconfiguration | Emails not delivered | Laravel mail queue + delivery 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); use spatie/money. |
| Filament v3 → v5 upgrade breakage (new) | Admin panel regressions, widget/settings-hub breakage | Upgrade Filament in isolation first (Phase 0); pin package to v4 branch if deferring. |
| Pinned to v4 branch, fixes not backported (new) | Null-currency / empty-item / empty-settings defects persist | Confirm backport policy in writing before pinning. |
| Resolved in v5.0.0 | — | |
| Resolved in v5.0.0 | — | |
locations() break invoice page |
Resolved in v5.0.0 | — |
locations() assumption.How can I help you explore Laravel packages today?