← All Packages /

Subscriptions Filament

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 SubscriptionCanceled with $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/subscriptions version.
  • 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.