vasilgerginski / filament-accounting
A Filament plugin for managing expenses, incomes and their types
Installs: 5
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/vasilgerginski/filament-accounting
Requires
- php: ^8.2
- filament/filament: ^3.0
- illuminate/contracts: ^11.0|^12.0
README
A Filament v3 plugin for managing expenses, incomes, and their types in Laravel applications.
Features
- Expenses Management: Track expenses with CAPEX/OPEX categorization and amortization percentages
- Expense Types: Categorize your expenses with types
- Incomes Management: Track incomes with optional user/client association
- Income Types: Categorize your incomes with types
- Charts & Stats: Visual dashboards with pie charts and statistics widgets
- Date Range Filters: Filter data by date ranges
- Configurable: Customize currency, navigation group, and more
Installation
From Packagist (when published)
composer require vasilgerginski/filament-accounting
Local Development
Add the repository to your composer.json:
{
"repositories": [
{
"type": "path",
"url": "packages/vasilgerginski/filament-accounting"
}
]
}
Then require the package:
composer require vasilgerginski/filament-accounting:@dev
Setup
1. Publish and run migrations
php artisan vendor:publish --tag="filament-accounting-migrations"
php artisan migrate
2. Publish config (optional)
php artisan vendor:publish --tag="filament-accounting-config"
3. Register the plugin in your Filament Panel
In your AdminPanelProvider.php:
use VasilGerginski\FilamentAccounting\FilamentAccountingPlugin; public function panel(Panel $panel): Panel { return $panel // ... ->plugins([ FilamentAccountingPlugin::make(), ]); }
Configuration
The configuration file allows you to customize:
return [ // Navigation group name 'navigation_group' => 'Accounting', // Currency settings 'currency' => 'EUR', 'currency_symbol' => '€', 'currency_label' => 'EUR', // User relationship for incomes 'enable_user_relation' => true, 'user_model' => 'App\\Models\\User', 'user_label' => 'Client', 'user_role_filter' => null, // e.g., 'client' // Enable/disable specific resources 'resources' => [ 'expenses' => true, 'expense_types' => true, 'incomes' => true, 'income_types' => true, ], ];
Customizing Resources
You can enable/disable specific resources in the plugin:
FilamentAccountingPlugin::make() ->expenses(true) ->expenseTypes(true) ->incomes(true) ->incomeTypes(false), // Disable income types
License
MIT License. See LICENSE for more information.