Home Diensten Portfolio Werk Proces Over ons Blog Contact
Home Blog Filament Laravel: Het perfecte admin paneel voor S...
Laravel
May 24, 2026

Filament Laravel: Het perfecte admin paneel voor SaaS-producten (2026)

Filament is het krachtigste admin panel framework voor Laravel — en het perfecte startpunt voor elk SaaS-product. In deze tutorial laten we je zien hoe je vanaf nul een compleet Filament admin panel opbouwt. Je leert hoe je multi-tenancy implementeert voor B2B SaaS, rollen en rechten beheert met Filament Shield, het paneel lokaliseert en een AVG-compliant gebruikersbeheer integreert. Of je nu net begint of een bestaand Laravel-project moderniseert — deze gids biedt alles wat je nodig hebt om sneller te bouwen en beter te schalen.

 

 

 

 

 

 

 

 

 

 

Filament Laravel: Het perfecte admin paneel voor SaaS-producten

Wanneer je een SaaS-product bouwt met Laravel, komt vroeg of laat de vraag naar voren: Hoe bouw ik het admin paneel?

Je zou het helemaal zelf vanaf nul kunnen bouwen. Maar dat kost weken — voor het ontwikkelen van CRUD-tabellen, formulieren, filterlogica, rechten en notificaties. Alles moet veilig, responsive en onderhoudbaar zijn.

Of je gebruikt Filament.

Filament is een open-source admin panel framework voor Laravel dat je dit allemaal biedt in uren, niet in weken. Het is visueel strak, type-safe, volledig aanpasbaar en uiterst efficiënt. Dit is jouw kans om de ontwikkelsnelheid drastisch te verhogen.

In deze tutorial laten we je zien hoe je een compleet Filament admin paneel bouwt voor een SaaS-product — inclusief multi-tenancy, rollen & rechten, lokalisatie en AVG-compliant gebruikersbeheer.

Waarom Filament voor SaaS-producten?

De SaaS-markt groeit in een ongekend tempo. Bedrijven zoeken naar snelle, intuïtieve en veilige webgebaseerde oplossingen. Een modern SaaS-adminpaneel moet aan de volgende eisen voldoen:

  • Multi-Tenancy — Elke klant heeft zijn eigen geïsoleerde datacompartiment.
  • Rollen & Rechten — Beheerders, editors en kijkers met specifieke organisatorische rechten.
  • Gebruikersbeheer — AVG-compliant, inclusief functies voor data-verwijdering en export.
  • Lokalisatie — Een interface op maat voor lokale of internationale gebruikers.
  • Snelle Ontwikkeling — Time-to-market is cruciaal voor succes.

Filament voldoet out-of-the-box aan al deze eisen of biedt ondersteuning via krachtige officiële plug-ins.

1. Installatie & Basisopzet

Start met een schone Laravel-installatie:

laravel new mijn-saas
cd mijn-saas

Installeer Filament:

composer require filament/filament:"^3.0"
php artisan filament:install --panels

Filament maakt automatisch een AdminPanelProvider aan onder app/Providers/Filament/. Van hieruit beheer je het hele paneel — zoals kleuren, navigatie, plug-ins en middleware.

Maak de eerste admin-gebruiker aan:

php artisan make:filament-user

Nu is het paneel bereikbaar via /admin. Je ziet een strak, gebruiksklaar dashboard dat klaar is voor jouw bedrijfslogica.

2. Je eerste Resource aanmaken

Resources vormen de kern van Filament. Ze genereren automatisch CRUD-tabellen en formulieren die rechtstreeks gekoppeld zijn aan je Eloquent-modellen.

Voorbeeld: Een subscription (abonnementen) resource voor je SaaS-platform:

php artisan make:filament-resource Subscription --generate

De --generate vlag leest automatisch je databaseschema uit en vult de formuliervelden en tabelkolommen alvast in. Wat normaal uren handmatig werk kost, gebeurt nu in een paar seconden.

In SubscriptionResource.php kun je de tabel direct naar wens aanpassen:

public static function table(Table $table): Table
{
    return $table
        ->columns([
            TextColumn::make('user.name')->label('Klant')->searchable(),
            TextColumn::make('plan')->label('Tarief')->badge(),
            TextColumn::make('status')->label('Status')
                ->color(fn ($state) => match($state) {
                    'active'    => 'success',
                    'cancelled' => 'danger',
                    default     => 'warning',
                }),
            TextColumn::make('ends_at')->label('Verloopt op')->date('d-m-Y'),
        ])
        ->filters([
            SelectFilter::make('status')->options([
                'active'    => 'Actief',
                'cancelled' => 'Geannuleerd',
                'trial'     => 'Proefperiode',
            ]),
        ]);
}

Het resultaat: Een overzichtelijke, filterbare en volledig doorzoekbare administratieve tabel.

3. Multi-Tenancy voor B2B SaaS

Multi-tenancy betekent dat elke klant of organisatie (Tenant) alleen zijn eigen gegevens kan inzien. Dit is essentieel voor zakelijke B2B SaaS-applicaties — zowel functioneel als vanwege privacywetgeving (AVG).

Filament 3 biedt native ondersteuning voor multi-tenancy.

In de AdminPanelProvider:

public function panel(Panel $panel): Panel
{
    return $panel
        ->tenant(Team::class)
        ->tenantRoutePrefix('team');
}

Filament toont automatisch een team-switcher in de navigatiebalk. Alle resources worden automatisch gefilterd op basis van de actieve tenant — je hoeft dus nooit meer handmatig repetitieve where('team_id', ...) queries te schrijven.

Implementeer de interfaces in het Tenant-model (Team):

use Filament\Models\Contracts\HasAvatar;
use Filament\Models\Contracts\HasTenants;
 
class Team extends Model implements HasAvatar, HasTenants
{
    public function getFilamentAvatarUrl(): ?string
    {
        return $this->avatar_url;
    }
 
    public function members(): BelongsToMany
    {
        return $this->belongsToMany(User::class);
    }
}

Dat is alles. Filament regelt de rest op de achtergrond — van routing en authenticatie tot dataseparatie per team.

4. Rollen & Rechten met Filament Shield

Filament Shield is de officiële plug-in voor rollen- und rechtenbeheer, gebouwd op het betrouwbare pakket spatie/laravel-permission.

Installatie:

composer require bezhansalleh/filament-shield
php artisan shield:install
php artisan shield:generate --all

Shield genereert automatisch gedetailleerde rechten voor elke resource: view_subscription, create_subscription, update_subscription, en delete_subscription.

Deze rechten kun je direct via de interface beheren. Je maakt eenvoudig rollen aan (Admin, Manager, Kijker) en wijst met één klik granulaire rechten toe, zonder dat je code hoeft te schrijven.

Activeer Shield in de AdminPanelProvider:

->plugin(FilamentShieldPlugin::make())

5. Professionele Lokalisatie (i18n)

Filament bevat standaard al vertalingen voor onder andere het Nederlands. Het activeren van de taalinstelling is een simpele aanpassing in config/app.php:

'locale' => 'nl',

Voor aangepaste labels binnen je eigen resources gebruik je direct de label() methode:

TextColumn::make('created_at')
    ->label('Aangemaakt op')
    ->date('d-m-Y H:i')
    ->sortable(),

Als je de standaard UI-teksten van Filament volledig wilt aanpassen of overschrijven, publiceer je de taalbestanden als volgt:

php artisan vendor:publish --tag=filament-panels-translations

6. AVG-compliant Gebruikersbeheer

De AVG (Algemene Verordening Gegevensbescherming) stelt strenge eisen aan SaaS-producten die persoonsgegevens van EU-burgers verwerken:

  • Recht op Inzage — Gebruikers moeten hun opgeslagen data kunnen inzien.
  • Recht auf Verwijdering — Het "Recht om vergeten te worden".
  • Dataportability — Data kunnen exporteren in een machineleesbaar formaat (zoals JSON).

In Filament integreer je deze compliance-opties eenvoudig binnen UserResource.php:

// AVG Compliance Acties in UserResource.php
Actions\Action::make('exportData')
    ->label('Exporteer Data (AVG)')
    ->icon('heroicon-o-arrow-down-tray')
    ->action(function (User $record) {
        return response()->streamDownload(
            fn () => print(json_encode($record->toArray())),
            "user-data-{$record->id}.json"
        );
    }),
 
Actions\Action::make('anonymize')
    ->label('Anonymiseer Gebruiker')
    ->color('danger')
    ->requiresConfirmation()
    ->modalHeading('Gebruikersgegevens definitief anonymiseren?')
    ->modalDescription('Deze actie kan niet ongedaan worden gemaakt.')
    ->action(function (User $record) {
        $record->update([
            'name'  => 'Geverifieerd Verwijderd Profiel',
            'email' => "deleted_{$record->id}@anonym.invalid",
        ]);
    }),

Door dit te combineren met een audit-log plug-in zoals spatie/laravel-activitylog, beschikt je applicatie over een waterdicht trackingsysteem voor administratieve acties.

Conclusie: Waarom Filament de juiste keuze is

Bij het lanceren van een schaalbare SaaS-applicatie is ontwikkelsnelheid de belangrijkste succesfactor. Filament biedt de perfecte balans tussen snelle marktintroductie en schone architectuur:

  • ✅ Een volwaardig admin paneel binnen uren in plaats van weken.
  • ✅ Ingebouwde multi-tenancy functionaliteit voor zakelijke B2B-scenario's.
  • ✅ Geautomatiseerd rollenbeheer met Filament Shield.
  • ✅ Eenvoudige taallocalisatie.
  • ✅ AVG-ready workflows voor databeheer.

Terwijl andere developmentteams nog bezig zijn met het ontwerpen van basisschermen, focus jij je al op de unieke features van jouw product.

  • Officiële Filament Documentatie
  • Filament Shield Plug-in Repository
  • Spatie Laravel Permission Gids
  • Geavanceerde Laravel Multi-Tenancy Engine

Heb je vragen over het opzetten van geautomatiseerde flows binnen jouw Laravel architectuur? Laat een reactie achter of neem direct contact op met ons team bij Webiancy.

Mujtaba Hanif

Written by

Mujtaba Hanif

mujtaba@webiancy.com

Experienced PHP Developer with 6+ years of hands-on experience in building scalable, secure, and high-performance web applications. Specialized in Laravel development, custom PHP solutions, REST APIs, backend systems, and database architecture.

Currently working as a freelance developer, providing services in Python web scraping, automation, data extraction, and full-stack web development for international clients. Strong expertise in developing custom business solutions, affiliate systems, dashboards, e-commerce platforms, CRM systems, and API integrations.

Skilled in:
• PHP, Laravel, CodeIgniter
• Python Web Scraping & Automation
• MySQL & Database Design
• REST API Development & Integration
• JavaScript, jQuery, AJAX
• HTML5, CSS3, Tailwind CSS, Bootstrap
• Git & Server Deployment

Passionate about writing clean, maintainable code and delivering reliable solutions tailored to client requirements. Always focused on performance, scalability, and long-term project success.

Currently seeking new web development projects and long-term collaborations in the international market.

Have a Project In Mind?

Let's turn your ideas into reality. Contact us to discuss your next project.

Boek een Gratis Strategiesessie

Hoogwaardige projecten beginnen met het juiste gesprek. Vul de details in en wij nemen binnen één werkdag contact op voor uw gratis 15 minuten AI & Web strategiegesprek.