- What is tomatophp/circle-invoices-module?
- It is a Laravel module for TomatoPHP's Circle that adds invoice creation, line items, taxes, status tracking, and public downloadable invoices with custom templates. It ships Filament panel resources for invoice CRUD plus policies, permissions, config and migrations. It is a module for an existing Circle installation, not a standalone greenfield billing library.
- Do I need TomatoPHP Circle installed to use this invoices module?
- Yes. It is a Circle module, so its value comes from binding to existing Circle accounts, companies, products and tax entities. Outside Circle you would have to reimplement the parent models it expects and permanently own a compatibility shim. If you are not already running Circle and Filament, evaluate a standalone invoicing package instead.
- How do I install circle-invoices-module in a Laravel app?
- Inside Circle the path is conventional: composer require tomatophp/circle-invoices-module, publish the config and migrations, register the plugin on your Filament panel provider, then seed permissions and policies. Confirm the Filament major version matches your panel before starting, because a mismatch is the most common cause of a failed TomatoPHP module install. A one-to-three day feasibility spike should be enough to confirm it renders and installs cleanly.
- Which Laravel, PHP and Filament versions does it support?
- The module targets the TomatoPHP Circle stack, which typically means Laravel 10 or 11, PHP 8.1+ and Filament 3, but the exact constraints are not documented in the v1.0.0 release. Read composer.json and pin exact versions in composer.lock rather than floating ^1.0 while the API surface is unproven. If you are not on Filament 3, stop and re-evaluate before installing.
- Can customers download invoices publicly without an account?
- Yes. The package is designed to generate public invoices that customers can download, so recipients do not need a Circle login. Before exposing links in production, review access controls, whether URLs are guessable or expiring, and what data appears on the public template. Treat public invoice URLs as sensitive documents even though they are shareable.
- Does it support custom invoice templates?
- Yes, custom templates are a headline feature: you can generate invoices with your own template and expose them as public, downloadable documents. Check how templates are registered or published and whether they are Blade views or config-driven so you know how upgrades affect customisations. Keep your templates in version control alongside your panel theme.
- Does it handle line items, taxes and invoice statuses?
- Yes. The module adds invoice creation with line items, taxes and status tracking, and attaches invoices to Circle customers or subscriptions so payment history stays in one place. Numbering, tax computation and immutability of issued documents are compliance obligations rather than features, so verify them against finance requirements. Test a full lifecycle of draft, issued, credit note and void, then reconcile totals by hand.
- Is v1.0.0 stable enough for production billing?
- Treat v1.0.0 as pre-stable regardless of the version string: it is the first tagged release, the changelog is auto-generated with no breaking-change disclosure, and the project carries single-maintainer exposure typical of TomatoPHP modules. Spike it in a disposable environment against a scratch database and reconcile totals against your current system before a pilot. Keep existing invoice history in your legacy system of record until the pilot survives at least one complete billing cycle.
- Does it emit events or webhooks for accounting and ERP sync?
- The v1.0.0 release notes do not document domain events, webhooks or hooks for accounting or ERP sync, so assume the database is the only integration surface until you verify in the source. If you need to push invoices to an ERP or ledger, plan to add observers or a queue worker around the module's models. Confirm this before committing, because retrofitting sync into an unproven schema is expensive.
- Does it support multi-currency, credit notes, partial payments or e-invoicing like ZATCA and PEPPOL?
- These capabilities are not mentioned in the package overview or the v1.0.0 release notes, so do not assume support. The documented scope is invoice creation, line items, taxes, status tracking and public downloadable templates attached to Circle customers or subscriptions. Confirm multi-currency, credit notes, partial payments and e-invoicing obligations with the maintainer or a source review before relying on the module for regulated billing.