jeffersongoncalves / filament-erp
Umbrella Filament v5 plugin bundling the full Laravel ERP ecosystem (accounting, stock, selling, buying, manufacturing, assets, subcontracting, CRM, projects, support, quality, maintenance) into one panel plugin.
Package info
github.com/jeffersongoncalves/filament-erp
pkg:composer/jeffersongoncalves/filament-erp
Requires
- php: ^8.2
- filament/filament: ^5.3
- jeffersongoncalves/filament-erp-accounting: 3.x-dev
- jeffersongoncalves/filament-erp-assets: 3.x-dev
- jeffersongoncalves/filament-erp-buying: 3.x-dev
- jeffersongoncalves/filament-erp-core: 3.x-dev
- jeffersongoncalves/filament-erp-crm: 3.x-dev
- jeffersongoncalves/filament-erp-maintenance: 3.x-dev
- jeffersongoncalves/filament-erp-manufacturing: 3.x-dev
- jeffersongoncalves/filament-erp-projects: 3.x-dev
- jeffersongoncalves/filament-erp-quality: 3.x-dev
- jeffersongoncalves/filament-erp-selling: 3.x-dev
- jeffersongoncalves/filament-erp-stock: 3.x-dev
- jeffersongoncalves/filament-erp-subcontracting: 3.x-dev
- jeffersongoncalves/filament-erp-support: 3.x-dev
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.21
- orchestra/testbench: ^10.0|^11.0
- pestphp/pest: ^3.0|^4.0
- pestphp/pest-plugin-laravel: ^3.0|^4.0
This package is auto-updated.
Last update: 2026-06-28 03:09:50 UTC
README
Laravel ERP
The complete ERP, as one Filament panel — bundles all 13 filament-erp-* modules into a single, toggleable plugin.
This umbrella package requires every module of the Laravel ERP ecosystem and exposes a single ErpPanelPlugin that registers all of them on a Filament panel in foreign-key-safe order. Each module can be turned on or off via config or fluent methods, so you opt into exactly the surface you need without wiring 13 plugins by hand.
Features
The umbrella registers these 13 ERP UI modules (in registration order):
- Core — Companies, currencies, units of measure, fiscal years, departments, addresses & contacts (the master-data foundation)
- Accounting — Chart of accounts, general ledger, journal & payment entries, sales & purchase invoices, taxes, budgets, bank reconciliation
- Stock — Items, warehouses, stock entries, stock ledger, price lists, batches & serials
- Selling — Customers, quotations, sales orders, delivery notes
- Buying — Suppliers, requests for quotation, purchase orders, purchase receipts
- Manufacturing — BOMs, work orders, job cards, production planning
- Assets — Fixed assets, depreciation, maintenance & disposal
- Subcontracting — Subcontracting orders and receipts
- CRM — Leads, opportunities, campaigns
- Projects — Projects, tasks, timesheets
- Support — Issues and service-level agreements
- Quality — Inspections, quality goals, procedures
- Maintenance — Maintenance schedules and visits
Compatibility
| Package | PHP | Filament | Laravel |
|---|---|---|---|
^3.0 |
^8.2 |
^5.0 |
^11.0 | ^12.0 | ^13.0 |
Installation
composer require jeffersongoncalves/filament-erp
Register the plugin on a Filament panel (typically app/Providers/Filament/AdminPanelProvider.php):
use JeffersonGoncalves\FilamentErp\Umbrella\ErpPanelPlugin; public function panel(Panel $panel): Panel { return $panel // ... ->plugin(ErpPanelPlugin::make()); }
That single line registers all 13 module plugins on the panel.
Configuration
Publish the config to toggle individual modules:
php artisan vendor:publish --tag="filament-erp-config"
Each module is registered only when its toggle is enabled. Set any to false to keep its resources, pages and widgets out of the panel while still shipping the rest of the ecosystem:
// config/filament-erp.php return [ 'modules' => [ 'core' => true, 'accounting' => true, 'stock' => true, 'selling' => true, 'buying' => true, 'manufacturing' => true, 'assets' => true, 'subcontracting' => true, 'crm' => true, 'projects' => true, 'support' => true, 'quality' => true, 'maintenance' => true, ], ];
You can also drive the selection fluently, which overrides the config toggles:
// Exclude specific modules ErpPanelPlugin::make() ->exceptModules(['manufacturing', 'subcontracting']); // Or register an explicit allow-list only (everything else is skipped) ErpPanelPlugin::make() ->modules(['core', 'accounting', 'stock', 'selling']);
core is registered first and the remaining modules follow in a foreign-key-safe order, so the panel boots cleanly regardless of which subset you enable.
Changelog
Please see CHANGELOG for what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.
