PHPackages                             iracode-com/filament-reporting - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Search &amp; Filtering](/categories/search)
4. /
5. iracode-com/filament-reporting

ActiveFilament-plugin[Search &amp; Filtering](/categories/search)

iracode-com/filament-reporting
==============================

Filament reporting system to apply advanced filtering on database records

v1.0.0(1y ago)29MITPHP

Since Oct 20Pushed 1y ago1 watchersCompare

[ Source](https://github.com/iracode-com/filament-reporting)[ Packagist](https://packagist.org/packages/iracode-com/filament-reporting)[ RSS](/packages/iracode-com-filament-reporting/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (6)Versions (2)Used By (0)

Filament Reporting
==================

[](#filament-reporting)

### Reporting for Filament with advanced functionality

[](#reporting-for-filament-with-advanced-functionality)

This package provides a Filament resource to add advanced functionality for filtering and reporting data from tables.

Requirements
------------

[](#requirements)

- Laravel v11
- Filament v3
- SpartanNL/Laravel-Excel v3
- Ariaieboy/Filament-jalali-datetime V1
- Ariaieboy/Filament-jalali-datetimepicker V3
- Hekmatinasser/Verta V8

Languages Supported
-------------------

[](#languages-supported)

Filament Reporting Plugin is translated for :

- us English
- fa Farsi

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require iracode-com/filament-reporting
```

After that run the install command:

```
php artisan filament-reporting:install
```

This will publish the config &amp; migrations &amp; translations from `iracode-com/filament-reporting`

And run migrates

```
php artisan migrate
```

You can manually publish the configuration file with:

```
php artisan vendor:publish --tag="filament-reporting-config"
```

This is the contents of the published config file:

```
return [
    /*
     * This model will be used to report.
     */
    'import_model' => \IracodeCom\FilamentReporting\Models\Report::class,

    /*
     * This model will be determined as user model.
     * creator, updater: foreign key columns in report model for creator, updater relationships
     */
    'user'         => [
        'model'   => \App\Models\User::class,
        'creator' => 'created_by',
        'updater' => 'updated_by'
    ],

    /*
     * This is the name of the table that will be created by the migration and
     * used by the Import model shipped with this package.
     */
    'table'        => 'ir_reports',

    'resources' => [
        'label'                  => 'Reporting',
        'plural_label'           => 'Reportings',
        'navigation_group'       => null,
        'navigation_icon'        => 'heroicon-o-clipboard-document-check',
        'navigation_sort'        => null,
        'navigation_count_badge' => false,
        'resource'               => \IracodeCom\FilamentReporting\Resources\ReportResource::class,
    ],

    'datetime_format' => 'd/m/Y H:i:s',
];
```

Optionally, you can publish the views using

```
php artisan vendor:publish --tag="filament-reporting-views"
```

Usage
-----

[](#usage)

### Basic SpartanNL Laravel Excel usage

[](#basic-spartannl-laravel-excel-usage)

In your `AppServiceProvider` add `HeadingRowFormatter::default('none')` method to disable formatting

```
use Illuminate\Support\ServiceProvider;
use Maatwebsite\Excel\Imports\HeadingRowFormatter;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     */
    public function register(): void
    {
        //
    }

    /**
     * Bootstrap any application services.
     */
    public function boot(): void
    {
        HeadingRowFormatter::default('none');
    }
}
```

Plugin usage
------------

[](#plugin-usage)

In your Panel ServiceProvider `(App\Providers\Filament)` active the plugin

Add the `IracodeCom\FilamentReporting\FilamentReportingPlugin` to your panel config

```
use IracodeCom\FilamentReporting\FilamentReportingPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentReportingPlugin::make(),
        ]);
}
```

Customising the ReportResource
------------------------------

[](#customising-the-reportresource)

You can swap out the `ReportResource` used by updating the `->resource()` value. Use this to create your own `CustomResource` class and extend the original at `\IracodeCom\FilamentReporting\Resources\ReportResource::class`. This will allow you to customise everything such as the views, table, form and permissions.

Note

If you wish to change the resource on List and View page be sure to replace the `getPages` method on the new resource and create your own version of the `ListPage` and `ViewPage` classes to reference the custom `CustomResource`.

```
use IracodeCom\FilamentReporting\FilamentReportingPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentReportingPlugin::make()
                ->resource(\Path\For\Your\CustomResource::class),
        ]);
}
```

Customising label Resource
--------------------------

[](#customising-label-resource)

You can swap out the `Resource label` used by updating the `->label()` and `->pluralLabel()` value.

```
use IracodeCom\FilamentReporting\FilamentReportingPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentReportingPlugin::make()
                ->label('Reporting')
                ->pluralLabel('Reportings'),
        ]);
}
```

Grouping resource navigation items
----------------------------------

[](#grouping-resource-navigation-items)

You can add a `Resource navigation group` updating the `->navigationGroup()` value.

```
use IracodeCom\FilamentReporting\FilamentReportingPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentReportingPlugin::make()
                ->navigationGroup('Reporting'),
        ]);
}
```

Customising a resource navigation icon
--------------------------------------

[](#customising-a-resource-navigation-icon)

You can swap out the `Resource navigation icon` used by updating the `->navigationIcon()` value.

```
use IracodeCom\FilamentReporting\FilamentReportingPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentReportingPlugin::make()
                ->navigationIcon('heroicon-o-clipboard-document-check'),
        ]);
}
```

Active a count badge
--------------------

[](#active-a-count-badge)

You can active `Count Badge` updating the `->navigationCountBadge()` value.

```
use IracodeCom\FilamentReporting\FilamentReportingPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentReportingPlugin::make()
                ->navigationCountBadge(true),
        ]);
}
```

Set navigation sort
-------------------

[](#set-navigation-sort)

You can set the `Resource navigation sort` used by updating the `->navigationSort()` value.

```
use IracodeCom\FilamentReporting\FilamentReportingPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentReportingPlugin::make()
                ->navigationSort(3),
        ]);
}
```

Authorization
-------------

[](#authorization)

If you would like to prevent certain users from accessing the logs resource, you should add a authorize callback in the `FilamentReportingPlugin` chain.

```
use IracodeCom\FilamentReporting\FilamentReportingPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentReportingPlugin::make()
                ->authorize(
                    fn () => auth()->user()->id === 1
                ),
        ]);
}
```

Full configuration
------------------

[](#full-configuration)

```
use IracodeCom\FilamentReporting\FilamentReportingPlugin;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            FilamentReportingPlugin::make()
                ->resource(\Path\For\Your\CustomResource::class)
                ->label('Reporting')
                ->pluralLabel('Reportings')
                ->navigationGroup('Reporting')
                ->navigationIcon('heroicon-o-clipboard-document-check')
                ->navigationCountBadge(true)
                ->navigationSort(2)
                ->authorize(
                    fn () => auth()->user()->id === 1
                ),
        ]);
}
```

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Acknowledgements
----------------

[](#acknowledgements)

Special acknowledgment goes to these remarkable tools and people (developers), the Reporting plugin only exists due to the inspiration and at some point the use of these people's codes.

- [Filament](https://github.com/filamentphp/filament)

Credits
-------

[](#credits)

- [ArdavanShamroshan](.com/Ardavan-Shamroshan)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance37

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

575d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/aa9ee6efa660bf3584a722fc255d2d9d7bffc214db431a19b103776e2ab9d109?d=identicon)[iracode-com](/maintainers/iracode-com)

---

Tags

laravelexportfilteringfilamentfilament-reporting

### Embed Badge

![Health badge](/badges/iracode-com-filament-reporting/health.svg)

```
[![Health](https://phpackages.com/badges/iracode-com-filament-reporting/health.svg)](https://phpackages.com/packages/iracode-com-filament-reporting)
```

###  Alternatives

[webbingbrasil/filament-advancedfilter

Advanced filter component for filament admin.

146132.1k](/packages/webbingbrasil-filament-advancedfilter)[kainiklas/filament-scout

Filament Plugin to integrate Scout into Global Search and Table Search.

3573.3k](/packages/kainiklas-filament-scout)[guava/filament-modal-relation-managers

Allows you to embed relation managers inside filament modals.

7565.0k4](/packages/guava-filament-modal-relation-managers)[tapp/filament-value-range-filter

Filament country code field.

2362.2k](/packages/tapp-filament-value-range-filter)[3x1io/filament-excel

Excel Export for Resources

224.2k1](/packages/3x1io-filament-excel)[tapp/filament-form-builder

User facing form builder using Filament components

131.2k1](/packages/tapp-filament-form-builder)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
