The integration with QB is performed by a Python CGI script executed via URL requests. The server must run on the same computer as an active Quickbooks Desktop application – preferably on the machine hosting the QB database. And to be honest, the server is not a true Windows Service, but a Windows command line session running the built-in Python HTTP server. While there is not much actual code, this server was my first experience with Python so it took lot of googling and experimentation. The result is simple, and easy to install. Over the past few days I wrote the ‘QBXML Server'.
![python quickbooks desktop app python quickbooks desktop app](https://www.thecodehubs.com/wp-content/uploads/2020/06/square-payment-integartion-in-asp-net-mvc-3-1280x577.png)
It took about five years, a pandemic and a lot of boredom to give me the motivation to tackle the project. Over the years, I kept hoping someone would develop a simple QBWC type interface that acted like a server. For the past few years, they’ve been using the SDKTestPlus3 application to manually run canned QBXML queries to extract XML data, and then run batch commands invoking XSLT to convert to the data into documents which were then printed. The factory limped along for several years running the IIS Windows SBS 2011 server, but eventually upgrades killed off the website and most of the QB integration.
#Python quickbooks desktop app how to#
I didn’t have the time or fortitude to figure out how to integrate QBWC into their environment. After reading through the documentation, I was not happy to discovered that QBWC was not in fact a server, but actually a client application that polled a server that the users had to write. When Intuit delivered Quickbooks Web Connector (QBWC), I was pretty excited that the QB community would finally have a tool that would make integration with QB quick and easy.
#Python quickbooks desktop app upgrade#
The system worked for years, but there was no easy or practical upgrade path. This system was difficult to maintain and eventually Intuit pivoted away from the DCOM support. External access required firewall rules, SSL Certs and Client Certs to control access. Most of the usage was internal company work, but eventually the web interface grew to include support for the dealer network.
![python quickbooks desktop app python quickbooks desktop app](https://oyoads.in/wp-content/uploads/2020/08/IMG_20200814_125726_209.jpg)
![python quickbooks desktop app python quickbooks desktop app](https://justcode.ikeepstudying.com/wp-content/uploads/2020/06/get-started-4-700x254.png)
The project was relatively painful to get working, but did perform many of the business functions to help automate the factory. The website was written in classic ASP, and the application used the QBXMLRP2e COM interface to connect to Quickbooks. The application, an IIS server and Quickbooks all ran on a Windows Small Business Server. About ten years ago, I developed a web application for a friend who owns a small factory. Integrating applications with Quickbooks can be an adventure.