Read-mostly listing of every subscription across every subscriber, with inline cancel and renew actions.
List view
Columns:
- Subscriber -- displayed as "type #id" (e.g.
App\Models\Tenant #42) - Plan name
- Slug -- the per-subscriber subscription slug (
main,addon-storage, etc.) - Starts / Ends -- the current billing period
- Status badge -- Active (green), Trial (blue), Grace (warning), Canceled (red), Ended (gray)
Filters:
- Plan
Search:
- Subscription slug
Inline actions
- Cancel -- opens a confirmation dialog, then cancels immediately. Fires
SubscriptionCanceledwith$immediate = true. - Renew -- only enabled on subscriptions that have ended (and weren't canceled). Advances the period by one billing cycle and clears the cancel state. Fires
SubscriptionRenewed.
Cancel and Renew route through the model's cancel() / renew() methods, so any extension you've added (e.g. cancelling the matching Stripe subscription) runs automatically.
View page
Click into a subscription for the full detail view:
- All subscription metadata
- Current feature usage breakdown -- one row per attached feature with
used,value,valid_until
This is read-only. Modifying usage is intentionally not exposed in the UI; do it through recordFeatureUsage / reduceFeatureUsage from your application code.
What's not in this resource
- Editing subscription fields (price, plan, dates) -- intentional; the model's
changePlan()and lifecycle methods are the right way to mutate state, not raw form edits - Bulk cancellation -- if you need this, extend the resource and add a bulk action
- Subscriber search by name -- the polymorphic relationship makes this complex; search by slug instead
Drop-in alternative for per-subscriber views
If you'd rather see subscriptions on a specific subscriber's page (e.g. inside TenantResource), use the Drop-in relation manager instead.
Contributing
Thanks for your interest in contributing to crumbls/subscriptions-filament.
Local setup
git clone https://github.com/Crumbls/subscriptions-filament.git
cd subscriptions-filament
composer install
To hack on this package alongside the underlying crumbls/subscriptions package, add a path repository to your test app's composer.json:
{
"repositories": [
{ "type": "path", "url": "../subscriptions" },
{ "type": "path", "url": "../subscriptions-filament" }
]
}
Pull requests
- Open the PR against
main. - Breaking changes belong behind a version bump — note them in
CHANGELOG.md. - If the change affects what admins see, include a screenshot or screen recording.
Reporting issues
Open a GitHub issue with:
- Affected version (
composer show crumbls/subscriptions-filament). crumbls/subscriptionsversion.- PHP, Laravel, and Filament versions.
- Steps to reproduce.
- Expected vs. actual behavior.
Security issues
Please do not open public issues for security vulnerabilities. See SECURITY.md for reporting channels.
Contributors
Thank you to everyone who has contributed to this package. Every pull request, bug report, and idea makes a difference.