TenkeyBridge
← Back to blog

Point your QuickBooks Online integration at QuickBooks Desktop

  • quickstart
  • qbo-compatibility

Your app already speaks QuickBooks Online: OAuth2 tokens, /v3/company/{realmId}/... REST calls, SELECT * FROM Invoice queries. TenkeyBridge's entire pitch is that this code — unchanged — can talk to QuickBooks Desktop and Enterprise.

The swap

- const BASE = "https://quickbooks.api.intuit.com";
+ const BASE = "https://api.tenkeybridge.com";

That is the integration work. Auth is the same OAuth2 authorization-code dance; your user lands on a consent page, approves your app, and you get back an access token scoped to their company file's realm.

Read something

GET /v3/company/{realmId}/query?query=SELECT * FROM Customer STARTPOSITION 1 MAXRESULTS 5
Authorization: Bearer {access_token}

The response is QBO-shaped JSON — QueryResponse.Customer, startPosition, maxResults — except the rows come from a .qbw file on a Windows machine, fetched live through an outbound-only agent. No Web Connector, no polling, no qbXML in your codebase.

Write something

POST an invoice exactly as you would to Intuit — CustomerRef, Line array with SalesItemLineDetail, the works. Desktop-only rules (like customer messages having to match the Customer Message list) come back as normal QBO validation faults with a tkb block explaining the cause and fix.

What to do with this

If you have a QBO app in production, Desktop support is now a settings screen, not a roadmap item. Start with the quickstart, or fire a side-by-side call in the playground first.