# Developer FAQ
Source: https://www.desktopaccountingapi.com/docs/get-started/faq/

> Short answers to common questions about how the Desktop Accounting API works, its limits, data handling, pricing and QuickBooks compatibility.

## How it works

**Does my customer install anything from you?**
No. They use the QuickBooks Web Connector, a free Intuit program that recent QuickBooks releases include. Our setup link gives it a small connector file and a password. See [Connect an end user](https://www.desktopaccountingapi.com/docs/connect/setup-flow/).

**Do you support QuickBooks Online?**
No. This API is for QuickBooks Desktop (Pro, Premier, Accountant and Enterprise, US editions). See [Supported environments](https://www.desktopaccountingapi.com/docs/platform/supported-environments/).

**Can you push changes from QuickBooks to me?**
QuickBooks Desktop has no change notifications, and the Web Connector only polls. Sync with `updatedAfter` filters and the deleted-object lists. See [Incremental sync](https://www.desktopaccountingapi.com/docs/guides/incremental-sync/). Our [webhooks](https://www.desktopaccountingapi.com/docs/guides/webhooks/) tell you when your own requests finish and when a connection's status changes.

**How fast is a request?**
Under a second in a warm session; up to about 10 seconds for the first request after a quiet period, while the Web Connector checks in. Large reports take as long as QuickBooks needs. See [Request lifecycle](https://www.desktopaccountingapi.com/docs/guides/request-lifecycle/#how-long-requests-take).

**Can I send requests in bulk?**
Send them in [async mode](https://www.desktopaccountingapi.com/docs/guides/request-lifecycle/#async-mode) and they queue in order for the company file. QuickBooks processes one request at a time per file, so parallelism helps across customers, not within one.

**What happens when the customer's computer is off?**
Sync calls fail within a second with `INTEGRATION_CONNECTION_NOT_ACTIVE`. Async calls wait until the computer comes back or their queue lifetime ends. Show your customer the error's `userFacingMessage`.

**Is there an OpenAPI spec?**
Yes, at [/docs/openapi.json](https://www.desktopaccountingapi.com/docs/openapi.json). It is the same document that generates the API reference and the SDKs.

## Data and security

**Do you store my customers' accounting data?**
We keep request metadata for 30 days and request and response bodies for 15 days for troubleshooting. You can turn body capture off per project. We do not keep a copy of the books. See [Security and data retention](https://www.desktopaccountingapi.com/docs/platform/security/).

**Can I call the API from a browser or mobile app?**
No. Secret keys belong on your server, and the API sends no CORS headers.

## Compatibility

**Which QuickBooks versions work?**
Enterprise releases with qbXML 13.0 or newer, and Pro, Premier and Accountant 2018 or newer. Some newer fields need newer releases; the API rejects them clearly on older ones.

**Does it work with Rightworks and other hosted QuickBooks?**
Yes, when the host lets the Web Connector run in a session that stays signed in. See [Hosted QuickBooks](https://www.desktopaccountingapi.com/docs/help/guides/hosted-quickbooks/).

**Can one customer connect several company files?**
Yes. Create one end user per company file. See [End users and connections](https://www.desktopaccountingapi.com/docs/connect/end-users/).

**I already use Conductor. How hard is it to switch?**
Paths and field names match. You change the base URL, key and header names, and each customer runs our setup once. See [Migrating from Conductor](https://www.desktopaccountingapi.com/docs/get-started/migrating-from-conductor/).

## Pricing

**What does it cost?**
$49 per active production company file per month, with unlimited requests. Test projects are free. See [Billing and pricing](https://www.desktopaccountingapi.com/docs/platform/billing/).

**Do health checks or failed requests count?**
No. Only successful data requests in production projects make a company file active.
