fullstack/quickbooks is a Laravel package for laravel client for quickbooks..
It currently has 0 GitHub stars and 10 downloads on Packagist (latest version 1.1).
Install it with composer require fullstack/quickbooks.
Discover more Laravel packages by fullstack
or browse all Laravel packages to compare alternatives.
Last updated
PHP client wrapping the QuickBooks PHP SDK.
$ composer require FullStack/quickbooks
quickbooks_tokens table:$ php artisan migrate
The package uses the auto registration feature of Laravel.
quickBooksToken relationship on your User model. There is a trait named FullStack\QuickBooks\HasQuickBooksToken, which you can include on your User model, which will setup the relationship. To do this implement the following:Add use FullStack\QuickBooks\HasQuickBooksToken; to your service container at the top of User.php
and also add the trait within the class. For example:
class User extends Authenticatable
{
use Notifiable, HasQuickBooksToken;
NOTE: If your User model is not App\Models\User, then you will need to configure the path in the configs/quickbooks.php.
Add the appropriate values to your .env
QUICKBOOKS_CLIENT_ID=<client id given by QuickBooks>
QUICKBOOKS_CLIENT_SECRET=<client secret>
QUICKBOOKS_API_URL=<Development|Production> # Defaults to App's env value
QUICKBOOKS_DEBUG=<true|false> # Defaults to App's debug value
[Optional] Publish configs & views
A configuration file named quickbooks.php can be published to config/ by running...
php artisan vendor:publish --tag=quickbooks-config
View files can be published by running...
php artisan vendor:publish --tag=quickbooks-views
Here is an example of getting the company information from QuickBooks:
php artisan tinker
Psy Shell v0.8.17 (PHP 7.1.14 — cli) by Justin Hileman
>>> Auth::logInUsingId(1)
=> App\Models\User {#1668
id: 1,
// Other keys removed for example
}
>>> $quickbooks = app('FullStack\QuickBooks\Client') // or app('QuickBooks')
=> FullStack\QuickBooks\Client {#1613}
>>> $quickbooks->getDataService()->getCompanyInfo();
=> QuickBooksOnline\API\Data\IPPCompanyInfo {#1673
+CompanyName: "Sandbox Company_US_1",
+LegalName: "Sandbox Company_US_1",
// Other properties removed for example
}
>>>
You can call any of the resources as documented in the SDK.
If you have routes that will be dependent on the user's account having a usable QuickBooks OAuth token, there is an included middleware FullStack\QuickBooks\Laravel\Filter that gets registered as quickbooks that will ensure the account is linked and redirect them to the connect route if needed.
Here is an example route definition:
Route::view('some/route/needing/quickbooks/token/before/using', 'some.view')
->middleware('quickbooks');