consolibyte / quickbooks-php

QuickBooks Integration for PHP
Eclipse Public License 1.0
458 stars 338 forks source link

Multiple Sync Issue #307

Closed umesh-kalia closed 2 years ago

umesh-kalia commented 2 years ago

We are using QuickBooks web connector to sync between QuickBooks desktop and our web application for multiple clients. The architecture we are following is as follows:

Web Application/Client1 -> quickbooks-php/Client1 -> Quickbooks Desktop (Client1) Web Application/Client2 -> quickbooks-php/Client2 -> Quickbooks Desktop (Client2) Web Application/Client3 -> quickbooks-php/Client3 -> Quickbooks Desktop (Client3)

It works well when one client is syncing at one time, but when multiple clients sync at the same time, their data gets interchanged i.e. few invoices of client1 are syncing to client2 and vice versa.

Please advise the solution to this issue.

keith-chargeover commented 2 years ago

Are you using a different username for each client (you should be)?

https://github.com/consolibyte/quickbooks-php/blob/master/QuickBooks/WebConnector/Queue.php#L208

umesh-kalia commented 2 years ago

Thanks for your reply.

We copied the whole code in separate subfolders for each client and did not use any common code. But YES, we are using the same username as per this config file for each client. https://github.com/consolibyte/quickbooks-php/blob/master/docs/web_connector/example_app_web_connector/config.php

We use separate qbwc files each for one client with different ownerid and clientid.

But we are wondering that if they are in a separate folder how can the queue of one client can have invoices of another client even if their username is the same.

keith-chargeover commented 2 years ago

The queue is stored in the database. The file/folder structure has no impact here. If you have a single database, but more than one QuickBooks file, then you need more than one username.