Client engagement · anonymized

Connecting Legacy Accounting to Modern Commerce

How we turned an on-premises QuickBooks Desktop catalog into a searchable web storefront, with orders flowing back into accounting automatically and AI categorization that knows when to ask for help.

Accounting ⇄ storefront synchronizationConceptual architecture · anonymized
  1. External system: QuickBooks DesktopOn-premises company file
  2. Process: Web ConnectorPolling qbXML over SOAP
  3. Core system: Integration serviceSessions, paging, mapping
  4. Safeguard: AI categorizerLow confidence → flagged for review
  5. State / data: Catalog + vectorsRelational + semantic index
  6. Entry point: StorefrontHybrid search · assistant

Order return path

  1. Entry point: Web order
  2. Core system: Integration service
  3. Process: Web Connector
  4. External system: QuickBooks sales order

QuickBooks Desktop stays the system of record; the web platform syncs through the Web Connector.

Challenge

The business ran on QuickBooks Desktop. Thousands of parts existed only inside an on-premises company file: no categories, no images, no web presence. Customers search for parts the way they talk, with misspellings and partial part numbers, and every web order had to land back in QuickBooks as a sales order without anyone typing it in twice.

Approach

  • Use the integration QuickBooks Desktop actually supports. The QuickBooks Web Connector polls a SOAP service we built and exchanges qbXML. Large item queries are paged with iterators so a sync never tries to swallow the whole catalog at once.
  • Let AI help, with guardrails. A locally hosted language model proposes a category, subcategory, vehicle type and tags for each item, with a confidence score. Low-confidence results are flagged for a person to review instead of being trusted blindly.
  • Protect the sync from the model. Concurrency limits, adaptive timeouts, a circuit breaker and exponential back-off mean a slow or unavailable model degrades categorization, not order flow.
  • Search for intent, not exact strings. Fuzzy matching handles typos and part numbers; vector search over local embeddings handles meaning.

Implementation

  • A Web Connector SOAP service with session handling and qbXML models for items, inventory, customers and sales orders.
  • Two-way order flow: web orders are written to QuickBooks as sales orders, matched by reference number and marked as web-originated.
  • A queued, batched categorization pipeline with confidence scoring and review flags.
  • Hybrid search (fuzzy + semantic) and a retrieval-augmented assistant that knows stock levels and hands off to customer service when it can't help.
  • An image pipeline with validation, de-duplication by content hash and a blocklist.

Outcome

The accounting catalog became a categorized storefront that tolerates the way customers actually type ("transmision", "alernator"). Orders reach QuickBooks Desktop on the Web Connector's normal sync cycle, with no re-keying.

Technical perspective

The Web Connector is a polling protocol driven from the customer's own machine, so sessions, iterators and pending requests must survive between polls. Putting a language model anywhere near that loop meant designing for the model being slow or absent, so the business never waits on AI to take an order.

Facing something similar?

Tell us about your systems and what needs to change. We’ll tell you honestly whether we can help.

Start a Project

More work

Payments

One API for Many Billers

A regional payments middleware business

  1. Partner client
  2. Security layer
  3. Payments API
  4. Fees & commissions
  5. Biller adapters
  6. Billers & partners

Many heterogeneous billers sit behind a single partner API, and agent cash operations use single-use, expiring codes with bounded attempts.

Read the case study

Financial services

Engineering Reliable Payment & Fulfillment Workflows

A regional consumer financial-services platform

  1. Cardholder
  2. 3D Secure 2
  3. Server-to-server response
  4. Verification
  5. Atomic state change
  6. Fulfillment guard

Replayed, forged and concurrent completions cannot produce a payment or a fulfillment, and gift card issuance can be frozen without stopping checkout.

Read the case study

Commerce

Adding a Multi-Vendor Marketplace to an Existing Platform

A regional consumer financial-services platform

  1. Buyers & sellers
  2. Platform
  3. Stock-sync queue
  4. Sync worker
  5. Commerce engine

Sellers can be onboarded, moderated and paid inside the existing platform, and stock reconciles even when the commerce engine is briefly unavailable.

Read the case study