PHPackages                             shawnreid/laravel-quickbooks - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. shawnreid/laravel-quickbooks

ActiveLibrary[API Development](/categories/api)

shawnreid/laravel-quickbooks
============================

Quickbooks wrapper for Laravel

v1.0.0(3y ago)6191MITPHPPHP ^8.1

Since Jan 15Pushed 3y ago1 watchersCompare

[ Source](https://github.com/shawnreid/laravel-quickbooks)[ Packagist](https://packagist.org/packages/shawnreid/laravel-quickbooks)[ Docs](https://github.com/shawnreid/laravel-quickbooks)[ RSS](/packages/shawnreid-laravel-quickbooks/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (10)Versions (2)Used By (0)

Quickbooks SDK Wrapper For Laravel
==================================

[](#quickbooks-sdk-wrapper-for-laravel)

[![Latest Version on Packagist](https://camo.githubusercontent.com/17a051b276655d1431a3827cad23b2e74f59c06f9e5358c52300781e4cff422d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f736861776e726569642f6c61726176656c2d717569636b626f6f6b732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/shawnreid/laravel-quickbooks)[![Total Downloads](https://camo.githubusercontent.com/3865d971807ee4f0a31deb903e9575b8a082b87f1bb0f2ae3a1c2c1759a8b896/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f736861776e726569642f6c61726176656c2d717569636b626f6f6b732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/shawnreid/laravel-quickbooks)[![GitHub Actions](https://github.com/shawnreid/laravel-quickbooks/actions/workflows/main.yml/badge.svg)](https://github.com/shawnreid/laravel-quickbooks/actions/workflows/main.yml/badge.svg)[![PHP Stan](https://camo.githubusercontent.com/f60d96f7c2579690ab6dfa8918f777fe93a02a92301c661eb38a85861a92b780/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048505374616e2d6c6576656c253230382d627269676874677265656e2e7376673f7374796c653d666c6174)](https://camo.githubusercontent.com/f60d96f7c2579690ab6dfa8918f777fe93a02a92301c661eb38a85861a92b780/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048505374616e2d6c6576656c253230382d627269676874677265656e2e7376673f7374796c653d666c6174)[![codecov](https://camo.githubusercontent.com/20f3d51110b410e09f6295937f17d011f26e14f1ce9c5ac92d6d47ef9798f2bc/68747470733a2f2f636f6465636f762e696f2f6769746875622f736861776e726569642f6c61726176656c2d717569636b626f6f6b732d636c69656e742f6272616e63682f6d61737465722f67726170682f62616467652e7376673f746f6b656e3d31585947383638415839)](https://codecov.io/github/shawnreid/laravel-quickbooks-client)

Laravel Quickbooks is a token manager and wrapper for the [QuickBooks PHP SDK](https://github.com/intuit/QuickBooks-V3-PHP-SDK). See [Quickbooks API Reference](https://developer.intuit.com/app/developer/qbo/docs/get-started) for more details on how to interact with the API.

Requirements
------------

[](#requirements)

VersionPHP^8.1Laravel^9.0Installation
------------

[](#installation)

You can install the package via composer:

```
composer require shawnreid/laravel-quickbooks
```

Publish assets

```
php artisan vendor:publish --provider="Shawnreid\LaravelQuickbooks\Providers\QuickbooksProvider"
```

Create database table `quickbooks_tokens`

```
php artisan migrate
```

Configuration
-------------

[](#configuration)

1. Before starting you will need a QuickBooks developer account to [setup a sandbox environment](https://developer.intuit.com/app/developer/qbo/docs/develop/sandboxes). You will also need a tool such as [ngrok](https://ngrok.com) to expose your local dev environment.
2. Quickbooks requires a Redirect URI be provided for OAuth2 authentication. You must set this to: `https:///quickbooks/token`
3. Add the appropriate values to your `.env`

    ```
    QUICKBOOKS_CLIENT_ID=
    QUICKBOOKS_CLIENT_SECRET=
    QUICKBOOKS_API_URL=
    QUICKBOOKS_DEBUG=
    ```
4. By default this package will attach to the `User` Model. If you wish to use another model this can be configured in `configs/laravel-quickbooks.php`. A trait will need to be included in the model you wish to use.

    Example:

    ```
    use Shawnreid\LaravelQuickbooks\Quickbooks;

    class User extends Authenticatable
    {
       use Quickbooks;
    ```
5. The token manager middleware by default is set to `auth`. Depending on your needs you will likely want to change this. This can be configured in `configs/laravel-quickbooks.php`

Connecting to Quickbooks
------------------------

[](#connecting-to-quickbooks)

This package provides a simple interface for managing quickbooks OAuth2 connections.

1. Navigate to `https:///quickbooks`
2. Select model you want to attach connection to and click `Create Connection`. If configured properly you will be redirected to a QuickBooks authentication page.

You may also revoke tokens or refresh tokens from this interface. Note that anytime an API call is made to QuickBooks this package will automatically refresh the token.

Usage
-----

[](#usage)

This package provides syntatic sugar to wrap QuickBooks PHP SDK. Please see [QuickBooks Sample CRUD App](https://github.com/IntuitDeveloper/SampleApp-CRUD-PHP/tree/master/CRUD_Examples) for additional examples.

### Examples

[](#examples)

```
$user = User::find(1);

$user

    // resolve data service
    ->quickbooks()

    // resolve invoice entity
    ->invoice()

    // create invoice
    ->create(
         body: [...]
     )

$user

    // resolve data service
    ->quickbooks()

    // resolve customer entity
    ->customer()

    // update customer
    ->update(
         id: 'id'
         body: [...]
     )

$user

    // resolve data service
    ->quickbooks()

    // resolve bill entity
    ->bill()

    // delete bill
    ->delete(
         id: 'id'
    )

$user

    // resolve data service
    ->quickbooks()

    // resolve vendor entity
     ->vendor()

     // find vendor
     ->find(
         id: 'id'
     )

$user

    // resolve data service
    ->quickbooks()

    // Custom SQL query
    // https://developer.intuit.com/app/developer/qbo/docs/learn/explore-the-quickbooks-online-api/data-queries
    ->query('SELECT * FROM Invoice')
```

### Supported Entities

[](#supported-entities)

```
$user->quickbooks()->account();
$user->quickbooks()->bill();
$user->quickbooks()->billPayment();
$user->quickbooks()->customer();
$user->quickbooks()->estimate();
$user->quickbooks()->invoice();
$user->quickbooks()->item();
$user->quickbooks()->journalEntry();
$user->quickbooks()->payment();
$user->quickbooks()->timeActivity();
$user->quickbooks()->vendor();
$user->quickbooks()->vendorCredit();
$user->quickbooks()->companyCurrency();
$user->quickbooks()->creditMemo();
$user->quickbooks()->department();
$user->quickbooks()->deposit();
$user->quickbooks()->employee();
$user->quickbooks()->purchase();
$user->quickbooks()->purchaseOrder();
$user->quickbooks()->refundReceipt();
$user->quickbooks()->salesReceipt();
$user->quickbooks()->taxAgency();
$user->quickbooks()->taxRate();
$user->quickbooks()->taxService();
$user->quickbooks()->transfer();
```

### Supported CRUD Operations

[](#supported-crud-operations)

```
$user->quickbooks()->invoice()->create([...]);
$user->quickbooks()->invoice()->update('id', [...]);
$user->quickbooks()->invoice()->delete('id');
$user->quickbooks()->invoice()->find('id');
```

### Testing

[](#testing)

```
composer test
```

### Changelog

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Credits
-------

[](#credits)

- [Shawn Reid](https://github.com/shawnreid)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1213d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3fbb998c2e4f76e9dd8a3be3f9e843b350a97ec56e344b6510d8b4df45823880?d=identicon)[shawnreid](/maintainers/shawnreid)

---

Top Contributors

[![shawnreid](https://avatars.githubusercontent.com/u/58261727?v=4)](https://github.com/shawnreid "shawnreid (20 commits)")

---

Tags

laravel-quickbooksshawnreid

###  Code Quality

TestsPHPUnit

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/shawnreid-laravel-quickbooks/health.svg)

```
[![Health](https://phpackages.com/badges/shawnreid-laravel-quickbooks/health.svg)](https://phpackages.com/packages/shawnreid-laravel-quickbooks)
```

###  Alternatives

[laravel/cashier

Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services.

2.5k25.9M107](/packages/laravel-cashier)[spatie/laravel-query-builder

Easily build Eloquent queries from API requests

4.4k26.9M220](/packages/spatie-laravel-query-builder)[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k12.1M99](/packages/laravel-pulse)[laravel/cashier-paddle

Cashier Paddle provides an expressive, fluent interface to Paddle's subscription billing services.

264778.4k3](/packages/laravel-cashier-paddle)[essa/api-tool-kit

set of tools to build an api with laravel

52680.5k](/packages/essa-api-tool-kit)[flat3/lodata

OData v4.01 Producer for Laravel

96320.9k](/packages/flat3-lodata)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
