Skip to main content
A firm using both Zeno’s QuickBooks sync and Zeno for QuickBooks Desktop has two programs driving one QuickBooks installation. QuickBooks serves one caller at a time, so they need to take turns. This only applies when both are installed on the same workstation.

What collides

The QuickBooks request processor is single-threaded and holds one company file. A batch holds its session for the whole run — deliberately, since opening a session per entry would add minutes to a large batch. While a batch is running, a Web Connector sync starting up gets refused. While a sync is running, a batch fails to start. Neither corrupts anything: the loser gets an error and the work stays queued. The symptoms don’t announce themselves as a collision, so recognise them:
  • A batch fails at entry 1 with a session error, having posted nothing.
  • The Web Connector logs a failed session and retries on its next cycle.
  • A run in the console shows as aborted with QuickBooks’ message against it.

Scheduling around it

Set the Web Connector’s auto-run interval so it doesn’t fire during the hours anyone runs batches. In the Web Connector window, clear Auto-Run for the Zeno application, or set the interval wide enough to work between cycles. If you post batches during the day, run the sync overnight. Session Collision Interlock Schedule

Recovering from a collision

Nothing is lost either way. A batch that aborted — open the run in the console. Entries that posted are recorded. Plan the same batch again: anything already posted comes back as already posted and is skipped, so re-applying is safe. Aborted Run Safe Recovery Card A sync that failed — the Web Connector retries on its next cycle. Queued items stay queued.

Running them on separate machines

Where a firm has the machines for it, the cleanest arrangement is the Web Connector sync on the server or back-office PC that hosts the company file, and batch posting on the bookkeeper’s workstation. QuickBooks still allows one caller at a time against a given company file, so this doesn’t remove the constraint. It does separate the scheduled work from the interactive work, which makes the interactive side predictable.