Download the PHP package excelle-insights/quickbooks without Composer
On this page you can find all versions of the php package excelle-insights/quickbooks. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download excelle-insights/quickbooks
More information about excelle-insights/quickbooks
Files in excelle-insights/quickbooks
Package quickbooks
Short Description QuickBooks Online integration package
License MIT
Informations about the package quickbooks
Excelle Insights QuickBooks Integration
A PHP package to integrate with QuickBooks Online (QBO), including authentication, customer management, and local synchronization.
Project Structure
Installation
You can install the package via Composer:
Environment Setup
Create a .env file in your project root (or rely on the package .env):
The package automatically loads its own .env if present.
Running Migrations
This package uses Phinx for database migrations.
- Run the migrations:
For testing while developing the package, use the following command
Tables created include:
- api_access_tokens
- qbo_invoice_items
- http_request_logs
- qbo_accounts
- qbo_companies
- qbo_customers
- qbo_invoices
- qbo_invoice_items
- qbo_journal_entries
- qbo_journal_entry_lines
- qbo_payments
- qbo_payment_items
- qbo_vendors
- qbo_bills
- qbo_bill_items
Quick Start
- Get the OAuth Authorization URL
This script generates a link for the user to authorize your app in QuickBooks:
- Handle OAuth Callback
After the user authorizes your app, QuickBooks redirects back to your callback URL. This script handles that callback:
- Create a Customer
This script creates a customer locally and attempts to sync it with QuickBooks Online:
- Create an Invoice
This script creates an invoice locally and attempts to sync it with QuickBooks Online:
Testing
The package uses PHPUnit for testing. To run tests:
Ensure your .env (or package .env) is configured with valid database and QBO credentials.
Features
- Automatic OAuth2 authentication with QuickBooks Online.
- Local persistence of customers in qbo_customers table.
- Queue system for failed QuickBooks syncs.
- Easy access to QuickBooks API via QuickBooksManager.
- Extensible for invoices, payments, and other QBO objects.
Example Workflow
- Initialize QuickBooksManager.
- Redirect user to QuickBooks authorization page using getAuthUrl().
- Handle the callback via OAuthController.
- Create customers locally and sync with QBO using createCustomer().
- Create invoices locally and sync with QBO using createInvoice().
All versions of quickbooks with dependencies
ext-json Version *
guzzlehttp/guzzle Version ^7.0
symfony/process Version ^7.0
robmorgan/phinx Version ^0.16.9
quickbooks/v3-php-sdk Version ^6.2
vlucas/phpdotenv Version ^5.6