A Filament V3 plugin to create robust integrations for Wave Apps/Accounting.
Looking for a custom integration or solution? Contact me jeff@jeffpgreco.com
You can install the package via composer:
composer require jeffgreco13/filament-wave
Update your .env file to include:
WAVE_ACCESS_TOKEN= *your full access token*
WAVE_BUSINESS_ID= *ID for the business you wish to interact with*
WAVE_GRAPHQL_URI= *defaults to https://gql.waveapps.com/graphql/public*
This package uses jeffgreco13/laravel-wave under the hood. Review the docs for more information.
Add the WavePlugin
to your panel service provider:
use Jeffgreco13\FilamentWave\WavePlugin;
class AdminPanelProvider extends PanelProvider
{
public function panel(Panel $panel): Panel
{
return $panel
...
->plugin(
WavePlugin::make()
);
}
}
I've build this package to be as modular and extensible as possible. Meaning you can publish migrations and utilize Filament resources only as needed. See below on how to use each model:
Publish the customers migration table using.
php artisan vendor:publish --tag="filament-wave-customers-migration"
php artisan migrate
Next, add the customers
method to the WavePlugin in your panel service provider:
WavePlugin::make()->customers()
You can customize the Resource, Model:
WavePlugin::make()
->customers(
model:YourCustomerClass::class,
resource:YourCustomerResource::class
)
Or you can disable the Resource:
WavePlugin::make()
->customers(
resource:null
)
Publish the products migration table using.
php artisan vendor:publish --tag="filament-wave-products-migration"
php artisan migrate
Next, add the products
method to the WavePlugin in your panel service provider:
WavePlugin::make()->products()
See Customers for more customization options.
See jeffgreco13/laravel-wave for interacting with Wave currencies.
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.