Skip to content
wirebookby BufferSol

QuickBooks Desktop,
as a normal API

REST, typed TypeScript and Python SDKs, and a connect flow your customers can finish alone. $24.99 per company file.

No card. Unlimited sample company files.

Conductor lists $49 per company file per month (conductor.is, checked 3 Nov 2026). Wirebook by BufferSol charges $24.99. Every price is published.

TestRequest logsample data
const invoice = await wirebook.invoices.create({
  customerId: "cust_8F2A", refNumber: "INV-1042",
  lines: [{ item: "Framing labour", qty: 12, rate: 107.04 }]
}, { idempotencyKey: "acme-inv-1042" }) // 201 in 2.1 s
RequestStateTime
req_01JC9Q4succeeded2.1 s
req_01JC9Q3succeeded1.4 s
req_01JC9Q1succeeded3.0 s
req_01JC9P8failed3140 Invalid reference. Guide: /errors/31401.9 s
req_01JC9P5outcome unknowntimed out
req_01JC9P2queuedwaiting

6 requests3 succeeded1 failed1 outcome unknown1 queued

QuickBooks Desktop has no cloud API

To read one invoice you host a SOAP server for the Windows only Web Connector, speak order sensitive qbXML, decode errors like 0x80040400, and support your customers' Windows machines.

From our error catalogue
  • QBWC1085The Web Connector could not write its log file, so the update stopped. Fix the log path permissions, then run it again.
  • 0x80040408QuickBooks could not open the company file. Open the file on the PC and leave it open.
  • 3140A reference does not match a record in this company file. Fix the name or pass the ListID.
  • 3100The name is already in use by another record. Use the existing record or pick a new name.

Your app makes a normal API call. Wirebook by BufferSol handles the Web Connector.

What you get

Coming in v1: a C# SDK and a hosted MCP server with read only mode.

  • POST invoices · acme-inv-1042succeeded

    POST invoices · acme-inv-1042replayed

    Sample data. Same key, same body: one invoice.

    One call, one invoice, never two

    Send an Idempotency-Key on every write. We replay it for 7 days. A different body with the same key returns 409.

  • { "type": "invalid_reference",
      "code": "3140",
      "userFacingMessage": "CustomerRef does not match a customer.",
      "guideUrl": "/errors/3140",
      "retryable": false,
      "requestId": "req_01JC9P8" }

    Errors that say what to do

    One error object: type, code, userFacingMessage, guideUrl, retryable, requestId. Thirty guides at launch. Same input, same message, no AI model.

    1. 00:00.0Queued for Harlan Mechanical
    2. 00:00.4Sent on Web Connector poll
    3. 00:01.7QuickBooks replied, status 0

    A request log with lifecycle states

    queued, sent, succeeded, failed, outcome_unknown. If a request was sent but no answer came back, it is marked outcome_unknown and never retried for you.

    1. Download the connector file
    2. Allow access in QuickBooks
    3. Paste the password
    4. Connected
    5. Mockup. Each step turns green only when our server saw it.

    A connect flow your customer finishes alone

    Four steps, and each one turns green only when our server saw it. The link is valid for 24 hours.

  • TypeScript await wirebook.customers.list()

    Python wirebook.customers.list()

    cURL curl -H "Authorization: Bearer sk_test_…" /v1/qbd/customers

    Typed SDKs and a raw escape hatch

    TypeScript with async iterators and retries, and Python with sync and async clients, both generated from OpenAPI 3.1. Any valid qbXML works through passthrough.

  • sk_test_••••••••••••Test

    sk_live_••••••••••••Production

    Mockup. Shown once, stored as a SHA-256 hash.

    Test and Production keys, kept apart

    Keys are shown once, stored as SHA-256 hashes and revocable within 5 seconds.

From sign up to first request

  1. Step 1: Create a key and an end user

    Sign up, create an sk_test_ key, add your customer and get a connect link valid for 24 hours.

    POST /v1/connect-links
    { "externalId": "acme-42" }
    connect link: valid 24 hours (sample)
  2. Step 2: Your customer connects

    They open the link on the QuickBooks PC, download a .qwc file, choose Yes, always allow access even if QuickBooks isn't running, and paste the password. The status turns Connected.

    1. Download the connector file
    2. Allow access in QuickBooks
    3. Paste the password
    4. Connected
    5. Mockup. Each step turns green only when our server saw it.
  3. Step 3: Call the API

    POST /v1/qbd/invoices. Wirebook validates, translates to ordered qbXML, queues it per company file and returns JSON on the next Web Connector poll.Requests run when QuickBooks next checks in, so this is polling, not real time. If the connector is not running you get a 202 queued, and a guide after 30 seconds.

    curl -X POST /v1/qbd/invoices \
      -H "Idempotency-Key: acme-inv-1042" \
      -d @invoice.json
    
    202 queued  (sample)
    201 succeeded in 2.1 s

Same job. Half the price. Every price on this page.

A file counts only if a data request succeeded that month. Sample files never count.

Wirebook prices
Developer$0
Production$24.99
Production, billed yearly$19.99
Starter Pack, 4 files$97.99
Volume$16.99
EnterpriseCustom

10 files: 10 × $24.99 = $249.90 per month

The same 10 files at $49 = $490 (Conductor, checked 3 Nov 2026)

What the alternatives charge, and what you take on

Competitor prices, dated and sourced
OptionPublished priceSource
Conductor$49 per company file per monthconductor.is, checked 3 Nov 2026
Desktop Accounting API$49 per active file per month, 30 day trialdesktopaccountingapi.com, checked 3 Nov 2026
Apideck Launch$599 per month for 25 consumers; QuickBooks Desktop in betaapideck.com/pricing, checked 3 Nov 2026
Do it yourselfFree code. You own SOAP, sessions, qbXML order and retries.qbwc-kit and QuickBooks-PHP, open source
Wirebook by BufferSol$24.99 per active file per monthThis site

Need one schema across QuickBooks Online, Xero and NetSuite? Use a unified API such as Apideck. We only do QuickBooks Desktop, and we do it for half the price.

Read the full comparison with Conductor

Who it is for, and who it is not

A good fit

Vertical SaaS (construction, field service, distribution, logistics, property management, nonprofits) and fintech teams that sync to the ledger of customers who keep books in QuickBooks Desktop on Windows.

Not a fit

QuickBooks for Mac, UK QuickBooks Desktop, on premise only processing, and teams that need SOC 2 Type II or a HIPAA BAA on day one. We have a self attested security pack, a DPA, and request bodies are deleted after 14 days at most.

Questions, answered

Is half price a sign of half quality?

We cannot prove quality with a price, so we publish what we do: the request lifecycle, the error object, the idempotency rules and the roadmap. We only claim what we have tested, and the first acceptance run against a real QuickBooks is still ahead of us.

Will a two person vendor be around in three years?

We cannot promise that. What we can do is keep you unlocked: any valid qbXML works through passthrough, every price is published, and your request history is yours to export.

Is it real time?

No. QuickBooks Desktop only talks to the Web Connector when it polls. Requests run when QuickBooks next checks in. If the connector is not running you get a 202 queued, and a guide after 30 seconds.

What counts as an active file?

A company file counts in a month only if a data request succeeded for it that month. Sample files never count.

How do you stop duplicate writes?

Send an Idempotency-Key on every write. We replay the first result for 7 days. The same key with a different body returns 409. If a request was sent but no answer came back, it is marked outcome_unknown and never retried for you: look it up by RefNumber before you send it again.

What do you log, and who sees it?

Request and response bodies are deleted after 14 days, sooner if you set it, and request metadata after 90. No email API, analytics service or AI model is in the data path.

Do you have SOC 2?

No, not at launch. We offer a self attested security pack and a DPA.

Which QuickBooks versions work?

QuickBooks Desktop 2024 is our target version, so far validated against a Web Connector simulator; the run on a real install is pending. Version 2023 and older is best effort. Pro, Premier and Enterprise on Windows are supported.

Does it work with QuickBooks for Mac or UK QuickBooks Desktop?

No. The Web Connector runs on Windows, and we do not support the UK edition.

Can I try it without buying QuickBooks?

Yes. Sample company files are unlimited on the free Developer tier. No card.

What does migration cost?

Moving from another QuickBooks Desktop API or a home grown Web Connector server? Write to us and we will agree a free migration period.

Is Intuit involved?

QuickBooks is a trademark of Intuit Inc. Wirebook by BufferSol is a product of BufferSol Technologies and is not affiliated with or endorsed by Intuit.

Your first request in about 15 minutes

That is our target for a developer with a sample company file, not a promise.

Get a free API key

No card. Unlimited sample files.