Sync App Crashing Upon Startup
There are reports of Sync App crashing at startup after upgrading QuickBooks from version 19 to version 20.
As of June 16, 2021, version 5.5.3 (stable) is now available and resolves all QBXML version issues.
Update (2020-12-17 7:20pm EST):
I updated a test machine to the latest update of QB 2021, and it DID increment the QB SDK version to 14. So it WILL cause this same issue even on version 21 if it's updated to the latest version.
Version 5.5 of the sync app will be released later today and WILL resolve this issue.
Update (2020-12-17 2:20pm EST):
Version 5.5.0 is ready and will be published within the next day. There will be some additional testing with it prior to release, but should be available in the next 24 hours. Thanks for your patience with this unexpected issue.
Update (2020-12-17 12:20pm EST):
A patch is being worked on for the current version 5.4.1. The new update will likely be versioned to 5.5.0 and will include support for QB SDK version 14. I will publish an update once the patch is completed and tested.
After some testing and troubleshooting, the cause has been determined. QuickBooks version 20 (2020) is reporting a "QBXMLVersionSupported" list to include version 14 - which is a brand new version of the QB SDK.
Our sync app code runs a query against the QB Host which returns a list of supported XML versions. We then use that to set the XML version we will use on all subsequent API calls. However, our QB SDK version is still at QBXML version 13. So when we specify version 14, this causes an exception and the sync app crashes.
' save QBXML version supported QBXMLV = qbh.SupportedQBXMLVersionList.GetAt(qbh.SupportedQBXMLVersionList.Count - 1) Dim vv() As String = QBXMLV.Split(".") Try QBXMLMajorVersion = vv(0) QBXMLMinorVersion = vv(1) Catch ex As Exception ' fall back to vers 6 QBXMLMajorVersion = 6 QBXMLMinorVersion = 0 End Try
Here is the log output on QuickBooks 20 (2020) reporting the QBML version as 14.
[12/17/2020 1:27:16 AM]: Initializing... [12/17/2020 1:27:17 AM]: Fetching Sync key from QB meta... [12/17/2020 1:27:19 AM]: Checking QuickBooks Connection... [12/17/2020 1:27:20 AM]: QuickBooks Connected: QBXML Version 14.0 [12/17/2020 1:27:20 AM]: Checking QB Sync Service... [12/17/2020 1:27:20 AM]: Qb Sync Version (active) 188.8.131.52, Published 7/29/2018
This is what QuickBooks version 21 (2021)
[12/7/2019 11:01:58 PM]: Initializing... [12/7/2019 11:01:59 PM]: Fetching Sync key from QB meta... [12/7/2019 11:02:10 PM]: Checking QuickBooks Connection... [12/7/2019 11:02:11 PM]: QuickBooks Connected: QBXML Version 13.0 [12/7/2019 11:02:11 PM]: Checking QB Sync Service... [12/7/2019 11:02:13 PM]: Qb Sync Version (active) 184.108.40.206, Published 7/29/2018 [12/7/2019 11:02:14 PM]: Testing Sync Key... [12/7/2019 11:02:14 PM]: Authentication test successful
With QuickBooks version 20, it reaches to the point of retrieving the QBXML version (14), and then crashes upon making the next request to the company file.
When attempting to reproduce the issue above, QuickBooks 2021 was installed as it's the most recent QB version. However, I could not reproduce the error, and that is because QuickBooks 2021 is reporting a QBXMLVersionSupported with a maximum value of 13 - which IS supported by our current sync app. I am not sure why version 2021 shows a QBXML version of 13, but 2020 returns a QBXML version of 14.
I am working with Intuit to see why the last two major versions are reporting different QBXML supported values.