PHPackages                             myleshyson/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. myleshyson/laravel-quickbooks

AbandonedArchivedLibrary[API Development](/categories/api)

myleshyson/laravel-quickbooks
=============================

A nice wrapper around the consolibyte/quickbooks-php package.

v1.06(8y ago)255.0k↓100%10[4 issues](https://github.com/myleshyson/laravel-quickbooks/issues)MITPHP

Since Dec 9Pushed 8y ago6 watchersCompare

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

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

No Longer Maintained
====================

[](#no-longer-maintained)

For two reasons. I don't have the time anymore to work on this (it was only a hobby project) and a few months ago QuicBooks actually came out with it's own PHP SDK [you can see it here](https://github.com/intuit/QuickBooks-V3-PHP-SDK). Though this package should work fine still (as of 09/15/2017) QuickBooks is going to have a much more consistent and higher quality package to work with their own system. It's also documented way better than this or Consolibyte. For those that have used it I hope it's been helpful! If you would like to take over this repo and convert it to use the QuickBooks SDK or something just let me know.

laravel-quickbooks
==================

[](#laravel-quickbooks)

A nice wrapper around the Quickbooks Online SDK.
------------------------------------------------

[](#a-nice-wrapper-around-the-quickbooks-online-sdk)

### Installation

[](#installation)

If you haven't already composer the quickbooks php sdk. If you're using php 7+ then you'll need to require the dev-master version.

```
composer require consolibyte/quickbooks

```

Then require this package via composer

```
composer require myleshyson/laravel-quickbooks

```

Add this line to you config/app.php.

```
Myleshyson\LaravelQuickBooks\QuickBooksServiceProvider::class,
```

Finally on the command line publish the config file for the package like so.

```
php artisan vendor:publish --tag=quickbooks

```

These are the variables you need to set in your .env.

```

QB_DSN= e.g for mysql...mysqli://db-username:db-password@db-connection/db-name
QB_TOKEN=
QB_OAUTH_CONSUMER_KEY=
QB_OAUTH_CONSUMER_SECRET=

Make sure tese two url's are different.
QB_OAUTH_URL= url used to connect to quickbooks.
QB_SUCCESS_URL= you are redirected to here when the handshake is successful.

QB_SANDBOX=true

These two you shouldn't change unless you know what you're doing.
QB_USERNAME=DO_NOT_CHANGE_ME
QB_TENANT=12345

```

After that you should be set to go!

### Usage

[](#usage)

This package was made for working with the QuickBooks Accounting API in mind. You can look at all of the accounting resources here under 'Transaction' and 'Name list' resources. [QuickBooks Accounting API](https://developer.intuit.com/docs/api/accounting)

#### Note On Working With QuickBooks

[](#note-on-working-with-quickbooks)

Just because in the QuickBooks documentation something says optional doesn't mean that you don't need it for your request. If your request doesn't go through make sure to dd() to see what error QuickBooks is giving back. It may be asking you to set something that is optional.

There are a few resources that aren't supported by the QuickBooks SDK and those are listed here:

- CompanyCurrency
- Budget
- JournalCode
- TaxAgency
- TaxService
- Deposit
- Transfer

**Quick Note: Make sure when using this package you import the Facade class you want to use under Myleshyson\\LaravelQuickBooks\\Facades**

#### Connecting To QuickBooks

[](#connecting-to-quickbooks)

Make sure the success url is differnt than the oauth (connection) url. Otherwise it will continually redirect you after a succsful

```
// routes/web.php
use Myleshyson\LaravelQuickBooks\Facades\Connection;

Route::get('/connect', function () {
  Connection::start();
});
```

If you want to disconnect from quickbooks then you can do it like so.

```
// routes/web.php
use Myleshyson\LaravelQuickBooks\Facades\Connection;

Route::get('/disconnect', function () {
  Connection::stop();
});
```

If you want to check if your connected

```
// routes/web.php
use Myleshyson\LaravelQuickBooks\Facades\Connection;

Route::get('/check-connection', function () {
  dd(Connection::check());
  //true
});
```

#### Making Requests

[](#making-requests)

Every resource that's available has four methods except for TaxRate and TaxCode. Those only have a get, find, and query method.

```
Customer::create(array $data);

Customer::update($id, array $data);

Customer::delete($id);

Customer::find($id);

Customer::get(); //gets all customers associated with your account.

Customer::query('SELECT * FROM CUSTOMER WHERE ...') //put in your own custom query for the Customer table.
```

I used the same naming conventions as the QuickBooks API to make things easier. In order to create a resource like Customer for example, you would use it like this...

```
// routes/web.php

use Myleshyson\LaravelQuickBooks\Facades\Customer;

Route::get('/', function () {
    Customer::create([
        'Taxable' => false,
        'BillAddr' => [
            'Line1' => '123 Test Street',
            'City' => 'Dallas',
            'State' => 'Texas',
            'CountrySubDivisionCode' => 'TX',
            'PostalCode' => '12345'
        ],
        'GivenName' => 'Bill',
        'FamilyName' => 'Something',
        'FullyQualifiedName' => "Bill's Surf Shop"
    ]);
});
```

To handle any type of line in QuickBooks handle it like so.

Here are the different line types in quickbooks:

- SalesItemLineDetail
- ItemBasedExpenseLineDetail
- AccountBasedExpenseLineDetail
- GroupLineDetail
- DescriptionOnly
- DiscountLineDetail
- SubtotalLine
- TaxLineDetail

```
use Myleshyson\LaravelQuickBooks\Facades\Invoice;

Invoice::create([
  'CustomerRef' => 1,
  'Lines' => [
    [
      'DetailType' => 'SalesItemLineDetail',
      'ItemRef' => 1,
      'Amount' => 20,
      'MarkupInfo' => [
        'PercentBased' => true
      ]
    ],
    [
      'DetailType' => 'TxnTaxDetail',
      'TxnTaxCodeRef' => 8,
      'Lines' => [
        [
          'SomeStuff'
        ],
        [
          'MoreStuff'
        ]
      ]
    ]
   ]
]);
```

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance17

Infrequent updates — may be unmaintained

Popularity30

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor1

Top contributor holds 90% 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

Every ~22 days

Recently: every ~51 days

Total

12

Last Release

3198d ago

Major Versions

v0.8.3-beta → v1.02016-12-20

### Community

Maintainers

![](https://www.gravatar.com/avatar/f0a13a8afd419b855da4f76655248d36c741083d289aef933bfb0d5ee69f4dd9?d=identicon)[myleshyson](/maintainers/myleshyson)

---

Top Contributors

[![myleshyson](https://avatars.githubusercontent.com/u/11747187?v=4)](https://github.com/myleshyson "myleshyson (54 commits)")[![zackkrida](https://avatars.githubusercontent.com/u/6351754?v=4)](https://github.com/zackkrida "zackkrida (5 commits)")[![tchapman-ballparc](https://avatars.githubusercontent.com/u/53795088?v=4)](https://github.com/tchapman-ballparc "tchapman-ballparc (1 commits)")

### Embed Badge

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

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

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M480](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M272](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M187](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M34](/packages/facebook-php-business-sdk)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)[google/gax

Google API Core for PHP

263103.1M454](/packages/google-gax)

PHPackages © 2026

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