From 4ff61e696f56054f2b0c477a0f8f19f4ada641b7 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Sun, 25 Jan 2026 14:45:16 +1100 Subject: [PATCH] Fixes for qb imports without direction access to QB API --- app/Import/Providers/QBBackup.php | 1 + app/Services/Quickbooks/QuickbooksService.php | 35 ++++++++++--------- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/app/Import/Providers/QBBackup.php b/app/Import/Providers/QBBackup.php index d35f5b7cf5..d75b202294 100644 --- a/app/Import/Providers/QBBackup.php +++ b/app/Import/Providers/QBBackup.php @@ -4,6 +4,7 @@ namespace App\Import\Providers; use App\Models\Company; use App\Models\Invoice; +use App\Import\Providers\BaseImport; use Illuminate\Support\Facades\Cache; use App\Services\Quickbooks\QuickbooksService; use App\Services\Quickbooks\Transformers\ClientTransformer; diff --git a/app/Services/Quickbooks/QuickbooksService.php b/app/Services/Quickbooks/QuickbooksService.php index 65846cdcf0..36b6daabf7 100644 --- a/app/Services/Quickbooks/QuickbooksService.php +++ b/app/Services/Quickbooks/QuickbooksService.php @@ -62,25 +62,28 @@ class QuickbooksService private function init(): self { - $config = [ - 'ClientID' => config('services.quickbooks.client_id'), - 'ClientSecret' => config('services.quickbooks.client_secret'), - 'auth_mode' => 'oauth2', - 'scope' => "com.intuit.quickbooks.accounting", - 'RedirectURI' => $this->testMode ? 'https://grok.romulus.com.au/quickbooks/authorized' : 'https://invoicing.co/quickbooks/authorized', - 'baseUrl' => $this->testMode ? CoreConstants::SANDBOX_DEVELOPMENT : CoreConstants::QBO_BASEURL, - ]; + if(config('services.quickbooks.client_id')) + { + $config = [ + 'ClientID' => config('services.quickbooks.client_id'), + 'ClientSecret' => config('services.quickbooks.client_secret'), + 'auth_mode' => 'oauth2', + 'scope' => "com.intuit.quickbooks.accounting", + 'RedirectURI' => $this->testMode ? 'https://grok.romulus.com.au/quickbooks/authorized' : 'https://invoicing.co/quickbooks/authorized', + 'baseUrl' => $this->testMode ? CoreConstants::SANDBOX_DEVELOPMENT : CoreConstants::QBO_BASEURL, + ]; - $merged = array_merge($config, $this->ninjaAccessToken()); + $merged = array_merge($config, $this->ninjaAccessToken()); - $this->sdk = DataService::Configure($merged); - - $this->sdk->enableLog(); - $this->sdk->setMinorVersion("75"); - $this->sdk->throwExceptionOnError(true); - - $this->checkToken(); + $this->sdk = DataService::Configure($merged); + $this->sdk->enableLog(); + $this->sdk->setMinorVersion("75"); + $this->sdk->throwExceptionOnError(true); + + $this->checkToken(); + } + $this->invoice = new QbInvoice($this); $this->quote = new QbQuote($this);