Connect QuickBooks Online
QuickBooks Online is Intuit's cloud accounting service. It holds the customers you invoice, the vendors you pay, the invoices and bills themselves, the chart of accounts, and the reports your…
Written By Christopher Scaminaci
Last updated 6 days ago
QuickBooks Online is Intuit's cloud accounting service. It holds the customers you invoice, the vendors you pay, the invoices and bills themselves, the chart of accounts, and the reports your accountant asks for. StackJack talks to it through Intuit's Accounting API — the same data you see when you sign in, reachable by your AI assistant.
Connecting QuickBooks Online to StackJack gives your AI assistant a family of qbo_ MCP tools — MCP (Model Context Protocol) tools are the standardized commands an AI assistant can call through StackJack. With them, your AI can:
- Report on the business — profit and loss, balance sheet, cash flow, trial balance, the general ledger, the journal and the account list, with a date range or a customer filter
- Chase what you are owed — A/R aging summary and detail, customer balances, income by customer, and the open invoices behind every aging bucket
- See what you owe — A/P aging summary and detail, vendor balances, and expenses by vendor
- Analyze sales — sales by customer, by product or service, by department and by class, plus transaction lists across the period or grouped by customer or vendor
- Read the ledger — customers and customer types, vendors, invoices, bills, payments, bill payments, estimates, sales receipts, credit memos, refund receipts, purchase orders, expenses, vendor credits, journal entries, items, accounts, classes, departments, budgets, recurring transactions and inventory adjustments, one at a time or as a filtered list
- Follow the money through the bank — deposits, transfers and credit-card payments, the transactions that move money between accounts rather than to a customer or a vendor
- Answer sales-tax questions — the tax codes and rates a transaction is taxed under, the agencies that collect them, the classifications that decide which rate an item attracts, and the payments made against filed returns
- Read time and people — employees, and the time activities they and your vendors log, which is where billable time on an invoice comes from
- Work with attachments — list what is attached to a record, add a note, upload a file, and get a temporary link to download one
- Download the document itself (on Pro plans) — the rendered PDF of an invoice, estimate, sales receipt, payment receipt, credit memo, refund receipt or purchase order, as a temporary download link
- Check what the subscription includes — read the company's entitlements when a feature-dependent tool refuses, and its preferences to see which features are switched on
- Sync incrementally — ask what changed since a timestamp instead of re-reading everything
- Raise and adjust documents (on Pro plans) — create and make targeted changes to customers, vendors, invoices, bills, payments, estimates, sales receipts, credit memos, refund receipts, purchase orders, expenses, vendor credits, journal entries, items, accounts, classes, departments, budgets, deposits, transfers, time activities, employees and more
- Replace, delete, void and send (on Pro plans, and labeled as changes that need approval) — full-record updates, deletions, voids, and emailing an invoice, estimate, sales receipt, payment receipt, credit memo, refund receipt or purchase order
- Run several changes in one go (on Pro plans, and always labeled as a change that needs approval) — a batch that carries up to 30 operations, including deletions, in a single request
How StackJack connects to QuickBooks Online
You sign in. There is nothing to register, no keys to create and nothing to paste.
Open the QuickBooks Online connector in StackJack, choose the environment, click Authorize, sign in to Intuit, and pick the QuickBooks company you want connected. That is the whole setup. StackJack keeps the connection current afterwards — you do not sign in again unless you disconnect it or leave it unused for a long time.
One connection is one QuickBooks company
This is the thing to understand before you start, because it shapes how you set the connector up.
Intuit gives an application access to one company at a time. There is no firm-wide view and no company switcher — even if you use QuickBooks Online Accountant and see all your clients in one place, the API does not work that way.
So if you look after several companies' books, you add one connection per company and authorize each separately:
- Click Add connection.
- Name it after the client — "Acme Manufacturing", not "QuickBooks 2".
- Authorize, and pick that client's company on Intuit's screen.
Your AI then knows which books you mean: "show me the aged receivables for Acme" reaches the Acme connection. Ask for the list of connections if you are not sure which companies are set up.
Production or Sandbox
QuickBooks runs two separate services, and they do not share sign-ins:
- Production — your real QuickBooks company. This is what almost everyone wants.
- Sandbox — an Intuit test company, useful for trying the write tools without touching real books.
Choose before you authorize. If Authorize fails immediately, a mismatch here is almost always the reason.
Steps
- Open the QuickBooks Online connector in StackJack and click Add connection (or Configure for your first one).
- Name the connection after the company whose books it holds.
- Choose Production or Sandbox.
- Click Authorize. Sign in to Intuit and choose the QuickBooks company.
- Run Test Connection. It reads the company's own profile record, which confirms the sign-in and the company without touching any financial data.
- Repeat for each additional company.
What the connection can do inside QuickBooks
QuickBooks has a single permission level for connected applications: an application either has access to the company's accounting data or it does not, and that access covers reading and writing together. Intuit offers no read-only variant, so there is nothing to narrow inside QuickBooks.
What the connection can actually do is decided in two places, both of them in StackJack:
- Which tools you assign. Assign only the report and read tools and your AI can look but not touch.
- Which plan the connector is on. Reads are on the Free tier and every write needs Pro — including the ones that replace, delete, void or send, which are additionally marked destructive. Business offers the same tool set as Pro with a higher monthly call quota.
One thing does carry over from QuickBooks: the connection can do what the person who authorized it can do. Sign in as someone whose QuickBooks access matches what you want StackJack to reach.
Things worth knowing before you use the write tools
A full update replaces the whole record
QuickBooks treats a full update as "this is the entire record now". Anything left out is cleared — so a full update meant only to change a customer's name can also wipe their billing address, payment terms, tax code and email.
StackJack ships both shapes and labels them clearly:
- Update changes only the fields you give it and leaves everything else alone. This is the everyday tool.
- Full update replaces the record. These are marked destructive.
Most records only offer the full form, because QuickBooks offers nothing else for them — accounts, vendors, bills, bill payments, items, payments, credit memos, purchase orders, expenses, vendor credits, classes, departments, budgets, company currencies, terms, payment methods, change orders, employees, time activities, attachments and the company's preferences among them. For those, read the record first and send it back complete with your change applied. The tool descriptions say which shape each record has.
The everyday Update shape exists for customers, invoices, estimates, sales receipts, refund receipts, journal entries, deposits, transfers, credit-card payments, inventory adjustments and the company profile.
One record behaves differently again: setting an exchange rate replaces the rate held for that currency and date outright, so it is marked as a change that needs approval even though it reads like an everyday update.
Delete, void and "delete" an account
- Void keeps the transaction in the books with zero amounts and a voided stamp, which preserves the audit trail. Accountants almost always want this.
- Delete removes the transaction entirely. It cannot be undone.
- Accounts are different. QuickBooks does not delete an account at all — you make it inactive with an update, which hides it while keeping its history.
Sending emails a real person
Sending an invoice, estimate, sales receipt, payment receipt, credit memo, refund receipt or purchase order puts it in someone's inbox immediately, and there is no recall. Six of those go to a customer; a purchase order goes to your vendor, which is worth knowing before you let an assistant send one. These tools are marked destructive. Whether your AI application asks you to confirm before running one depends on that application's own settings — see Destructive tools and confirmation. Review that setting before you assign them, and try them against a Sandbox company first.
Editing a record someone else just changed
QuickBooks refuses a change if the record moved on since it was read — that is how it stops two edits overwriting each other. If you see an error about a stale record, the fix is always the same: read it again and resend the change. Repeating the same request will keep failing.
A batch runs whatever you put in it
The batch tool sends up to 30 operations in one request, which is the fastest way to make many small changes. It is also the bluntest: a batch can contain deletions, voids and full updates, and approving the batch approves everything inside it — your assistant is asked once, for "run batch", not once per item. StackJack does not read the contents to second-guess them.
If you want the safety of a per-action prompt, use the individual tools; each one states its own consequence. If you assign the batch tool, assign it deliberately.
Some features depend on the QuickBooks subscription
Several parts of this connector only exist in certain QuickBooks plans or countries, and a company without them gets an error rather than an empty answer:
- Change orders — QuickBooks Online Advanced with the Construction Pack, or Intuit Enterprise Suite, with Projects switched on, in the US
- Inventory adjustments — QuickBooks Online Plus or Advanced, in the US
- Recurring transactions — QuickBooks Online Essentials or Plus
- Tax payments — Australia, Canada and the United Kingdom only
- Company currencies and exchange rates — companies with multicurrency switched on
Reading the company's entitlements tells you which of these the company actually has. The tool descriptions name the requirement too, so an assistant can explain a refusal rather than retrying it.
Files: PDFs and attachments
Two kinds of file come out of QuickBooks, and both arrive as a temporary link rather than the file itself, because an AI assistant's tool results carry text.
- A rendered document — the PDF of an invoice, estimate, sales receipt, payment receipt, credit memo, refund receipt or purchase order. QuickBooks draws it on demand from the record as it stands now, so it reflects the document today rather than a saved copy. The link is good for about fifteen minutes.
- An attachment — a file someone attached to a record. Ask for its download link, then fetch it. That link is Intuit's own and also expires after about fifteen minutes.
Either link lets whoever holds it read the file for as long as it lasts, so treat one like a password: use it, do not forward it, and ask again if it has expired. Nothing keeps a second copy.
Going the other way, you can upload a file and attach it to a record in one step — give your assistant the file directly, or a public https link it can fetch, up to 25 MB.
Reports
The report tools are the highest-value part of this connector and the safest: every one of them is a read.
Each takes the report's own options — most commonly a start and end date, and often a customer, vendor or class filter. Ask for the report in plain language and give the period: "profit and loss for the last quarter", "A/R aging as at the end of last month". A few reports are country-specific; the tax summary, for example, applies to companies outside the United States.
The general ledger and the detail reports can be very large. Narrowing the date range is the difference between a useful answer and a slow one.
Listing and paging
QuickBooks returns at most 1,000 records in one response and offers no running total, so a list that comes back short is the end of the results. Ask your AI to narrow by date, status or customer rather than paging through everything — it is faster and far cheaper in tool calls.
Filtering in QuickBooks is not full SQL. There is no "or" in a filter, no joining across record types, and one request covers one record type. The tool descriptions carry the specifics; if a filter is refused, simplify it.
Limits
Intuit allows 500 requests a minute for one company and 10 a second, and publishes no header telling a caller how much is left — its own guidance when you are throttled is to wait a minute. StackJack paces requests to stay inside that and backs off on its own if Intuit pushes back, which usually makes a wide report slower rather than failed. Pacing smooths a burst; it does not guarantee every call arrives. Narrow the read, and check whether a write landed before repeating it — see Retrying a failed or timed-out write.
The limits are per company, so several connections do not compete with each other for the same budget.
Keeping a connection alive
Intuit ends a connection that has gone a long time without being used — about 100 days. StackJack refreshes each connection in the background, so a company you actually work with stays connected indefinitely. A company you connect and then never touch will eventually ask for a fresh sign-in; reconnecting takes a few seconds and nothing is lost.
You can also end a connection from either side: disconnect it in StackJack, or remove StackJack from the app list inside QuickBooks. Either way the tools stop working for that company and nothing else is affected.
Troubleshooting
Authorize fails straight away. Check the environment on the connection. A Sandbox connection cannot be authorized against a live company, or the reverse.
Everything worked and now nothing does. The connection probably needs a fresh sign-in — someone removed StackJack inside QuickBooks, or the company went unused for a long time. Click Authorize again.
"The record moved on since it was read." Read the record again and resend the change. See above.
A report is empty or refused. Some reports apply only to certain countries, and some need features that are switched off in the company. Read the company's preferences to see which features are on.
A write is refused but reads work. The QuickBooks user who authorized the connection may not have rights to that area, or the company's subscription may not include it. Try the same action by hand in QuickBooks as that user; if it fails there too, that is the answer.
Tool reference
See the generated QuickBooks Online tool reference for the current inventory, plan assignment, input schemas, and destructive-action labels.
QuickBooks Online tools
qbo_ · 230 tools · Free 113 · Pro 117
Financial statements
Receivables
Payables
Sales analysis
Transaction lists
Inventory and tax
Customers
Invoices
Estimates
Sales receipts
Customer payments
Credit memos
Refund receipts
Change orders
Terms and payment methods
Reimbursable charges
Vendors
Bills
Bill payments
Expenses and purchases
Purchase orders
Vendor credits
Chart of accounts
Journal entries
Items and services
Classes and departments
Banking
Budgets
Recurring transactions
Inventory
Currency
Tax codes and rates
Tax classifications
Tax agencies
Tax payments
Time activities
Employees
Company profile
Sync
Attachments
Platform operations
More in Connector guides
Connect Acronis Cyber Protect CloudConnect Action1Connect AddigyConnect AlertOpsStill need help? Ask the team