wearepixel / laravel-quickbooks
Laravel Client for QuickBooks.
Installs: 46
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/wearepixel/laravel-quickbooks
Requires
- php: ^8.3
- illuminate/database: ^10.0|^11.0|^12.0
- illuminate/http: ^10.0|^11.0|^12.0
- illuminate/routing: ^10.0|^11.0|^12.0
- illuminate/support: ^10.0|^11.0|^12.0
- nesbot/carbon: ^2.62.1|^3.0
- quickbooks/v3-php-sdk: ^5.4.6
Requires (Dev)
- laravel/pint: ^1.2
- mockery/mockery: ^1.6
- pestphp/pest: ^3.0
- psy/psysh: ^0.12
This package is auto-updated.
Last update: 2026-02-18 00:49:11 UTC
README
A Laravel package wrapping the QuickBooks PHP SDK. Provides OAuth 2.0 authentication, automatic token management, and access to the QuickBooks Online API.
Compatibility
| Laravel | PHP | Package |
|---|---|---|
| 12.x | ^8.3 | ^2.0 |
| 11.x | ^8.3 | ^2.0 |
| 10.x | ^8.3 | ^1.0 |
Installation
- Install the package:
composer require wearepixel/laravel-quickbooks
- Run the migration to create the
quickbooks_tokenstable:
php artisan migrate
The package uses Laravel's auto-discovery, so no manual provider registration is needed.
Configuration
1. Add the trait to your User model
use Wearepixel\QuickBooks\HasQuickBooksToken; class User extends Authenticatable { use HasQuickBooksToken; }
If your User model is not App\Models\User, publish the config and update the user.model value.
2. Set your environment variables
QUICKBOOKS_CLIENT_ID=<your client id> QUICKBOOKS_CLIENT_SECRET=<your client secret>
Optional:
QUICKBOOKS_API_URL=<Development|Production> # Defaults based on APP_ENV QUICKBOOKS_DEBUG=<true|false> # Defaults to APP_DEBUG
3. Publish config and views (optional)
php artisan vendor:publish --tag=quickbooks-config php artisan vendor:publish --tag=quickbooks-views
Usage
First, direct users to /quickbooks/connect to authorize their QuickBooks account. Once connected, you can access the API:
$quickbooks = app(\Wearepixel\QuickBooks\Client::class); // Get company info $company = $quickbooks->getDataService()->getCompanyInfo(); // Access reports $reportService = $quickbooks->getReportService();
You can call any of the resources documented in the QuickBooks PHP SDK.
Middleware
Protect routes that require a QuickBooks connection using the quickbooks middleware. Users without a valid token will be redirected to the connect page.
Route::get('quickbooks/invoices', InvoiceController::class) ->middleware('quickbooks');
Testing
./vendor/bin/pest
License
MIT