Skip to content

Python server that uses QuickBooks Web Connector to access QuickBooks Desktop.

License

Notifications You must be signed in to change notification settings

BillBarry/pyqwc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a python application used to access QuickBooks Desktop.

It is alpha software, beware.

To access Quickbooks this module uses the Quickbooks Web Connector . The design of the QuickBooks Web Connector (QWC) determines the underlying structure of this module.

The core of this is a soap server, called pyqwc. pyqwc takes requests from the user/client in XML, passes those off to QuickBooks via the QWC. It then takes the XML response from QWC and passes them back to the user/client. This is a very asyncronous process because pyqwc does not directly contact the QWC, it instead has to wait for the QWC to contact it. To handle this asynchronous process, all messages are passed back and forth via Redis. The request XML is placed in a specific Redis list and the response is passed back in another Redis list.

That describes the base layer, a soap server that basically passes messages back and forth between Redis and the QWC. Above that base layer you can build any type of client to generate the XML requests, put them in Redis and retrieve the responses back from Redis. There are examples of clients in the clients subdirectory.

The soap server is written in python using the Spyne module and can be deployed using WSGI.

In order for QuickBooks to use the QWC, you must install a qwc file. An example is included.

Guidance provided by

The QBWC programmer's guide.

ricardosasilva's django-to-quickbooks-connector

The spyne Hello World example.

Reference source for QBooks SDK.

Nice explanation on how to install the qwc file.

A file config.ini is needed but not included in the distribution. Here is an example.

[qwc]
# the Quickbooks file you are accessing
qbwfilename = "c:\data\QBDATA\qbfilename.QBW"

#username and password used by quickbooks web connector to access your service
# username should be the same as in pyQBWC.qwc
username = "qbwcuser"
# password given here is entered when you install the pyqwc.qwc file
#double click the qwc file in Windows and Quickbooks will prompt you for the password
password = "gbwcpassword"
[sqlite]
dbfile = 'ourQB.db'
[redis]
host = '127.0.0.1'
port = 6379
password = ""
db = 0

About

Python server that uses QuickBooks Web Connector to access QuickBooks Desktop.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages