I'm trying to build a node service to pull information from Quickbooks Desktop. The most logical route seems to be the Quickbooks Desktop Web Connector.
I have tried with both quickbooks-js and creating a node-soap class from the wsdl and while the server runs fine, I don't see any logs about connections.
From the client side, I have been trying to connect to this nodejs service, but QBWC almost immediately stops responding. This is the full log for attempting to add my connection:
Log file initialized at Monday, January 11, 2021 - 7:44 AM UTC
Timestamp format used: YYYYMMDD.HH:MM:SS UTC QBWebConnector 2.2 has been initialized with its logging status to level = DEBUG. Please restart QBWebConnector for any change in log level to take effect. Use file menu to clear log.20210111.07:44:08 UTC : QBWebConnector.RegistryManager.setUpdateLock() : HKEY_CURRENT_USER\Software\Intuit\QBWebConnector\UpdateLock has been set to False 20210111.07:44:08 UTC : QBWebConnector.RegistryManager.setUpdateLock() : ********************* Update session unlocked ********************* 20210111.07:44:09 UTC : QBWebConnector.RegistryManager.setUpdateLock() : HKEY_CURRENT_USER\Software\Intuit\QBWebConnector\UpdateLock has been set to False 20210111.07:44:09 UTC : QBWebConnector.RegistryManager.setUpdateLock() : ********************* Update session unlocked ********************* 20210111.07:44:09 UTC : QBWebConnector_Load() : QuickBooks Web Connector 2.3.0.198 has started. Monday, January 11, 2021 at 7:44:09 AM 20210111.07:44:09 UTC : QBWebConnector_Load() : QBWC Form Loaded 20210111.07:44:20 UTC : QWCReader.ParseQWC() : Contents of QWC file: - Troubleshoot access via QuickBooks
IDNTS_FS1
https://8001-XXX.ws-eu03.gitpod.io
Helps troubleshoot QBWebConnector for QuickBooks
https://8001-XXX.ws-eu03.gitpod.io
test
{A9A83089-7DA7-4d27-A08C-7E1626E9395A}
{AE931E67-4AA5-4374-A32D-8EA4BEC91981}
QBFS Document
0xF 20210111.07:44:20 UTC : QBWebConnector.WebServiceManager.ReadQWC(QWCReader QWC) : Parsing application configuration xml file to load its content to variables
From the client side, I have tried the Quickbooks testing connection, and received the following logfile (looks like it worked):
Log file initialized at Friday, January 8, 2021 - 12:25 PM UTC
Timestamp format used: YYYYMMDD.HH:MM:SS UTC QBWebConnector 2.2 has been initialized with its logging status to level = DEBUG. Please restart QBWebConnector for any change in log level to take effect. Use file menu to clear log.20210108.12:25:31 UTC : QBWebConnector.RegistryManager.setUpdateLock() : HKEY_CURRENT_USER\Software\Intuit\QBWebConnector\UpdateLock has been set to False 20210108.12:25:31 UTC : QBWebConnector.RegistryManager.setUpdateLock() : ********************* Update session unlocked ********************* 20210108.12:25:31 UTC : QBWebConnector.RegistryManager.setUpdateLock() : HKEY_CURRENT_USER\Software\Intuit\QBWebConnector\UpdateLock has been set to False 20210108.12:25:31 UTC : QBWebConnector.RegistryManager.setUpdateLock() : ********************* Update session unlocked ********************* 20210108.12:25:31 UTC : QBWebConnector_Load() : QuickBooks Web Connector 2.3.0.198 has started. Friday, January 8, 2021 at 12:25:31 PM 20210108.12:25:31 UTC : QBWebConnector_Load() : QBWC Form Loaded 20210108.12:26:19 UTC : QWCReader.ParseQWC() : Contents of QWC file: - Troubleshoot access via QuickBooks
onError="s......
IDNTS_FS1
https://test.developer.intuit.com/QBWC/TroubleshootWebServiceFS/Service.asmx Helps troubleshoot QBWebConnector for QuickBooks
http://developer.intuit.com/QBWebConnector/
test
{A9A83089-7DA7-4d27-A08C-7E1626E9395A}
{AE931E67-4AA5-4374-A32D-8EA4BEC91981}
QBFS Document
0xF 20210108.12:26:19 UTC : QBWebConnector.WebServiceManager.ReadQWC(QWCReader QWC) : Parsing application configuration xml file to load its content to variables 20210108.12:26:30 UTC : QBWebConnector.RegistryManager.createRegKey() : Error creating registry key for appName = <> 20210108.12:26:30 UTC : QBWebConnector.RegistryManager.createRegKey() : Reason: Value cannot be null. Parameter name: name 20210108.12:26:30 UTC : QBWebConnector.SOAPWebService.SerializeToRegistry() : Error saving Troubleshoot access via QuickBooks to Registry: Object reference not set to an instance of an object. 20210108.12:26:30 UTC : QBWebConnector.SOAPWebService.ConnectToQB() : Connecting to QuickBooks... 20210108.12:26:52 UTC : QBWebConnector.SOAPWebService.ConnectToQB() : Connected., Session started 20210108.12:26:52 UTC : QBWebConnector.SOAPWebService.AddToQuickBooks() : Application name = Troubleshoot access via QuickBooks 20210108.12:26:52 UTC : QBWebConnector.SOAPWebService.AddToQuickBooks() : Querying company file to find if owner/file id exists. 20210108.12:26:52 UTC : QBWebConnector.SOAPWebService.findFileIDinQB() : Latest QBXML version supported = v14.0 20210108.12:26:52 UTC : QBWebConnector.SOAPWebService.findFileIDinQB() : Querying QuickBooks for existance of owner/file id 20210108.12:26:52 UTC : QBWebConnector.SOAPWebService.findFileIDinQB() : XML dump follows: -20210108.12:26:53 UTC : QBWebConnector.SOAPWebService.findFileIDinQB() : XML dump follows: -
requestID="......20210108.12:26:53 UTC : QBWebConnector.SOAPWebService.findFileIDinQB() : Status message: A query request did not find a matching object in QuickBooks 20210108.12:26:53 UTC : QBWebConnector.SOAPWebService.AddToQuickBooks() : FileID did not exist. Creating new FileID in company file 20210108.12:26:53 UTC : QBWebConnector.SOAPWebService.registerDataExtInQB() : Creating DataExtDef named FileID assigned to Company object for the ownerID = {A9A83089-7DA7-4d27-A08C-7E1626E9395A} 20210108.12:26:53 UTC : QBWebConnector.SOAPWebService.registerDataExtInQB() : XML dump follows: -
onError="s......20210108.12:26:53 UTC : QBWebConnector.SOAPWebService.registerDataExtInQB() : XML dump follows: -
requestID="1"......20210108.12:26:53 UTC : QBWebConnector.SOAPWebService.registerDataExtInQB() : Data extension definition has been created in QuickBooks for owner id. 20210108.12:26:53 UTC : QBWebConnector.SOAPWebService.AddToQuickBooks() : Registered FileID to company file successfully. 20210108.12:26:53 UTC : QBWebConnector.SOAPWebService.enterDataExtValueInQB() : XML dump follows: -
onError="s......20210108.12:26:53 UTC : QBWebConnector.SOAPWebService.enterDataExtValueInQB() : XML dump follows: -
requestID="1" st......20210108.12:26:53 UTC : QBWebConnector.SOAPWebService.enterDataExtValueInQB() : Data extension value has been created in QuickBooks for FileID 20210108.12:26:53 UTC : QBWebConnector.SOAPWebService.AddToQuickBooks() : Entered FileID value to company file successfully. 20210108.12:26:53 UTC : QBWebConnector.SOAPWebService.registerDataExtInQB() : Creating DataExtDef named AppLock assigned to Company object for the ownerID = {A9A83089-7DA7-4d27-A08C-7E1626E9395A} 20210108.12:26:53 UTC : QBWebConnector.SOAPWebService.registerDataExtInQB() : XML dump follows: -
onError="s......20210108.12:26:54 UTC : QBWebConnector.SOAPWebService.registerDataExtInQB() : XML dump follows: -
requestID="1"......20210108.12:26:54 UTC : QBWebConnector.SOAPWebService.registerDataExtInQB() : Data extension definition has been created in QuickBooks for owner id. 20210108.12:26:54 UTC : QBWebConnector.SOAPWebService.AddToQuickBooks() : Registered the AppLock to company file successfully. 20210108.12:26:54 UTC : QBWebConnector.CompanyFileLock.Send_DataExtDefAddRqXML() : XML dump follows: -
onError="s......20210108.12:26:54 UTC : QBWebConnector.CompanyFileLock.Send_DataExtDefAddRqXML() : XML dump follows: -
requestID="1"......
I tried rolling my own XML connection file based on the spec but I eventually copy-pasta'd the spec and just swapped out the URLs. The only file I can get any log after the variable line for is the Quickbooks test one.
I feel like if I can fix logging, I can at least see what the problem is so I have something to work with. I'm using Quickbooks Pro 2021 if that helps.
Thanks for reading.