QuickBooks integration tools compared: the QuickBooks integration API, integration cost, and ecommerce, CRM and data integration software
Twelve ways to connect QuickBooks Online to a storefront, a payment processor, a CRM or a warehouse, lined up by who owns each tool, how it bills, and who it is wrong for. Two things decide this purchase more than any feature list: the QuickBooks API rate limits your integration has to live inside, and whether the tool books your payout in a way an accountant will accept. Both are tabled below, read from Intuit developer documentation on 22 August 2026.
Field mapping auto-plugged · tap a port to rewire
Plug a source port into
Transform on this cable
JSON in
JSON out
5 sample records ready
Intuit developer documentation read 22 August 2026 · Last updated August 2026
Which QuickBooks integration tool should you use?
Match the tool to the source and to how your accountant wants the ledger to read. If a storefront or a payment processor is the source and your accountant wants one clean journal per payout, buy a summarizing accounting app built for that. If you need document-level detail in the ledger, buy a direct connector for that specific route. If the destination is a warehouse rather than the ledger, that is ELT and Fivetran, Airbyte or Adapters do it. If a non-engineer owns the workflow and it changes weekly, Zapier or Make is genuinely the better buy. And for a finance team with two or three routes that simply have to run every day, a mapped scheduled sync on a flat price beats a task meter that grows every time you have a good month.
The correction worth making early: nearly every published comparison of this category ranks apps by App Store star rating and install count, and none of them mention the two constraints that actually decide the project. QuickBooks throttles at 500 requests a minute per company file and allows only ten concurrent connections to it, so the same connector behaves like a different product when a second tool is already talking to that company. And a plain query returns 100 rows with no signal that more exist, which is how integrations lose data while every request returns 200. For the wider category outside QuickBooks, start with best data integration tools.
QuickBooks integration tools compared
Billing units rather than price tags, because most of this category is quote-based, per-task or volume-tiered and any number we print goes stale. The one flat published figure below is ours. Verify current pricing with each vendor before you sign anything.
| Tool | Owner | Approach | Best for | Pricing model | Watch out for |
|---|---|---|---|---|---|
| QuickBooks App Store | Intuit and partners | Single-purpose apps that link QuickBooks to one named source | One well-trodden route, installed and configured in an afternoon | Monthly subscription per app, often tiered by transaction volume | One app per source adds up fast, and each has its own support queue |
| Bank feeds and rules | Intuit | Automatic bank and card transaction import with categorization rules | Categorizing spend that never needed a document-level source record | Included with the subscription | A feed gives you the deposit, not what is inside it. It cannot itemize a payout |
| Zapier | Zapier | Trigger-and-action automation a non-engineer can build | Alerts, handoffs and low-volume record creation owned by ops | Metered on tasks per month | A task meter and transaction count grow together, which is the wrong shape |
| Make | Make | Visual scenario builder with branching and iteration | Multi-step logic awkward in a linear trigger-action tool | Metered on operations | Every step burns an operation, so cost scales with scenario complexity |
| Workato | Workato | Recipe-based enterprise automation with a wide connector catalog | Multi-system workflows crossing finance, sales and support | Annual contract metered on recipes and tasks | Entry pricing targets enterprises, so it rarely fits a single finance route |
| Celigo | Celigo | iPaaS with prebuilt accounting and ERP integration apps | Teams running QuickBooks alongside an ERP or a large app estate | Subscription plus per-flow or per-endpoint licensing | Heavier than a small finance team needs if QuickBooks is the only destination |
| Boomi | Boomi | Established iPaaS with an ERP-heavy connector library | Organizations already standardized on Boomi elsewhere | Per-connection licensing plus platform subscription | Connection-based licensing punishes adding sources one at a time |
| Summarizing accounting apps | Various | Roll sales channel activity into one journal per payout period | High-volume sellers whose accountant wants payout-level entries | Monthly subscription tiered by order volume | Deliberately summarized. If you need document-level detail, look elsewhere |
| Fivetran | Fivetran | Managed ELT that lands QuickBooks tables in a warehouse | Analytics on finance data joined to sales, product and marketing | Consumption priced on monthly active rows | It reads QuickBooks into a warehouse. It does not write back into the ledger |
| Airbyte | Airbyte | Open-source ELT, self-hosted or cloud, large connector catalog | Engineering teams comfortable operating the pipeline themselves | Free self-hosted, cloud metered on credits | Self-hosting is free in licensing and not free in engineering hours |
| Custom build on the API | You | Your own OAuth app calling the Accounting API on a schedule | Logic genuinely specific to your business that no vendor models | Engineering time, forever | Token refresh, throttling, minor versions and alerting are all yours to maintain |
| Adapters | Adapters | Mapped, scheduled sync between QuickBooks and your other systems | A handful of finance routes that simply have to run every day | Flat monthly, $49 to $399, not metered on records | We are not an ERP connector and we do not summarize journals for you |
The column a table cannot show you is how a tool behaves against a company file that already has years of history and a chart of accounts somebody curated. Two vendors will both list QuickBooks and only one will let you map to your existing accounts instead of creating its own. During the trial, connect a sandbox company, sync the exact objects you need, and read what landed rather than trusting the badge on the listing page. If you are evaluating against a specific vendor, we keep honest write-ups of Zapier, Celigo, Workato and Fivetran.
What QuickBooks already gives you before you buy anything
Six integration mechanisms ship with the platform. Knowing which one fits changes the shortlist, because a vendor that writes records one at a time is spending your rate allocation on a job the batch endpoint would finish thirty times faster.
| Mechanism | What it does | Reach for it when | What it costs you |
|---|---|---|---|
| Accounting API | REST access to invoices, payments, bills, customers, vendors, items and journal entries | Anything document-level, in either direction | 500 requests a minute and 10 concurrent connections per company |
| Batch endpoint | Up to 30 create, update, delete or query operations in a single request | Any bulk write, and most bulk reads | Counts as one request against the 500, capped at 40 batches a minute |
| Change data capture | Returns objects across several entities changed since a timestamp | Keeping an existing sync current without re-reading everything | One request, capped at 1,000 objects, no pagination |
| Webhooks | Notifies your endpoint when named entities change in a connected company | Near real-time reaction without polling on a timer | Free to receive. You still call the API to fetch the changed record |
| Bank feeds | Imports bank and card transactions with automatic categorization rules | Spend that never needed a document-level source record | Included, but it gives you the deposit and not its components |
| CSV and IIF import | Manual file upload of transactions, customers or items | A one-off migration or a genuinely occasional load | Free and manual. It is not a pipeline and it has no audit trail |
The honest limit of the native route is not capability, it is ownership. Your own OAuth app can do anything the Accounting API exposes, but it does not ship with token refresh you did not write, a per-record error log somebody can read, or an alert that reaches a human when last night's sync stopped at 3 AM. That gap is what you are buying when you buy a tool, and it is worth being explicit about rather than discovering it during the first failed backfill. The same trade is covered generally in build versus buy for integrations.
QuickBooks API rate limits every integration has to live inside
Intuit meters the Accounting API per company file, not per app, and the concurrency ceiling bites long before the request ceiling does. Read from Intuit developer documentation on 22 August 2026. If you take one table from this page, take this one.
| Limit | Value | Why it matters |
|---|---|---|
| Requests per minute | 500 per realmId | Scored per company file, and batch requests count toward it. Two apps hitting the same company share the ceiling |
| Concurrent connections | 10 per app and realmId | The limit most teams actually hit. A worker pool sized for throughput breaches it long before 500 per minute |
| Throttle response | HTTP 429, errorCode 003001 | Message reads ThrottleExceeded. Retrying immediately re-triggers it, so back off exponentially |
| Batch operations | 30 per request | Thirty creates, updates or queries in one call. The single biggest throughput lever on this API |
| Batch request throttle | 40 per minute per realm | Batches have their own tighter ceiling on top of the 500. Thirty times forty is still 1,200 operations a minute |
| Query default page size | 100 records | A plain SELECT returns 100 rows and no warning that more exist. This silently truncates naive integrations |
| Query maximum page size | MAXRESULTS 1000 | The ceiling per request. Page with STARTPOSITION and always request 1000 to spend fewer calls |
| Change data capture response | Up to 1,000 objects | CDC has no pagination. Above 1,000 changes in the window you must shorten the window, not page it |
| CDC lookback window | Fixed retention, not unlimited | A changedSince older than Intuit's window is rejected as an unsupported operation. CDC cannot backfill history |
| Authentication | OAuth 2.0, refresh token rotation | Refresh tokens expire. A pipeline with no token refresh alerting fails silently on a weekend |
| Minor versions | Optional, pinned per request | Pinning stabilizes your schema against Intuit changes, and pinning forever means missing new fields |
| Sandbox company | Separate realmId and base URL | Sandbox and production are different hosts. A tool that cannot point at sandbox cannot be tested safely |
One honest caveat about that table. Intuit documents the CDC lookback as a fixed retention window and the endpoint rejects anything older with an unsupported operation error, but the exact day count is not stated in the endpoint reference the way the 500 and the 10 are. We would rather print that plainly than pick a number and present it as documented. Design for it either way: use CDC to keep a sync current, and use paged queries with STARTPOSITION whenever you need history, because CDC will not give it to you.
The eight rows that decide whether your QuickBooks deposit reconciles
The most common QuickBooks integration is also the one most often built wrong, and it fails the same way every time: somebody books the bank deposit as revenue. The deposit is gross sales minus discounts, refunds, processing fees and adjustments, so posting it as a single revenue line understates revenue, hides every expense inside it and guarantees a variance nobody can explain in March. Here is what has to map where, whatever platform the money came from.
| Component | Where it comes from | Where it belongs in QuickBooks | The mistake |
|---|---|---|---|
| Gross sales | Order total or charge amount before any deduction | Sales income, one line per product or channel account | Booking net proceeds as revenue understates the top line permanently |
| Sales tax collected | Tax lines on the order | A liability account, never income | Tax swept into revenue inflates income and misstates the filing |
| Discounts | Discount allocations on the order | A contra-revenue account, so gross stays gross | Netting discounts into the sale hides real margin movement |
| Processing fees | Fee on the balance transaction or payout detail | Merchant processing fee expense | Fees buried inside the deposit are invisible when someone asks what payments cost |
| Refunds | Refund objects, dated when issued not when the sale happened | Credit memo or refund receipt against the original income account | Posting refunds in the sale period breaks period comparisons |
| Chargebacks and disputes | Dispute balance transactions, often with a separate fee | Contra-revenue plus a dispute fee expense | Treated as a refund, the dispute fee vanishes from the P and L |
| Gift cards and store credit | Issued as a liability, redeemed against a later order | Liability on issue, income on redemption | Recognizing income at issue books revenue you have not earned |
| The payout or deposit | Net transfer that actually lands in the bank | Bank deposit that clears all of the rows above | Booking the deposit as a single revenue line, which is the single most common failure |
One platform-specific trap belongs alongside this table because it silently corrupts the numbers rather than failing loudly. Stripe reports amounts as integers in the smallest currency unit, so $42.50 arrives as 4250, except in zero-decimal currencies such as JPY and KRW where the amount is already whole. A connector that hardcodes a divide by 100 books Japanese revenue at one hundredth of its value and nothing errors. Shopify does the opposite: MoneyV2 carries a decimal amount with a separate currency code, so applying the same division there is equally wrong. The specific routes are covered on Stripe to QuickBooks, Shopify to QuickBooks, Square to QuickBooks and PayPal to QuickBooks. If the payment processor rather than the ledger is the center of your project, the processor-side allocations and native options are tabled on Stripe integration tools.
Six numbers worth knowing before the first demo
500/min
Requests per company file
Per realmId, not per app, and batch requests count toward it. Two integrations on one company share the budget. Intuit documentation, read 22 August 2026.
10
Concurrent connections allowed
The ceiling most teams hit first. It is scored on the app and realmId combination, so parallelism is capped per company rather than per platform.
30
Operations per batch request
The batch endpoint packs thirty operations into one call. Used properly it is the difference between an hour of syncing and two minutes.
100
Rows a plain query returns
A SELECT with no MAXRESULTS quietly returns 100 rows and does not tell you more exist. This is the most common silent data-loss bug on this API.
1,000
MAXRESULTS ceiling per query
The most rows one request can return. Page with STARTPOSITION. Change data capture has the same 1,000 object cap and no pagination at all.
003001
The error code to alert on
HTTP 429 with errorCode 003001 and message ThrottleExceeded. A pipeline that does not log and alert on this one code will look healthy while dropping records.
How to set up a QuickBooks integration that survives month end
Step 01 / Scope
Write down which system owns each record before choosing a tool
The hardest question in any QuickBooks project is not technical. If a customer exists in your storefront, your CRM and QuickBooks, one of them is authoritative and the other two are copies. Decide that first, per object, in writing. Every sync direction, every conflict rule and half your connector shortlist falls out of that one decision, and teams that skip it spend month three arguing about duplicate customers instead of closing the books.
Step 02 / Map
Map to the chart of accounts your accountant already uses
Connectors love to create their own accounts. Left alone, you end up with a clearing account per channel and a set of income accounts nobody recognizes. Pull the existing chart of accounts first, agree the target account for gross sales, tax, discounts, fees, refunds and gift cards, and map to those. It takes an hour and saves a reclassification project at year end.
Step 03 / Backfill
Plan the history load around 1,000 rows a request, not around wishes
The Accounting API returns at most 1,000 records per query and change data capture cannot reach back past Intuit's retention window, so history has to come from paged queries with STARTPOSITION. Do the arithmetic before you promise a date: rows divided by 1,000, against 500 requests a minute and ten concurrent connections. Then run the backfill against a sandbox company so a bad mapping does not land in the real ledger.
Step 04 / Reconcile
Prove one payout ties out end to end before you turn on the schedule
Take a single real payout, walk it through gross sales, tax, discounts, fees, refunds and disputes, and confirm the resulting bank deposit matches to the cent. One payout that reconciles proves the mapping. A dashboard that says the sync succeeded proves only that HTTP requests returned 200, which is not the same thing and never has been.
Step 05 / Operate
Alert on token refresh and on errorCode 003001
Two failure modes account for most of the support tickets on this API. OAuth refresh tokens expire, and a pipeline with no alerting on that fails silently over a weekend. And 429 with errorCode 003001 means you breached the concurrency or rate ceiling, which a naive client retries straight back into. You want per-record logs, exponential backoff, and a message that reaches a human.
What teams actually connect QuickBooks to
Ecommerce orders into the ledger
Storefront orders become sales receipts or invoices, processing fees become an expense, refunds become credit memos, and the payout clears them all. The hard part is not the sync, it is the eight-row mapping in the table above.
Payment platform reconciliation
Stripe, PayPal and Square all pay out net. Reconciliation only balances on balance transactions, which carry the gross, the fee, the refund and the dispute separately. Charges alone will never tie out to the bank.
CRM to invoicing
A closed opportunity in a CRM becomes an invoice in QuickBooks, and payment status flows back so sales can see who has actually paid. This is where duplicate customer records get created if nobody decided who owns the customer.
Finance data in the warehouse
Land QuickBooks alongside sales, product and marketing data so revenue can be sliced by cohort, channel or campaign. QuickBooks reporting cannot join to anything outside QuickBooks, which is usually why this project starts.
Accounts payable automation
Approved supplier bills flow into QuickBooks as Bill records with the right vendor, terms and expense account, so payment runs happen inside the accounting system rather than in a spreadsheet somebody emails around.
Migration off QuickBooks
Moving to another ledger or consolidating multiple company files means extracting full history through paged queries. CDC will not help here, because it only sees changes inside the retention window.
The ecommerce case has a dedicated walkthrough in syncing Shopify orders to QuickBooks, the CRM case in connecting HubSpot to QuickBooks, and the warehouse case on QuickBooks to Snowflake.
When another QuickBooks integration tool is the right answer
We would rather you buy the correct thing than churn in month three. Five situations where Adapters is not what you want.
Your accountant wants summarized journals
If the requirement is one clean journal entry per payout that a bookkeeper can tie out in thirty seconds, buy a tool built specifically for that. Those products are narrower than ours and that is exactly why they are better at this one job.
You need full accounts payable workflow
Approval chains, purchase order matching, vendor onboarding and payment execution are an AP product, not a sync. We can move approved bills into QuickBooks. We do not run the approval process that got them approved.
Your only need is bank transaction categorization
QuickBooks bank feeds plus rules already do this, they are included in what you pay Intuit, and no integration platform improves on them. Buy nothing. Spend the afternoon writing better rules instead.
You want a non-engineer to own the automation
Zapier and Make are genuinely better than us at letting an ops or finance lead wire up a notification or a form handoff without filing a ticket. If the workflow changes weekly and lives outside engineering, buy that instead.
You are running QuickBooks Desktop, not Online
Desktop is a different product with a different integration story, built on the QuickBooks Desktop SDK and a local connector rather than a cloud REST API with OAuth. Everything on this page is about QuickBooks Online. If you are on Desktop, either budget for the migration first or buy a tool that specifically names Desktop support, because a QuickBooks Online connector will not talk to it.
Four questions to ask on every QuickBooks integration demo
Question 01
Do you cap concurrency at ten per company file?
Ten is the hard ceiling per app and realmId combination. A vendor who talks about throughput but cannot answer this is telling you they will discover it in production, on your company file, probably during close week.
Question 02
Do you use the batch endpoint, and at what size?
Thirty operations per batch is the documented maximum. A tool writing one record per request is thirty times slower against the same allocation, which is the difference between a sync that finishes overnight and one that is still running at 9 AM.
Question 03
Can I map to my existing chart of accounts?
Some connectors create their own accounts and clearing accounts and will not be talked out of it. Ask to see the account mapping screen with a real chart of accounts loaded, before you buy, not after your controller sees the January P and L.
Question 04
What happens when the OAuth refresh token expires?
You want automatic rotation plus an alert that reaches a human if reauthorization is needed. The failure mode you are guarding against is a pipeline that looks healthy on a dashboard while quietly syncing nothing for eleven days.
Where QuickBooks data usually comes from and goes next
Most QuickBooks integration projects end up as one of these specific pairs. Each page covers the field mapping, the type conversions and the failure modes for that route.
Questions buyers ask about QuickBooks integration tools
- What are QuickBooks integration tools?
- QuickBooks integration tools are the platforms that move transactions, customers, vendors and items between QuickBooks Online and the rest of your stack by calling the Intuit Accounting API. They fall into four groups: Intuit-owned mechanisms such as the Accounting API, bank feeds and the App Store, single-purpose apps built for one source, general iPaaS vendors such as Zapier, Workato and Celigo, and warehouse-focused ELT vendors such as Fivetran, Airbyte and Adapters.
- Does QuickBooks Online have an API?
- Yes. The QuickBooks Online Accounting API is a REST API covering roughly 40 entities including Invoice, Payment, Bill, Customer, Vendor, Item, Account and JournalEntry. It authenticates with OAuth 2.0, is versioned through optional minor versions, and is throttled per company file rather than per app. There are also Payments and Payroll APIs on separate allocations.
- What are the QuickBooks API rate limits?
- Intuit throttles the Accounting API at 500 requests per minute per realmId, including batch requests, and allows a maximum of 10 concurrent connections to the same realmId. The limit is scored on the app and realmId combination, not per app overall. Exceeding either returns HTTP 429 with errorCode 003001 and message ThrottleExceeded.
- How much does QuickBooks integration cost?
- Intuit charges nothing extra for Accounting API access, so the cost is whatever you put in front of it. App Store apps typically run $10 to $200 a month per source. iPaaS vendors bill per task, per operation or per connection, which is the number that grows with your transaction count. Adapters is flat at $49 to $399 a month regardless of how many records move.
- How do I integrate Shopify with QuickBooks?
- Decide the destination for each money movement before you touch a connector. Orders become sales receipts or invoices, payment processing fees become an expense, refunds become credit memos, and the payout becomes the bank deposit those items clear against. Get that mapping right and the deposit reconciles to the penny. Get it wrong and every month closes with a variance nobody can explain.
- How do I connect Stripe to QuickBooks?
- Same shape as Shopify with one extra trap. Stripe reports amounts as integers in the smallest currency unit, so $42.50 arrives as 4250, except in zero-decimal currencies such as JPY and KRW where no division applies. A connector that hardcodes a divide by 100 will book Japanese revenue at one hundredth of its value. Reconcile on balance transactions, never on charges alone.
- Can QuickBooks integrate with a data warehouse?
- Not natively. QuickBooks Online has no first-party export to Snowflake, BigQuery or Postgres, so this route always runs through a third-party pipeline that reads the Accounting API and writes to your warehouse. The practical constraints are the 1,000 record MAXRESULTS ceiling on queries and the 500 requests per minute allocation, which together set how fast a full history backfill can run.
- Does QuickBooks have change data capture?
- Yes. The Accounting API exposes a changedatacapture endpoint that returns objects modified since a timestamp you supply, across a list of entities in one call. Two limits shape the design: a single CDC response carries up to 1,000 objects with no pagination, and a changedSince older than Intuit's fixed retention window is rejected outright. CDC keeps a sync current, it cannot backfill history.
- What is the best QuickBooks integration for ecommerce?
- It depends on whether your accountant wants summarized journals or order-level detail. Summarizing tools post one clean entry per payout that ties out in seconds, which suits high-volume stores. Order-level connectors put every transaction in the ledger, which suits B2B sellers who invoice. Warehouse-first tools give you neither ledger entry but let you audit both.
- Why does my QuickBooks integration keep timing out or returning 429?
- Almost always concurrency, not volume. Ten simultaneous connections to one realmId is the hard ceiling, and a worker pool sized for throughput will breach it long before the 500 per minute request budget runs out. Cap in-flight requests at ten per company file, batch up to 30 operations per request, and back off on 003001 rather than retrying immediately.
The rate limits above have a dedicated walkthrough in the QuickBooks API rate limits guide. For the categories around this one, see iPaaS software when the job is keeping business applications in agreement, and ETL software for how our own pipeline works end to end.
Connect QuickBooks to your stack on a flat monthly price
Map the fields once, pick a schedule, and let it run with retries, alerts and per-record logs. From $49 a month, with no per-task meter that spikes the month you sell more.
No credit card required.