- What is tomatophp/tomato-invoices-module used for?
- It is a Laravel package for managing invoices inside a TomatoPHP admin panel, with models, migrations, Filament resources and pages, and config for creating, tracking, and organizing billing records. It works as a vertical feature slice rather than a standalone billing service. It fits best when your host app already uses Filament and TomatoPHP conventions.
- How do I install the invoices module in a Laravel app?
- The expected flow is Composer install, publish config, migrations, and assets, run migrations, register the plugin with a Filament panel provider, and seed permissions or roles. The context describes this as mechanically straightforward but does not list exact commands. Confirm the package's composer.json constraints and sibling TomatoPHP dependencies before installing.
- Which Laravel, PHP, and Filament versions does this package support?
- The evaluation targets Laravel 10 or 11, PHP 8.1 or newer, and a Filament v3 panel, but it explicitly says to confirm the module's composer.json constraints first. The provided context does not include the actual version matrix or a CI proof. Check composer.json and the repository CI before assuming compatibility.
- Does the module handle invoice numbering, tax, and audit trails?
- The package ships invoice, invoice item, and status models plus Filament resources, but out-of-the-box TomatoPHP modules are typically generic about jurisdiction-specific behavior. Expect to build or harden numbering sequences, tax rules, retention, audit trails, and issued-invoice immutability yourself. The default soft-delete and update semantics may not be compliant for issued invoices until you change them.
- Does it generate PDF invoices, and is rendering queued?
- The context says invoice modules in this ecosystem typically include PDF or print views and flags PDF rendering via DomPDF, Snappy, or Blade as a key question. It does not state whether generation is synchronous or queued. Review the package config and code, and plan queue workers if rendering is asynchronous.
- What other TomatoPHP packages does it depend on?
- The module assumes a host app that already runs Filament and, in most configurations, the wider Tomato admin suite. Likely sibling concerns include accounts or customers, company data, payments or products for line items, and PDF or queue support. Check composer.json for hard tomatophp dependencies and whether those packages are also at 1.0.0.
- Can I use this module without Filament or outside TomatoPHP?
- It is a poor fit if your billing domain needs a bounded context, custom state machines, or non-Filament UIs, because the module's value comes from TomatoPHP and Filament conventions. You could extract models and migrations, but you would lose the fast admin integration. Treat it as an admin feature slice, not a framework-neutral invoicing library.
- Is the v1.0.0 release stable enough to rely on?
- A v1.0.0 tag signals that the author considers the public surface stable, including migrations, resource class names, config keys, and table schema. However, the release notes contain no changelog beyond a link, so treat it as a first stable snapshot rather than a reviewed release. Take a baseline migration snapshot and avoid relying on future upstream column additions.
- Is it safe for production financial records and regulated invoicing?
- The main risks are schema coupling for financial data, ecosystem lock-in to Filament and TomatoPHP release cadence, vendor concentration in a single-maintainer or small-team project, and an incomplete compliance surface. Assess bus factor and security-patch latency before this touches regulated records. Harden numbering, tax, immutability, audit, and retention behavior to your jurisdiction.
- How is the package maintained, licensed, and what alternatives exist?
- The provided context does not give the maintainer's release cadence, security-reporting process, or license terms, so check the repository and composer.json for MIT versus attribution or commercial constraints. Vendor concentration is a stated risk, so review activity over the last 12 months. If you need a bounded billing service or strict compliance, compare dedicated Laravel invoicing packages or building your own domain layer.