[QODBC-Desktop] Troubleshooting - QuickBooks - Could not start QuickBooks - Microsoft Office 365
Issue:
Could not find or create an instance of QuickBooks using InstanceFinder
The customer is using MS Access - Office 365 QuickBooks 2017 C:\Quickbooks2010\Kristom International Inc.qbw
The issue is limited to a single company file. When using auto-login to the QuickBooks company file and the QuickBooks company file is opened, on connecting, we get "Could not find or create an instance of QuickBooks using InstanceFinder." If the QuickBooks company file is not loaded, we try to connect; QuickBooks will load the company file (auto login) and connect.
------
The customer is using MS Excel - Office 365 QuickBooks 2024 When the issue occurs, we see the QuickBooks UAC prompt. When we run QuickBooks and MS Access in "Run as Administrator" the issue cannot be reproduced.
We do not think it is a permission issue because if we unload the company file and try to connect, QuickBooks will load the company file and connect.
We have verified the QuickBooks company file path on QuickBooks and MS Excel.
Reason:
"Could not start QuickBooks" after upgrading/installing QuickBooks 2022/2023/2024 is a known QuickBooks SDK issue.
The issue is not limited to QODBC. The problem affects all the applications that use the Intuit QuickBooks SDK.
Issue:
I am using QuickBooks Enterprise Edition 2019 Office 365 Windows 10 QuickBooks SDK
QuickBooks SDK is unable to find an instance of the QuickBooks application when QuickBooks company file is specified. Could not find or create an instance of QuickBooks using InstanceFinder
QuickBooks SDK is trying to open a new QuickBooks application, and it is showing UAC message when connecting to QuickBooks SDK using MS Access 365 and ultimately causing MS Access crash. When using the same MS Access file in Office 2010, it is working as expected.
Workaround: (Updated on 2026-07-27)
This is a known limitation of QuickBooks SDK and QuickBooks.
Running both (QuickBooks & Excel) as Administrator:
- Bypasses UAC file virtualization
- Both processes run in the same elevated security context
- File path validation succeeds because both have full access
Details:
The issue has been reported to Intuit. The following are the Case IDs.
00107744 00076952 00042237 & QBWG-79716
The following are findings/reply from the Intuit Developer team.
Summary: We encountered an issue where O365 Excel (Microsoft 365) was unable to directly instantiate the QBFC13.QBSessionManager COM object with a company file path specified in BeginSession. This resulted in Runtime Error 0x80040408 (Object not found).
Root Cause: Microsoft 365 Excel runs in a sandboxed process that restricts direct COM object access and local file path resolution for external applications. This is a Microsoft 365 architectural security restriction, not a QuickBooks SDK issue. Legacy Excel 2010 was unaffected due to its non-sandboxed execution model.
Workaround: PowerShell COM Bridge for O365 Excel + QBD Integration
Spawning a PowerShell child process from Excel via WScript.Shell.Run which instantiates QBFC13.QBSessionManager outside the O365 sandbox. The PowerShell process runs under normal user permissions without requiring admin rights and successfully resolves the company file path and establishes the QB session.
Working Code:
Sub Button1_Click() Dim cmd As String cmd = "powershell -Command ""$qb = New-Object -ComObject QBFC13.QBSessionManager; " & _ "$qb.OpenConnection('', 'QBFC-Test-App'); " & _ "$qb.BeginSession('C:\Users\Public\Documents\Intuit\QuickBooks\Company Files\Raj Enterprizes.qbw', 1); " & _ "$qb.EndSession(); $qb.CloseConnection()"""
' Execute synchronously — waits for completion before continuing Dim wsh As Object Set wsh = CreateObject("WScript.Shell") wsh.Run cmd, 1, True
MsgBox "QBFC Connection Done - OK" End Sub
What the Code Does:
cmd = "powershell -Command ""$qb = New-Object -ComObject QBFC13.QBSessionManager; ..." wsh.Run cmd, 1, True
It spawns a PowerShell process outside the O365 Excel sandbox that handles the QB COM connection independently.
Why This Works (Root Cause Resolution):
|
Layer
|
O365 Excel (Direct)
|
PowerShell Process
|
|
Process context
|
Sandboxed
|
Outside sandbox
|
|
COM object access
|
Blocked
|
Full access
|
|
File path resolution
|
Blocked
|
Normal user permissions
|
|
Admin rights required
|
Yes
|
No
|
Test Conditions:
-
O365 Excel, non-admin user
-
QB Desktop running with company file open
-
PowerShell executed synchronously via wsh.Run cmd, 1, True
Result: Connection established successfully.QBFC Connection Done - OKconfirmed.
Note: This workaround is only recommended if the user does not have admin rights. If the user does have access to it, allow them to open the files with “Run as Administrator”
|