{
  "slug": "quickbooks-desktop",
  "url": "https://apps.sectorgrowth.com/integrations/quickbooks-desktop/",
  "name": "QuickBooks Desktop",
  "vendor": "Intuit",
  "aliases": [
    "QuickBooks Desktop Enterprise",
    "QuickBooks Enterprise",
    "QuickBooks Pro",
    "QuickBooks Premier"
  ],
  "website": "https://quickbooks.intuit.com/desktop/",
  "category": {
    "slug": "erp-and-accounting",
    "name": "ERP and accounting",
    "url": "https://apps.sectorgrowth.com/categories/erp-and-accounting/"
  },
  "summary": "QuickBooks Desktop keeps the books in one company file on a Windows machine. What Intuit's Web Connector lets HubSpot read and write, and the build hours.",
  "answer": "Not from HubSpot or Intuit: as of September 2026 the HubSpot App Marketplace lists one app named for Desktop, QuickBooks Desktop SYNC, Data Lake, AI, MCP by Commercient, which is third-party, and HubSpot's own QuickBooks app is built for QuickBooks Online. We recommend a custom API integration that Intuit's Web Connector calls from the QuickBooks machine on a schedule, at 70 to 150 build hours. It runs only while that machine is up, and a planned move to QuickBooks Online makes it unnecessary.",
  "nativeApp": {
    "status": "third-party",
    "name": "QuickBooks Desktop SYNC, Data Lake, AI, MCP by Commercient",
    "developer": "Commercient",
    "verifiedAt": "2026-09-28"
  },
  "api": {
    "style": "soap",
    "auth": "soap",
    "webhooks": "no",
    "changedSince": "yes",
    "sandbox": "yes",
    "docsUrl": "https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop"
  },
  "objects": [
    {
      "source": "Customer (sublevel 0)",
      "hubspot": "company",
      "direction": "to_hubspot",
      "key": "ListID, held in a custom HubSpot property",
      "notes": "The full name changes when a customer is renamed. The ListID never does."
    },
    {
      "source": "Job (a customer with a parent)",
      "hubspot": "custom",
      "direction": "to_hubspot",
      "key": "ListID, associated through its parent's ListID",
      "notes": "Jobs and subjobs come back in the same customer query, one sublevel deeper each."
    },
    {
      "source": "Customer contact (ContactsRet)",
      "hubspot": "contact",
      "direction": "to_hubspot",
      "key": "The contact's own ListID, with email as the readable match",
      "notes": "The contact list arrived with qbXML 12.0; older files keep one contact on the customer."
    },
    {
      "source": "SalesOrder",
      "hubspot": "deal",
      "direction": "to_hubspot",
      "key": "TxnID, with the order's reference number as the label",
      "notes": "Pro has no sales orders, so estimates take their place there."
    },
    {
      "source": "Invoice",
      "hubspot": "custom",
      "direction": "to_hubspot",
      "key": "TxnID, associated to the customer or job it bills"
    },
    {
      "source": "Item",
      "hubspot": "product",
      "direction": "to_hubspot",
      "key": "ListID",
      "notes": "Items are hierarchical too, so the full name carries the parent item's name."
    }
  ],
  "approaches": [
    {
      "kind": "custom",
      "fit": "recommended",
      "why": "A custom API integration behind Intuit's Web Connector reads changes, deletions and restores through qbXML, keys on ListID and TxnID, and can write back through QuickBooks' own validation when a second phase needs it."
    },
    {
      "kind": "skyvia",
      "fit": "possible",
      "why": "Skyvia documents syncing QuickBooks Desktop with cloud apps through its agent, which suits a stable one-way mapping. The agent has to run as an application, not a service, under the same Windows user as QuickBooks, so a signed-in session has to stay up."
    },
    {
      "kind": "native",
      "fit": "possible",
      "why": "Commercient's QuickBooks Desktop listing is a third-party sync whose mapping and support stay with Commercient. It suits a standard customer and invoice copy where nobody on your side wants to run a service."
    }
  ],
  "connectionMethods": [
    "api",
    "ipaas"
  ],
  "effort": {
    "discoveryHours": [
      10,
      20
    ],
    "buildHours": [
      70,
      150
    ],
    "buildBand": "70 to 150 hours",
    "typicalElapsed": "4 to 8 weeks"
  },
  "pattern": "polling-watermark",
  "faqs": [
    {
      "q": "Does HubSpot's own QuickBooks app work with QuickBooks Desktop?",
      "a": "HubSpot builds its QuickBooks app for QuickBooks Online, and its setup article names only QuickBooks Online throughout. For a Desktop company file, the HubSpot App Marketplace lists one app named for Desktop, QuickBooks Desktop SYNC, Data Lake, AI, MCP by Commercient, with about 120 installs in the marketplace's own count. Beyond that, a Desktop file needs the Web Connector route or a move to Online."
    },
    {
      "q": "Can a business still buy QuickBooks Desktop Pro or Premier?",
      "a": "Not as a new subscriber. Intuit stopped selling new Desktop Pro Plus, Premier Plus and Mac Plus subscriptions in the United States after September 2024, and stopped selling Desktop Pro and Premier to new Canadian subscribers in April 2025. Existing subscribers can keep renewing, and Desktop Enterprise is still sold in both countries. That timeline belongs in any decision to build."
    },
    {
      "q": "How often does QuickBooks Desktop sync with HubSpot through the Web Connector?",
      "a": "On the Web Connector's schedule, which the user sets and cannot set below one minute in its own screens. Intuit is clear that the schedule is a minimum gap rather than a guarantee, and that nothing runs while the Web Connector is closed. Most finance data is fine hourly, so we agree an interval in discovery and alert when a session does not arrive."
    },
    {
      "q": "What happens when QuickBooks Desktop is closed at sync time?",
      "a": "The session fails and nothing is lost. The Web Connector reports that it could not reach QuickBooks, most often because QuickBooks is not running, no company file is open or a dialog box is waiting. Our service records the missed session and alerts on it, and the next successful run reads everything modified since the last watermark. Authorizing unattended mode, which starts QuickBooks in the background, removes the first cause."
    },
    {
      "q": "Why do QuickBooks Desktop jobs turn into extra HubSpot companies?",
      "a": "Because QuickBooks lists jobs and subjobs as customers with a parent, and a customer query returns them all together. Mapping every row to a company creates one company per job. We map rows with a sublevel of zero to companies, write deeper rows to a job object, and key everything on the ListID, which never changes, rather than the full name, which does."
    },
    {
      "q": "When does a QuickBooks Desktop sync need a full reload?",
      "a": "In three cases Intuit describes. Deleted list records are reported only for the previous three months, so a longer pause needs a full comparison. A company file restored from a backup needs a full reread, which the last restore time reveals. And balances and quantities on hand change through transactions without the account or item being marked modified. We check for all three on every run."
    },
    {
      "q": "Does QuickBooks Desktop for Mac work with a HubSpot integration?",
      "a": "Not through Intuit's SDK, which Intuit says covers the QuickBooks desktop family except QuickBooks for the Mac, and the not-for-resale copies Intuit gives developers exclude the Mac as well. Intuit also stopped selling Mac Plus to new US subscribers after September 2024. For a Mac company file, we would look at a move to QuickBooks Online first."
    },
    {
      "q": "What does a QuickBooks Desktop and HubSpot integration take in hours?",
      "a": "Allow 10 to 20 hours of discovery and 70 to 150 hours of build for six objects with watermarks, deletion checks, replay and reconciliation, including the Web Connector setup. Discovery covers the edition and year, where the company file lives, multi-user mode, any hosting provider and the plan for QuickBooks Online, because that plan can make a one-time load the better buy."
    }
  ],
  "sections": [
    {
      "depth": 2,
      "text": "Why teams connect QuickBooks Desktop to HubSpot",
      "anchor": "#why-teams-connect-quickbooks-desktop-to-hubspot",
      "url": "https://apps.sectorgrowth.com/integrations/quickbooks-desktop/#why-teams-connect-quickbooks-desktop-to-hubspot"
    },
    {
      "depth": 2,
      "text": "What syncs",
      "anchor": "#what-syncs",
      "url": "https://apps.sectorgrowth.com/integrations/quickbooks-desktop/#what-syncs"
    },
    {
      "depth": 2,
      "text": "Architecture",
      "anchor": "#architecture",
      "url": "https://apps.sectorgrowth.com/integrations/quickbooks-desktop/#architecture"
    },
    {
      "depth": 2,
      "text": "Three ways to connect",
      "anchor": "#three-ways-to-connect",
      "url": "https://apps.sectorgrowth.com/integrations/quickbooks-desktop/#three-ways-to-connect"
    },
    {
      "depth": 2,
      "text": "What breaks and how we prevent it",
      "anchor": "#what-breaks-and-how-we-prevent-it",
      "url": "https://apps.sectorgrowth.com/integrations/quickbooks-desktop/#what-breaks-and-how-we-prevent-it"
    },
    {
      "depth": 3,
      "text": "Jobs returned as customers",
      "anchor": "#jobs-returned-as-customers",
      "url": "https://apps.sectorgrowth.com/integrations/quickbooks-desktop/#jobs-returned-as-customers"
    },
    {
      "depth": 3,
      "text": "Deletions older than three months",
      "anchor": "#deletions-older-than-three-months",
      "url": "https://apps.sectorgrowth.com/integrations/quickbooks-desktop/#deletions-older-than-three-months"
    },
    {
      "depth": 3,
      "text": "Modified times from another clock",
      "anchor": "#modified-times-from-another-clock",
      "url": "https://apps.sectorgrowth.com/integrations/quickbooks-desktop/#modified-times-from-another-clock"
    },
    {
      "depth": 3,
      "text": "A restored company file",
      "anchor": "#a-restored-company-file",
      "url": "https://apps.sectorgrowth.com/integrations/quickbooks-desktop/#a-restored-company-file"
    },
    {
      "depth": 3,
      "text": "The wrong company file open",
      "anchor": "#the-wrong-company-file-open",
      "url": "https://apps.sectorgrowth.com/integrations/quickbooks-desktop/#the-wrong-company-file-open"
    },
    {
      "depth": 2,
      "text": "Our approach",
      "anchor": "#our-approach",
      "url": "https://apps.sectorgrowth.com/integrations/quickbooks-desktop/#our-approach"
    }
  ],
  "caseStudies": [],
  "guides": [
    "https://apps.sectorgrowth.com/guides/choose-a-hubspot-integration-approach/",
    "https://apps.sectorgrowth.com/guides/migration-or-integration/"
  ],
  "status": "published",
  "verifiedAt": "2026-09-28",
  "updatedAt": "2026-09-28",
  "authors": [
    {
      "name": "Prash",
      "role": "Lead of Technical Integrations and AI Solutions"
    }
  ],
  "sources": [
    {
      "title": "Get started",
      "url": "https://developer.intuit.com/app/developer/qbdesktop/docs/get-started"
    },
    {
      "title": "Before you start",
      "url": "https://developer.intuit.com/app/developer/qbdesktop/docs/get-started/before-you-start"
    },
    {
      "title": "QuickBooks products supported by the desktop SDK",
      "url": "https://developer.intuit.com/app/developer/qbdesktop/docs/get-started/quickbooks-products-supported-by-the-desktop-sdk"
    },
    {
      "title": "Get started with QuickBooks web connector",
      "url": "https://developer.intuit.com/app/developer/qbdesktop/docs/get-started/get-started-with-quickbooks-web-connector"
    },
    {
      "title": "QuickBooks Web Connector Programmer's Guide",
      "url": "https://static.developer.intuit.com/resources/QBWC_proguide.pdf"
    },
    {
      "title": "QuickBooks SDK Programmer's Guide",
      "url": "https://static.developer.intuit.com/resources/QBSDK_ProGuide.pdf"
    },
    {
      "title": "CustomerQuery",
      "url": "https://developer.intuit.com/app/developer/qbdesktop/docs/api-reference/qbdesktop/customerquery"
    },
    {
      "title": "Not for resale software",
      "url": "https://developer.intuit.com/app/developer/qbdesktop/docs/get-started/not-for-resale-software"
    },
    {
      "title": "Set up QuickBooks Web Connector",
      "url": "https://quickbooks.intuit.com/learn-support/en-us/help-article/install-products/set-quickbooks-web-connector/L4Vp7VI44_US_en_US"
    },
    {
      "title": "Can't buy QuickBooks Desktop as a new US subscriber",
      "url": "https://quickbooks.intuit.com/learn-support/en-us/help-article/new-subscriptions/us-quickbooks-desktop-sold-july-2024/L5lkQNq7L_US_en_US"
    },
    {
      "title": "Understand the QuickBooks Desktop release process",
      "url": "https://quickbooks.intuit.com/learn-support/en-us/help-article/update-products/understand-quickbooks-desktop-release-process/L2tnnGnFE_US_en_US"
    },
    {
      "title": "QuickBooks Desktop Canada | Compare Desktop to Online",
      "url": "https://quickbooks.intuit.com/ca/desktop/"
    },
    {
      "title": "Connect HubSpot and QuickBooks Online",
      "url": "https://knowledge.hubspot.com/integrations/connect-hubspot-and-quickbooks-online"
    },
    {
      "title": "QuickBooks Desktop",
      "url": "https://docs.skyvia.com/connectors/cloud-sources/quickbooksdesktop_connections.html"
    }
  ]
}