https://github.com/tomatophp/filament-invoices
Generate and manage yours invoices in Filament
https://github.com/tomatophp/filament-invoices
crm filament-plugins invoices
Last synced: 7 months ago
JSON representation
Generate and manage yours invoices in Filament
- Host: GitHub
- URL: https://github.com/tomatophp/filament-invoices
- Owner: tomatophp
- License: mit
- Created: 2024-05-09T12:31:44.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-02-22T14:21:17.000Z (8 months ago)
- Last Synced: 2025-04-05T01:33:58.393Z (7 months ago)
- Topics: crm, filament-plugins, invoices
- Language: PHP
- Homepage: https://tomatophp.com/en/open-source/filament-invoices
- Size: 3.24 MB
- Stars: 66
- Watchers: 2
- Forks: 14
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
- Security: SECURITY.md
Awesome Lists containing this project
README

# Filament Invoices Manager
[](https://packagist.org/packages/tomatophp/filament-invoices)
[](https://packagist.org/packages/tomatophp/filament-invoices)
[](https://packagist.org/packages/tomatophp/filament-invoices)Generate and manage your invoices / payments using multi currencies and multi types in FilamentPHP
## Features
- [x] Generate Invoices
- [x] Manage Invoices
- [x] Print Invoices
- [x] Invoices Facade Class
- [x] Invoices Morph From/For
- [x] Invoices Payments
- [x] Support Multi Type
- [x] Support Multi Currency
- [x] Support Multi Status
- [x] Status Manager
- [x] Invoices Widgets
- [ ] Send Invoice using Email
- [ ] Export Invoice as PDF
- [ ] Invoices Templates
- [ ] Invoices Settings## Screenshots








## Installation
```bash
composer require tomatophp/filament-invoices
```
after install your package please run this command```bash
php artisan filament-invoices:install
```finally register the plugin on `/app/Providers/Filament/AdminPanelProvider.php`
```php
->plugin(\TomatoPHP\FilamentInvoices\FilamentInvoicesPlugin::make())
```## Using
to start use this plugin you need to allow 2 types of users or table to fill the invoices from / for after you prepare your models use this Facade class like this on your `AppServiceProvider` or any other service provider
```php
use TomatoPHP\FilamentInvoices\Facades\FilamentInvoices;
use TomatoPHP\FilamentInvoices\Services\Contracts\InvoiceFor;
use TomatoPHP\FilamentInvoices\Services\Contracts\InvoiceFrom;public function boot()
{
FilamentInvoices::registerFor([
InvoiceFor::make(Account::class)
->label('Account')
]);
FilamentInvoices::registerFrom([
InvoiceFrom::make(Company::class)
->label('Company')
]);
}
```after that you can use the plugin on your filament admin panel
## Use Facade Class To Create Invoice
you can use this Facade class to create invoice like this
```php
\TomatoPHP\FilamentInvoices\Facades\FilamentInvoices::create()
->for(\App\Models\Account::find(1))
->from(\App\Models\Account::find(2))
->dueDate(now()->addDays(7))
->date(now())
->items([
\TomatoPHP\FilamentInvoices\Services\Contracts\InvoiceItem::make('Item 1')
->description('Description 1')
->qty(2)
->price(100),
\TomatoPHP\FilamentInvoices\Services\Contracts\InvoiceItem::make('Item 2')
->description('Description 2')
->qty(1)
->discount(10)
->vat(10)
->price(200),
])->save();
```## Publish Assets
you can publish config file by use this command
```bash
php artisan vendor:publish --tag="filament-invoices-config"
```you can publish views file by use this command
```bash
php artisan vendor:publish --tag="filament-invoices-views"
```you can publish languages file by use this command
```bash
php artisan vendor:publish --tag="filament-invoices-lang"
```you can publish migrations file by use this command
```bash
php artisan vendor:publish --tag="filament-invoices-migrations"
```## Other Filament Packages
Checkout our [Awesome TomatoPHP](https://github.com/tomatophp/awesome)