Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Filament Accounts Laravel Package

tomatophp/filament-accounts

Filament Accounts Builder is a Laravel/Filament plugin for managing multiple accounts in one table with multi-auth and integrations, ideal for CRMs and multi-account apps. Includes account types, login-by, active/block status, avatars, impersonation, plus import and export.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Multi-Tenant SaaS Architecture: Enables consolidation of multiple user accounts (e.g., customers, partners, or internal teams) into a single database table, reducing complexity in schema design and maintenance. Aligns with roadmap goals for scalable, unified user management.
  • Build vs. Buy: Avoids reinventing multi-account authentication/authorization logic, saving 6–12 months of dev effort. Justifies adoption over custom Laravel packages (e.g., spatie/laravel-multitenancy) when Filament UI integration is a priority. The new v5 line keeps the package current with Laravel 12/13, Filament v5, and Livewire 4, reducing upgrade debt versus maintaining a homegrown solution.
  • Feature Expansion: Supports future roadmap items like:
    • Role-based access control (RBAC) for sub-accounts.
    • Audit logging for account activities (via Filament’s built-in tools).
    • Integration with third-party APIs (e.g., Stripe for billing, Slack for notifications).
    • Bulk account provisioning and reporting via built-in Excel import/export (now on maatwebsite/excel 3.x or 4.x).
    • Account type templates — the Accounts Types page auto-seeds default customer/account types on first open, shortening onboarding.
    • User impersonation for support/admin workflows.
  • Use Cases:
    • B2B Platforms: Manage customer portals with nested sub-accounts (e.g., agencies + clients).
    • Marketplaces: Separate seller/buyer accounts under a unified admin dashboard.
    • Internal Tools: Simplify access control for cross-departmental apps (e.g., HR + Finance teams).

When to Consider This Package

  • Adopt When:
    • Your app requires multi-account authentication (e.g., users with sub-accounts) but lacks a dedicated team to build from scratch.
    • You’re on a modern Laravel stack: Laravel 12/13, PHP 8.2+, Livewire 4, and Filament v5 (or v4 on the maintained v4 branch).
    • You’re using Filament Admin Panel and want native UI integration for account management (no extra frontend work).
    • Your database schema is simplified (single accounts table) but needs granular permissions (e.g., "Account Owner" vs. "Guest").
    • You need export/import workflows (Excel) or account types with sensible defaults out of the box — both now first-class.
    • You prioritize MIT-licensed, actively maintained open-source solutions with a documented upgrade path (v4 → v5 with a parallel branch).
  • Look Elsewhere If:
    • You need advanced multi-tenancy (e.g., isolated databases per tenant) → Use spatie/laravel-multitenancy or archtechx/tenancy.
    • Your auth system is non-Laravel (e.g., Django, Node.js) → Evaluate alternatives like django-tenants or custom solutions.
    • You require highly customized account hierarchies (e.g., 5+ levels deep) → Assess if the package’s "1 table" approach scales (may need extensions).
    • You are pinned to Filament v3 or earlier, or cannot meet PHP 8.2+/Laravel 12 — upgrading the underlying stack is a prerequisite for v5 (stay on the v4 branch only as a transitional bridge).
    • Your team lacks Filament familiarity → Training overhead may outweigh benefits.

How to Pitch It (Stakeholders)

For Executives:

"This package lets us launch multi-account features (e.g., customer portals or team collaboration tools) 3x faster by leveraging Filament’s polished UI and Laravel’s security. For example, a B2B SaaS client could offer sub-accounts to agencies in weeks instead of months. The v5 release keeps us aligned with Laravel 12/13 and the latest Filament, so we avoid a forced rewrite down the road — and unlike vendor-locked SaaS, it’s MIT-licensed. It also ships Excel import/export and default account types, which shortens setup for new customers. The trade-off? We’ll need ~2 dev days to customize permissions, and a platform upgrade to PHP 8.2+/Laravel 12 — but the ROI is clear: faster time-to-market for [Feature X] and lower maintenance costs."

For Engineering:

*"Filament Accounts solves a common pain point: managing multiple user types (e.g., admins, clients, guests) in a single app without bloating the database. The v5 release modernizes the package:

  • Platform alignment: Laravel 12/13, Filament v5, Livewire 4, PHP 8.2+. Requires tomatophp/filament-types ^5.0.1 and maatwebsite/excel 3.1.64+/4.x. Older stacks can stay on the maintained v4 branch.
  • Unified Auth: Single-table design with multi-auth support (e.g., email + OAuth); README now documents the auth.php guard pattern and useTypes()/impersonation flows.
  • Filament-Ready: Pre-built CRUD for accounts; the Accounts Types page seeds default customer/account types on first open; AccountTypes::getUrl() now matches the Filament page signature; the account column works even when no panel is served.
  • Export/Import: Works with maatwebsite/excel 4 using the v5 schema() API — enables bulk provisioning and reporting without custom tooling.
  • Low Risk: MIT license, active maintenance, clear v4 → v5 branch strategy, and an extended Pest suite (install command, account types page, export/import, every plugin feature) that reduces regression risk.

Proposal: Use this for [Project Y] to avoid reinventing account hierarchies. We’ll need to validate:

  1. Whether the ‘1 table’ model fits our data growth (stress-test with 10K+ accounts).
  2. Customization effort for [specific permission rules].
  3. Integration with [existing auth system, e.g., Sanctum/JWT].
  4. Timing of the PHP 8.2+/Laravel 12 upgrade if we are not already there."*

Call to Action: "Let’s prototype this on Laravel 12/Filament v5 for [use case] in 2 sprints. If it meets our needs, we save 6+ months of dev time; if not, we’ll pivot with minimal sunk cost."

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
gmostafa/php-graphql-client
xeviant/paystack
snowsoft/faker
meditationsteps/blogetc
animalyoung/laravel-influxdb
onix-solutions/sms-telera
lonely-lights/prosetta
oxygen/data
oxygen/core
jengo/base
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log