Business software & accounting

Replacing a QuickBooks Desktop connector with unattended two-way sync

A two-way sync between a SQL Server business system and QuickBooks Online, replacing a legacy Desktop / Web Connector integration. It runs unattended with automatic OAuth token refresh.

Client
Business software company (confidential)
Timeline
2026 · 3 milestones
Records linked automatically
192/194
Unresolved records
0
Client-approved milestones
3
The challenge

The client’s product depended on a QuickBooks Desktop Web Connector integration, and their customers were moving to QuickBooks Online. Accounting data had to stay exactly in step.

The problem

The client's business system kept its accounting in step with QuickBooks Desktop through the Web Connector. As their customers moved to QuickBooks Online, that integration became a dead end. The replacement had to be exact: a missed or duplicated record in accounting is a real problem for a real business.

What we built

A .NET 10 service that keeps the SQL Server system and QuickBooks Online in sync, unattended.

  • Authentication. Intuit OAuth 2.0 with automatic refresh of rotating tokens, so the sync keeps running without anyone logging in.
  • Two-way lists. Customers/Jobs, Vendors, Employees, Items, Classes and Accounts sync both ways using NeedsPush/NeedsPull flags.
  • One-way transactions. Purchase Orders, Time Activities, Journal Entries and Inventory Adjustments push to QuickBooks. Records missing required fields are held back instead of failing the run.

Designed to never skip a record

Sync is incremental, but the checkpoint only moves forward when a run has zero failures, with a safety buffer on top. If anything fails, the next run picks it up again.

Matching existing data

Existing QuickBooks records had to be linked to the business system without creating duplicates. Duplicate detection and Customer → Job → Phase hierarchy resolution linked 192 of 194 records automatically, with none left unresolved.

Built for operations

Configurable sync interval, an on-demand trigger from the legacy VB6 app, per-entity toggles, two admin web screens, per-run summaries and exit codes for monitoring. Delivered in three client-approved milestones.

Have a similar project?

Tell us about your operation, the systems you use, and the challenges you want to solve. Softlaunchers can help you evaluate a practical approach to software development, workflow automation, and integrations for your logistics business.