Shop MCP

Connect a module

QuickBooks Online

ShopMCP uses Intuit OAuth 2.0 to connect one QuickBooks Online company at a time. Each approved company becomes its own connection and can be labelled, set primary, or disconnected.

1. Click Connect QuickBooks

Open Settings - Integrations and click Connect QuickBooks. You'll be redirected to Intuit's consent screen for the QuickBooks Online Accounting scope:

  • com.intuit.quickbooks.accounting — company info, customers, vendors, invoices, bills, payments, purchases, reports, chart of accounts, and related accounting entities.

2. Approve a company

After approval, Intuit redirects back with a realmId. ShopMCP exchanges the code, fetches QuickBooks CompanyInfo, and stores the OAuth tokens encrypted at rest.

Sandbox first

QuickBooks is sandbox-tested for its core accounting lifecycle: reads, reports, CDC, customer/item/vendor inactivation, invoice send and void, transaction deletes, deposit full-payload delete, and batch query. Writes still stay behind the workspace toggle and global launch gate.

3. Ask accounting questions

  • Show my QuickBooks company info.
  • List customers with open balances.
  • Find unpaid invoices over 30 days.
  • Run a P&L for last quarter.
  • Show aged receivables and aged payables.
  • Show invoices and customers changed since yesterday.

4. Optional writes

Write tools only appear when the workspace Allow writestoggle is enabled and the global integration writes mode allows it. ShopMCP follows QuickBooks' accounting semantics: list records such as customers, vendors, items, accounts, classes, and employees are inactivated; supported transactions can be deleted or voided; invoices and other supported forms can be sent by email. Review every write intent before approving because QuickBooks changes affect live accounting records.

Purchase order payloads need valid accounts

QuickBooks purchase orders can be created and updated through ShopMCP, but QuickBooks still validates the accounting payload for the connected company. A safe starting point is an account-based expense line with APAccountRef and AccountBasedExpenseLineDetail.AccountRef. Item-based purchase order lines can also work, but only when the selected item is configured with the right purchasing/account context inside QuickBooks.
json
{ "VendorRef": { "value": "56", "name": "Bob's Burger Joint" }, "APAccountRef": { "value": "33", "name": "Accounts Payable (A/P)" }, "Line": [ { "DetailType": "AccountBasedExpenseLineDetail", "Amount": 1.23, "Description": "Purchase order line", "AccountBasedExpenseLineDetail": { "AccountRef": { "value": "69", "name": "Accounting" }, "TaxCodeRef": { "value": "NON" }, "BillableStatus": "NotBillable" } } ] }