Connect QuickBooks to Claude, ChatGPT and Copilot
QuickBooks Online is Intuit's accounting software for small businesses and their accountants. It holds the chart of accounts, customers, vendors, invoices, bills, payments, and bank and card transactions, with classes and locations to segment results. This guide covers QuickBooks Online only. QuickBooks Desktop uses a different, local SDK.
Nexatron's hosted MCP server is listed in Claude's connector directory. ChatGPT and Microsoft 365 Copilot add the same server as a custom MCP connector. Connect QuickBooks to your Nexatron workspace once, then ask from whichever assistant you use.
What you can ask
- Which customers owe more than 2,000 on invoices over 45 days late?
- What was net profit by class for each month of this year on an accrual basis?
- Which vendor bills are due before the next payroll date, and what is the total?
- How much did we spend on software subscriptions this year compared with last?
- What is the combined balance of our bank accounts against bills due in the next 30 days?
- Which products and services had the highest gross margin last quarter?
Questions read Invoice and Payment, Bill and BillPayment, Account, Purchase, Deposit and JournalEntry, Customer, Vendor and Item, and report endpoints such as ProfitAndLoss, BalanceSheet, AgedReceivables and AgedPayables.
Prerequisites
- A Nexatron workspace admin.
- A QuickBooks Online company, and an admin user of that company to authorize the connection.
- An app registered on the Intuit developer portal.
- Nexatron access rules for what each person may ask (see below).
Admin setup
Nexatron reads the QuickBooks Online Accounting API v3, with OAuth 2.0 authorization code and the accounting scope. The token is issued for one company (realm). The connection's redirect URL includes its id, so save the connection first.
- In Nexatron, go to Knowledge ▸ Sources ▸ New connection and choose QuickBooks. Enter the client ID and client secret from the Intuit developer portal (your app ▸ Keys & credentials). Tick Sandbox company for an Intuit sandbox. Save.
- Copy the redirect URL from the connection's page and add it to your Intuit app.
- An admin user of the QuickBooks company selects Connect QuickBooks on the connection's page and authorizes the company.
- Opt in to the shared connection with a stated reason, add access rules, then choose who can use it.
The governed shared connection
QuickBooks Online has no per-person API identity: a token covers the whole company once an admin connects it, and the API does not apply each QuickBooks user's role. So this connection is a governed exception, not per-person sign-in, and people do not sign in to QuickBooks themselves.
- Your Nexatron administrator opts in with a stated reason, and the choice is audited.
- Nexatron's access rules narrow what each person can ask, for example by account type, class or customer.
- Every answer says it came from a shared QuickBooks application, not the person's own login, and each use is audited under the person who asked.
First question to try
After you add Nexatron in Claude, ChatGPT or Copilot, ask:
Which customers owe more than 2,000 on invoices over 45 days late?
The answer shows the query behind it and says that it came from the shared QuickBooks connection.
Writing back
Unless your workspace admin has switched actions off, you can ask Nexatron to create an invoice (quickbooks.invoice.create) or void one (quickbooks.invoice.void). Each request shows you a card first, with what changes and a Confirm and run button. Nothing is written until you confirm. Because QuickBooks Online has no per-person API identity, the write runs through the shared QuickBooks connection and is audited under the person who confirmed it, so limit who can use actions before you turn them on. Nothing else is writable.
Permissions and masking
Because the connection is shared, Nexatron's rules under Settings ▸ Workspace ▸ Access (Access) are what limit each person. Add row rules and column masking before you turn the connection on for people. A question that would total, average or count a masked column is refused.
Troubleshooting
| Symptom | Cause and fix |
|---|---|
| The answer says it came from a shared QuickBooks application | Expected: QuickBooks Online has no per-person API identity. |
| Someone sees more than they should | Add or tighten row rules and column masking under Settings ▸ Workspace ▸ Access. |
| You use QuickBooks Desktop | This guide covers QuickBooks Online. Desktop uses a different, local SDK; contact us. |
Related
- QuickBooks on nexatron.io: what the connector covers
- Connect Claude: add Nexatron from Claude's connector directory
- Connect ChatGPT: add Nexatron as a custom connector
- Connect Microsoft 365 Copilot: a declarative agent or a Copilot Studio tool
- MCP reference: tools, OAuth scopes and errors