1.1 "Cannot find Default Credentials"
Where it appears: QB_Auth__e platform event (Is_Success__c = false), displayed in the QuickBooks Connect UI.
Cause: The Quickbooks_Credentials__c protected custom setting does not have a record named Default. This record is created automatically by PostInstallScript on fresh install but may be missing in orgs that had the package manually set up or had their custom settings wiped.
Fix:
-
Go to Setup → Custom Settings → Quickbooks Credentials → Manage.
-
Verify that a record named
Defaultexists withClient_ID__c,Client_Secret__c, andState_URL__cpopulated. -
If missing, re-run
PostInstallScript.createDefaultCredentials()in Anonymous Apex, or manually insert the record.
1.2 "Response not found" / "RESPONSE NOT FOUND" on QB records
Where it appears: Status_Description__c on Quickbooks_Customer__c, Quickbooks_Invoice__c, etc.
Cause: The QBO API call returned a response but the connector could not parse a valid entity from it. This usually means the QBO API returned an error body (Fault) instead of the expected entity JSON, or the network call failed silently.
Fix:
-
Check the
Status_Description__cfield for the raw error message appended by the batch class (e.g.,BatchSFQBCustomerSync.execute RESPONSE NOT FOUND). -
Open Setup → Apex Jobs and locate the relevant batch (
BatchSFQBCustomerSync,BatchSFQBInvoiceSync, etc.) to check for apex exceptions in the debug log. -
Retry the sync manually via the QuickBooks UI button on the record after resolving the underlying cause.
1.3 DefaultCompanyId showing "test"
Where it appears: All sync batch classes check CMQBConnectorUtility.getDefaultCompanyId(). If this returns "test", company assignment is skipped.
Cause: No QBO company has been connected yet, or the DefaultCompanyId and DefaultCompanyRecordId settings in Quickbooks_Common_Settings__c were not updated after authorization.
Fix:
-
Go to Admin Setup in the QuickBooks app and complete the authorization flow. After successful authorization,
QBAuthControllerautomatically setsDefaultCompanyIdandDefaultCompanyRecordId. -
Verify the values: Setup → Custom Settings → Quickbooks Common Settings → Manage → look for
DefaultCompanyId(should be the QBO realmId, not"test") andDefaultCompanyRecordId(should be the Salesforce record ID of theQuickbooks_Company__crecord).
1.4 "No Mapping found for this object" / "Mapping not found"
Where it appears: CMQBConnectorUtility.getFieldMappings() — surfaced in the QuickBooks UI when trying to sync a record.
Cause: No Custom_Field_Mapping__c record exists for this Salesforce object + company combination.
Fix:
-
Open the Admin Setup tab → Field Mapping section.
-
Ensure a mapping is configured for the relevant object (e.g.,
Account,Opportunity,Contact) and the correct Quickbooks Company. -
If you recently added a new company, field mappings must be set up separately for each
Quickbooks_Company__crecord.