Skip to main content

qwc-middleware

SOAP service for connecting to QuickBooks webconnector.

Built using the framework built by Bill Barry in: https://github.com/BillBarry/pyqwc

Updated for use with python3, WebConnector version 2.3.0.207, and rapid proto-typing of different QuickBooks objects.

Useage

qwc is a soap server with built in client that uses redis to queue raw QBXML to be processed by the QuickBooks WebConnector. This is an asynchronous process that requires the client to listen for when work has been completed by the QBWC.

[client] >> sends qbxml >> [redis]

[QBWC] >> checks redis for new tickets >> [redis]

[redis] >> sends qbxml via ticket >> [QBWC]

[QBWC] >> process ticket and returns reslt/error >> [redis]

[client] >> query or subscribe to redis for result >> [redis]

Install the package in a fresh environment:

python -m venv .venv 

then in install the package with pip:

python -m pip install qwc

Or get the latest development version from github:

python -m pip install git+https::/github.com/bill-ash/qwc-middleware

If no config.ini file is found in the local directory, the default included with the package will be used:

[qwc]
qbwfilename = ''

username = 'qbwcuser'
# Password entered when install the .qwc file to QuickBooks WebConnector.
password = 'test'
host = 'localhost'
port = 4244

[redis]
host = '127.0.0.1'
port = 6379
password = ''
db = 0

Install the pyqwc.qwc file to the QuickBooks WebConnector by opening the WebConnector, File >> AppManagement >> Update Web Services and choose pyqwc.qwc. The default password is test.

Start the service with:

python -m qwc.scripts.start_server

Then, in a new terminal start a new session adding commands to be executed with the client.

qwcClient = QBWCClient()

reqXML = add_customer('SuperCustomer123')

# Send the request to Redis to be processed by QuickBooks WebConnector 
qwcClient.sendxml(reqXML)

Check the examples directory for additional information.

Once new work has been delivered to the Redis queue, run an update from the QuickBooks WebConnector to execute the pending work to be performed.

Sample .qwc file

Below is a sample .qwc file to be installed to the QuickBooks WebConnector:

<?xml version="1.0"?>
<QBWCXML>
    <AppName>QWCTestService</AppName>
    <AppID></AppID>
    <AppURL>http://localhost:4244/qwc/</AppURL>
    <AppDescription>Python access to Quickbooks</AppDescription>
    <AppSupport>http://localhost:4244/</AppSupport>
    <UserName>qbwcuser</UserName>
    <OwnerID>{6801a7d2-3fb4-4643-8ef0-5e702b99521e}</OwnerID>
    <FileID>}495b6884-e33f-4dba-9ecc-a3bbad96a971}</FileID>
    <QBType>QBFS</QBType>
    <Scheduler>
        <RunEveryNMinutes>60</RunEveryNMinutes>
    </Scheduler>
</QBWCXML>

Save this file with a .qwc extension to successfully install to the WebConnector.

Example

from qwc.client import QBWCClient
from qwc.objects import add_customer
from qwc.service import start_server

# Create the QBXML
customer = add_customer(name='BillAsh123')

# Start a new client 
client = QBWCClient()

# Deliver the QBXML to redis to be processed 
client.sendxml(customer)

# Start the server and then update the installed service from QuickBooks WebConnector
start_server()

Metadata

Release files for qwc 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qwc 0.0.1
File Size Uploaded Provenance Actions
qwc-0.0.1.tar.gz 10.8 kB Without provenance Details for qwc-0.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for qwc 0.0.1
File Interpreter ABI Platform Actions
qwc-0.0.1-py3-none-any.whl Python 3 none any Details for qwc-0.0.1-py3-none-any.whl

Total release size: 21.5 kB

Release files / qwc-0.0.1.tar.gz

Download URL qwc-0.0.1.tar.gz
Size 10.8 kB
Tags Source
SHA-256 checksum
How to use checksums
b1464c4b682fa7e1c6495c0ef5579a90bf02bcdc96bcc5a2c03b78f4a5c7476c
BLAKE2b-256 checksum
How to use checksums
c42e8592e2efcc36b206610378b6845bef1d2c14c4c8565e287412851383d74f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.8.10

Release files / qwc-0.0.1-py3-none-any.whl

Download URL qwc-0.0.1-py3-none-any.whl
Size 10.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a9449a6a6c8e3bee9d071154368eb88512bae01798d4a08540bb4af45fbda9f8
BLAKE2b-256 checksum
How to use checksums
51c1671f9ef2c0242c66dcdbc2f930b7ecc7f9ab21525d08728f8f6c687d733c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.8.10

Security for qwc 0.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page