PHPackages                             pns/laravel-qbo - 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. pns/laravel-qbo

ActiveLibrary[API Development](/categories/api)

pns/laravel-qbo
===============

This is a Laravel package for integrating QuickBooks Online API.

v1.2.1(4y ago)265MITPHPPHP ^7.0|^8.0

Since Feb 21Pushed 4y ago1 watchersCompare

[ Source](https://github.com/jeddsaliba/laravel-qbo)[ Packagist](https://packagist.org/packages/pns/laravel-qbo)[ RSS](/packages/pns-laravel-qbo/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (10)Dependencies (3)Versions (14)Used By (0)

Laravel QuickBooks Online API
=============================

[](#laravel-quickbooks-online-api)

This is a Laravel package for integrating QuickBooks Online API.

Getting Started
---------------

[](#getting-started)

Below are the steps in order to integrate QuickBooks Online API to your Laravel project.

Installation
------------

[](#installation)

Install the package using composer:

```
  composer require pns/laravel-qbo
```

Export the configuration file:

```
  php artisan vendor:publish --provider="Pns\LaravelQbo\Providers\LaravelQboServiceProvider" --tag="config"
```

Export the migration files:

```
  php artisan vendor:publish --provider="Pns\LaravelQbo\Providers\LaravelQboServiceProvider" --tag="migrations"
```

Do a quick migration:

```
  php artisan migrate
```

### Environment Variables

[](#environment-variables)

In order to run this package, you will need to add the following environment variables to your .env file

`QBO_AUTH_MODE=oauth2`

`QBO_ATH_REQUEST_URL=https://appcenter.intuit.com/connect/oauth2`

`QBO_TOKEN_END_POINT_URL=https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer`

`QBO_CLIENT_ID=`

`QBO_CLIENT_SECRET=`

`QBO_REDIRECT_URI=`

`QBO_SCOPE=com.intuit.quickbooks.accounting`

`QBO_BASE_URL=Development`

`QBO_COMPANY_ID=`

You may follow the steps on how to get the environment variables here:

or follow the steps below

### Generating Environment Variables

[](#generating-environment-variables)

1. Log in to your QuickBooks Online account at
2. After logging in, go to  in order to create a new sandbox company.

[![](https://camo.githubusercontent.com/a7b101578fcf99ec4da9612ead1da21909cd92809c08628bedbb71546ab62487/68747470733a2f2f7261772e6769746875622e636f6d2f6a65646473616c6962612f6c61726176656c2d71626f2f6d61737465722f7372632f6173736574732f696e7374616c6c6174696f6e2f737465702d312e4a50473f73616e6974697a653d74727565)](https://camo.githubusercontent.com/a7b101578fcf99ec4da9612ead1da21909cd92809c08628bedbb71546ab62487/68747470733a2f2f7261772e6769746875622e636f6d2f6a65646473616c6962612f6c61726176656c2d71626f2f6d61737465722f7372632f6173736574732f696e7374616c6c6174696f6e2f737465702d312e4a50473f73616e6974697a653d74727565)

3. Add a sandbox company.

[![](https://camo.githubusercontent.com/ce8465c26dc6fe7d4d6d4e781f0274393a8faf422e56d6da27ad4c850ea8eb8a/68747470733a2f2f7261772e6769746875622e636f6d2f6a65646473616c6962612f6c61726176656c2d71626f2f6d61737465722f7372632f6173736574732f696e7374616c6c6174696f6e2f737465702d322e4a50473f73616e6974697a653d74727565)](https://camo.githubusercontent.com/ce8465c26dc6fe7d4d6d4e781f0274393a8faf422e56d6da27ad4c850ea8eb8a/68747470733a2f2f7261772e6769746875622e636f6d2f6a65646473616c6962612f6c61726176656c2d71626f2f6d61737465722f7372632f6173736574732f696e7374616c6c6174696f6e2f737465702d322e4a50473f73616e6974697a653d74727565)

4. After creating a sandbox company, copy the **Company ID** to be used in `QBO_COMPANY_ID` environment variable.

[![](https://camo.githubusercontent.com/16932b984291323542602e6713228fd2d292b65ae190467d499cbfaaa1e22548/68747470733a2f2f7261772e6769746875622e636f6d2f6a65646473616c6962612f6c61726176656c2d71626f2f6d61737465722f7372632f6173736574732f696e7374616c6c6174696f6e2f737465702d332e4a50473f73616e6974697a653d74727565)](https://camo.githubusercontent.com/16932b984291323542602e6713228fd2d292b65ae190467d499cbfaaa1e22548/68747470733a2f2f7261772e6769746875622e636f6d2f6a65646473616c6962612f6c61726176656c2d71626f2f6d61737465722f7372632f6173736574732f696e7374616c6c6174696f6e2f737465702d332e4a50473f73616e6974697a653d74727565)

5. Then, go to .

[![](https://camo.githubusercontent.com/58d8ef42b76579b7703f2e3567e51c8c73506ce440c31d9d7090f8abe888e73d/68747470733a2f2f7261772e6769746875622e636f6d2f6a65646473616c6962612f6c61726176656c2d71626f2f6d61737465722f7372632f6173736574732f696e7374616c6c6174696f6e2f737465702d342e4a50473f73616e6974697a653d74727565)](https://camo.githubusercontent.com/58d8ef42b76579b7703f2e3567e51c8c73506ce440c31d9d7090f8abe888e73d/68747470733a2f2f7261772e6769746875622e636f6d2f6a65646473616c6962612f6c61726176656c2d71626f2f6d61737465722f7372632f6173736574732f696e7374616c6c6174696f6e2f737465702d342e4a50473f73616e6974697a653d74727565)

6. Create an app.

[![](https://camo.githubusercontent.com/5c00072d155e3782778d0e7c05b2b89136e96b051e82b50a05e6151d59d1fbb8/68747470733a2f2f7261772e6769746875622e636f6d2f6a65646473616c6962612f6c61726176656c2d71626f2f6d61737465722f7372632f6173736574732f696e7374616c6c6174696f6e2f737465702d352e4a50473f73616e6974697a653d74727565)](https://camo.githubusercontent.com/5c00072d155e3782778d0e7c05b2b89136e96b051e82b50a05e6151d59d1fbb8/68747470733a2f2f7261772e6769746875622e636f6d2f6a65646473616c6962612f6c61726176656c2d71626f2f6d61737465722f7372632f6173736574732f696e7374616c6c6174696f6e2f737465702d352e4a50473f73616e6974697a653d74727565)

7. Complete the form in order to create a new app.

[![](https://camo.githubusercontent.com/68e0ce1ae792b1ac9272ecdbfb0361d8fa58480ce78d5c17ed3c930b55199eef/68747470733a2f2f7261772e6769746875622e636f6d2f6a65646473616c6962612f6c61726176656c2d71626f2f6d61737465722f7372632f6173736574732f696e7374616c6c6174696f6e2f737465702d362e4a50473f73616e6974697a653d74727565)](https://camo.githubusercontent.com/68e0ce1ae792b1ac9272ecdbfb0361d8fa58480ce78d5c17ed3c930b55199eef/68747470733a2f2f7261772e6769746875622e636f6d2f6a65646473616c6962612f6c61726176656c2d71626f2f6d61737465722f7372632f6173736574732f696e7374616c6c6174696f6e2f737465702d362e4a50473f73616e6974697a653d74727565)

8. Upon creation, you will be redirected to the Getting Started page for your app.

[![](https://camo.githubusercontent.com/ac9d147b88703183377920780701dc662bf1368daff2175d946ddce4d66dd83e/68747470733a2f2f7261772e6769746875622e636f6d2f6a65646473616c6962612f6c61726176656c2d71626f2f6d61737465722f7372632f6173736574732f696e7374616c6c6174696f6e2f737465702d372e4a50473f73616e6974697a653d74727565)](https://camo.githubusercontent.com/ac9d147b88703183377920780701dc662bf1368daff2175d946ddce4d66dd83e/68747470733a2f2f7261772e6769746875622e636f6d2f6a65646473616c6962612f6c61726176656c2d71626f2f6d61737465722f7372632f6173736574732f696e7374616c6c6174696f6e2f737465702d372e4a50473f73616e6974697a653d74727565)

9. Go to **Keys and credentials**. Copy the **Client ID** and **Client Secret** to `QBO_CLIENT_ID` and `QBO_CLIENT_SECRET` respectively.

[![](https://camo.githubusercontent.com/6a41c71267c7c3da004efbe070f5207ca511848c6f134bd5a9d5836c5c6de250/68747470733a2f2f7261772e6769746875622e636f6d2f6a65646473616c6962612f6c61726176656c2d71626f2f6d61737465722f7372632f6173736574732f696e7374616c6c6174696f6e2f737465702d382e4a50473f73616e6974697a653d74727565)](https://camo.githubusercontent.com/6a41c71267c7c3da004efbe070f5207ca511848c6f134bd5a9d5836c5c6de250/68747470733a2f2f7261772e6769746875622e636f6d2f6a65646473616c6962612f6c61726176656c2d71626f2f6d61737465722f7372632f6173736574732f696e7374616c6c6174696f6e2f737465702d382e4a50473f73616e6974697a653d74727565)

10. Scroll down to create or copy the **Redirect URI** to `QBO_REDIRECT_URI`.

[![](https://camo.githubusercontent.com/d679125f6f14573151248476331d2f408d1a6e654ffa1effdafb54642db58c19/68747470733a2f2f7261772e6769746875622e636f6d2f6a65646473616c6962612f6c61726176656c2d71626f2f6d61737465722f7372632f6173736574732f696e7374616c6c6174696f6e2f737465702d392e4a50473f73616e6974697a653d74727565)](https://camo.githubusercontent.com/d679125f6f14573151248476331d2f408d1a6e654ffa1effdafb54642db58c19/68747470733a2f2f7261772e6769746875622e636f6d2f6a65646473616c6962612f6c61726176656c2d71626f2f6d61737465722f7372632f6173736574732f696e7374616c6c6174696f6e2f737465702d392e4a50473f73616e6974697a653d74727565)

How To Use
----------

[](#how-to-use)

### Download Postman API

[](#download-postman-api)

Download the Postman API Collection [here](https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/jeddsaliba/laravel-qbo/blob/master/src/assets/postman/QuickBooks_Online_API_v1.0.0.postman_collection.json?sanitize=true).

### Authentication

[](#authentication)

Use this in order to authenticate and refresh the access token.

**Controller**

```
  \Pns\LaravelQbo\Http\Controllers\QboAuthController
```

**Authenticate Token**

Postman URL:

```
  {{url}}/qbo/authorize
```

Response:

```
  {
    "authorizationCodeUrl": "https://appcenter.intuit.com/connect/oauth2?client_id=ABEP4t682b0kTjxo8G6yuJGftr506G6oZ5DsOMP0b2MbSHdWP2&scope=com.intuit.quickbooks.accounting&redirect_uri=https%3A%2F%2Fdeveloper.intuit.com%2Fv2%2FOAuth2Playground%2FRedirectUrl&response_type=code&state=DATTK"
  }
```

**Refresh Token**

Postman URL:

```
  {{url}}/qbo/token-save
```

Request:

```
  {
    "code": "AB11645453718yt4XS3Ngih24yMxDSQYXYG4Hpy2oR6lNkC87L",
    "realmId": "4620816365213659530"
  }
```

Response:

```
  {
    "message": "Token refreshed.",
    "accessToken": {
      "access_token": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiZGlyIn0..GpEotUwWZJnVEbrOGYSLcg.AdIOfTVbSs73d8-b0wgmFnbgIPbrUKWoIW6_9FJQ27lKWO5xXy5VykvAyUEd_PUpBLhpXfhnnXMkvO_75YecvducgHCHlFy9NdBGfy1WCpkZ8OZQTKIdC1Up4FrsPurK7eAqY8y1-eJNcgARK4TyLtwy14dWeIvZXe3v3uHFtsSz5BsiGj8mC1o9MoKdvFep6BgOtBeZu_nacr7qcPlTXAztWNLLExhZtzSlJqMMMcjErHJ0SOpCZfauba_KrzCT5m0GBmyHvT-maV4EbseiK_hjhdegh0T1kkznxZK92j3tPfqCeAGL3IxJQT2iJlpgyGmTTotX2Mnoz6OPPykxN-8SRh8itzOdqPquQ-P4eqXI-XtnIiHzWBhyi-jvTAfGWuTYx5ohKOQKGvOiyDV4xbqkYw-XNbwsGLtF9EUY-Z8HWk6waj5g07O_-WxOY8lOlhJ4u7lkMaCLm6KMSHLNhfwRykp81wlxac80IQF8_InBseH1jVfShP89WMgYdGzuoy-8hY9jXwBgDudVm5uoqhQiIMaLbZQ1_V1XuHs9-1pBsLtq4KjoabTCJ3lma_cv-wff0plsXDaQFih-StmyWWvBZYRzRPvWbloTsGDEt8WxIANUd2AWZhZFwfJIxkgTpfLnDEySg2QyV-LoNjFU_FAYulFGn1-V6b7JBBYTEJkZXssVGRcy62zGzw_K0Y5DlJUnesbShcAA9rwrA7L430DPi_yYLm472-OKWjhM9OaeR2f6QcrsUxuhj96XcwQd.CynAG529fBQbeDV7OY7WRw",
      "refresh_token": "AB116541797850qjxumAQNzUirNxrOs9C8Sj0U1o59iT0Ev2o2",
      "x_refresh_token_expires_in": "2022/06/02 14:23:05",
      "expires_in": "2022/02/21 15:23:05"
    }
  }
```

### Company

[](#company)

Use this in order to get and update your company profile.

**Controller**

```
  \Pns\LaravelQbo\Http\Controllers\QboCompanyController
```

**Get Company Profile**

Postman URL:

```
  {{url}}/qbo/company
```

Response:

```
  {
    "authorizationCodeUrl": "https://appcenter.intuit.com/connect/oauth2?client_id=ABEP4t682b0kTjxo8G6yuJGftr506G6oZ5DsOMP0b2MbSHdWP2&scope=com.intuit.quickbooks.accounting&redirect_uri=https%3A%2F%2Fdeveloper.intuit.com%2Fv2%2FOAuth2Playground%2FRedirectUrl&response_type=code&state=DATTK"
  }
```

Features
--------

[](#features)

- Authentication
- Company Profile
    - View
- Invoice
    - Create
    - View
    - Delete
    - List
    - Send To Email
- Customer
    - Create
    - View
    - Delete
    - List

Support
-------

[](#support)

For support, email  or join our Slack channel.

*Fly high, butterfly! [![](https://camo.githubusercontent.com/e9cc68b2c85a3aa779f67a18bacbe9f6958ea7a50f416631d3dbe17c7ba8b4d9/68747470733a2f2f7261772e6769746875622e636f6d2f6a65646473616c6962612f6c61726176656c2d71626f2f6d61737465722f7372632f6173736574732f69636f6e732f627574746572666c792e7376673f73616e6974697a653d74727565)](https://camo.githubusercontent.com/e9cc68b2c85a3aa779f67a18bacbe9f6958ea7a50f416631d3dbe17c7ba8b4d9/68747470733a2f2f7261772e6769746875622e636f6d2f6a65646473616c6962612f6c61726176656c2d71626f2f6d61737465722f7372632f6173736574732f69636f6e732f627574746572666c792e7376673f73616e6974697a653d74727565)*

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity61

Established project with proven stability

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 ~3 days

Total

13

Last Release

1499d ago

### Community

Maintainers

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

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/pns-laravel-qbo/health.svg)

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

###  Alternatives

[mollie/laravel-mollie

Mollie API client wrapper for Laravel &amp; Mollie Connect provider for Laravel Socialite

3624.1M28](/packages/mollie-laravel-mollie)[mll-lab/laravel-graphiql

Easily integrate GraphiQL into your Laravel project

683.2M9](/packages/mll-lab-laravel-graphiql)[esign/laravel-conversions-api

A laravel wrapper package around the Facebook Conversions API

69145.4k](/packages/esign-laravel-conversions-api)[didww/didww-api-3-php-sdk

PHP SDK for DIDWW API 3

1218.2k](/packages/didww-didww-api-3-php-sdk)[surface/laravel-webfinger

A Laravel package to create an ActivityPub webfinger.

113.8k](/packages/surface-laravel-webfinger)

PHPackages © 2026

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