Skip to main content
The QuickBooks Online (QBO) connector gives DeskMate access to:
  • Customers and vendors — read, create, update
  • Invoices (money in) and bills (money out) — read, create, update
  • Items (products/services) and the chart of accounts — read, create
  • Payments, bill payments, estimates, credit memos, purchases, journal entries — read
  • Reports — Profit & Loss, Balance Sheet
Setup is one-click OAuth — no Intuit developer console work required.
DeskMate never sends an invoice to your customer — it creates and updates records in QuickBooks, and sending stays a deliberate human step in QuickBooks itself.

How QuickBooks models things

Two distinctions matter when asking DeskMate for data:

Customers ≠ Vendors

QuickBooks keeps them in separate lists — there’s no combined “contacts” entity like Xero or MYOB has.

Invoices ≠ Bills

Invoices are money in (receivables); bills are money out (payables).

Prerequisites

  • A QuickBooks Online subscription (any tier)
  • A user account with Master Admin or Company Admin role on the QBO company

Connect

  1. In DeskMate, open Workspace → Connectors
  2. Click Connect on the QuickBooks Online tile
  3. You’ll be redirected to Intuit’s sign-in
  4. Sign in and pick the company (QBO “realm”) to grant DeskMate access to
  5. Click Connect
  6. You’re redirected back to DeskMate — the tile turns green
QuickBooks calls each company a “realm” and gives it a numeric ID (the realmId). DeskMate captures this automatically during OAuth; you don’t need to enter it.

One connection = one company

Each Intuit consent authorises one QuickBooks company. Practices managing several companies connect them one at a time — DeskMate targets the most recently connected company. This differs from Xero, where a single consent grants every organisation at once.

Sandbox vs production

DeskMate workspaces are configured against either QuickBooks Sandbox (for testing) or QuickBooks Production. Your account manager will tell you which one applies. If you’re testing in sandbox before your go-live: When you go live, your DeskMate workspace gets re-pointed to production and you connect again to your real QBO company.

Verify it’s working

Try this in DeskMate chat:
You should see results within a few seconds.

The approval rail

Like Xero, all write operations against QBO — creating invoices, posting bills, reconciling expenses — go through DeskMate’s approval rail. Each proposed write is sent as an Adaptive Card to Teams or Slack and only applied after a human approves.

Troubleshooting

”Token expired” within an hour of connecting

QuickBooks access tokens are short-lived (~1 hour) but DeskMate auto-refreshes using the refresh token. If you see expiry errors persistently, the most common cause is that the refresh token wasn’t saved. Disconnect and reconnect.

”company is not in production” / “company is sandbox”

Your DeskMate workspace is configured for the opposite environment from the company you’re trying to connect. Email support to swap environments, or use a different QBO company.

”QuickBooks didn’t return which company you authorised”

The consent finished without Intuit saying which company was picked — usually from cancelling part-way through the consent screen. DeskMate deliberately saves nothing in that case (a connection with no company can’t read anything), so just click Connect again and complete the consent, making sure you select a company. If an older connection shows “no QuickBooks company attached” in its health panel, it predates that check — reconnect to fix it.

Reads stop working after months of inactivity

Intuit expires refresh tokens after 100 days of inactivity. Reconnect from Workspace → Connectors.

Invoices created but PDFs look wrong

PDF generation is Intuit’s job, not DeskMate’s. Check Settings → Custom form styles in QuickBooks Online.

Disconnecting

In Workspace → Connectors, click Disconnect. To revoke at the Intuit side, go to My Apps at appcenter.intuit.com/myapps and disconnect DeskMate.