quickbooks_create_ estimateCreate a Estimate.
Raise and email invoices, chase what's unpaid, enter supplier bills, add customers and items, and pull P&L or aged receivables straight out of the company file it's connected to.
PopMCPQuickBooks
Every read, write and polled trigger PopMCP exposes across the Accounting API — sales, purchases, lists, items, reports, query and change data capture.
quickbooks_create_ estimateCreate a Estimate.
quickbooks_create_ invoiceCreate a Invoice.
quickbooks_create_ paymentCreate a Payment.
quickbooks_create_ salesreceiptCreate a SalesReceipt.
quickbooks_get_ estimateRead a single Estimate by Id.
quickbooks_get_ invoiceRead a single Invoice by Id.
quickbooks_get_ paymentRead a single Payment by Id.
quickbooks_get_ salesreceiptRead a single SalesReceipt by Id.
quickbooks_send_ invoiceEmail a Invoice.
quickbooks_update_ invoiceUpdate a Invoice.
quickbooks_create_ billCreate a Bill.
quickbooks_get_ billRead a single Bill by Id.
quickbooks_update_ billUpdate a Bill.
quickbooks_create_ attachableCreate an Attachable — a NOTE or a link/metadata attachment tied to one or more records.
quickbooks_create_ customerCreate a Customer.
quickbooks_get_ companyinfoRead the company profile (legal + company name, address, contact, fiscal year, country, subscription region).
quickbooks_get_ customerRead a single Customer by Id.
quickbooks_update_ customerUpdate a Customer.
quickbooks_cdcChange Data Capture — return every object of the requested entities created/updated/deleted/voided since a timestamp.
quickbooks_create_ accountCreate a Account.
quickbooks_create_ itemCreate a Item.
quickbooks_create_ vendorCreate a Vendor.
quickbooks_get_ accountRead a single Account by Id.
quickbooks_get_ itemRead a single Item by Id.
quickbooks_get_ vendorRead a single Vendor by Id.
quickbooks_queryRun a QuickBooks query (the SQL-like read language) — the primary way to LIST, FILTER, and COUNT records of any entity.
quickbooks_update_ itemUpdate a Item.
quickbooks_run_ reportRun a QuickBooks report and return its row/column data.
quickbooks_create_ creditmemoCreate a CreditMemo.
quickbooks_create_ refundreceiptCreate a RefundReceipt.
quickbooks_delete_ creditmemoDelete a CreditMemo (transaction entities only).
quickbooks_delete_ estimateDelete a Estimate (transaction entities only).
quickbooks_delete_ invoiceDelete a Invoice (transaction entities only).
quickbooks_delete_ paymentDelete a Payment (transaction entities only).
quickbooks_delete_ refundreceiptDelete a RefundReceipt (transaction entities only).
quickbooks_delete_ salesreceiptDelete a SalesReceipt (transaction entities only).
quickbooks_get_ creditmemoRead a single CreditMemo by Id.
quickbooks_get_ refundreceiptRead a single RefundReceipt by Id.
quickbooks_send_ creditmemoEmail a CreditMemo.
quickbooks_send_ estimateEmail a Estimate.
quickbooks_send_ refundreceiptEmail a RefundReceipt.
quickbooks_send_ salesreceiptEmail a SalesReceipt.
quickbooks_update_ creditmemoUpdate a CreditMemo.
quickbooks_update_ estimateUpdate a Estimate.
quickbooks_update_ paymentUpdate a Payment.
quickbooks_update_ refundreceiptUpdate a RefundReceipt.
quickbooks_update_ salesreceiptUpdate a SalesReceipt.
quickbooks_void_ invoiceVoid a Invoice (zeroes the amounts but keeps the record, unlike delete).
quickbooks_void_ paymentVoid a Payment (zeroes the amounts but keeps the record, unlike delete).
quickbooks_void_ salesreceiptVoid a SalesReceipt (zeroes the amounts but keeps the record, unlike delete).
quickbooks_create_ creditcardpaymentCreate a CreditCardPayment.
quickbooks_create_ depositCreate a Deposit.
quickbooks_create_ journalentryCreate a JournalEntry.
quickbooks_create_ recurringtransactionCreate a RecurringTransaction.
quickbooks_create_ timeactivityCreate a TimeActivity.
quickbooks_create_ transferCreate a Transfer.
quickbooks_delete_ creditcardpaymentDelete a CreditCardPayment (transaction entities only).
quickbooks_delete_ depositDelete a Deposit (transaction entities only).
quickbooks_delete_ journalentryDelete a JournalEntry (transaction entities only).
quickbooks_delete_ recurringtransactionDelete a RecurringTransaction (transaction entities only).
quickbooks_delete_ timeactivityDelete a TimeActivity (transaction entities only).
quickbooks_delete_ transferDelete a Transfer (transaction entities only).
quickbooks_get_ creditcardpaymentRead a single CreditCardPayment by Id.
quickbooks_get_ depositRead a single Deposit by Id.
quickbooks_get_ exchangerateRead the exchange rate for a source currency (against the company's home currency) as of a date.
quickbooks_get_ journalentryRead a single JournalEntry by Id.
quickbooks_get_ recurringtransactionRead a single RecurringTransaction by Id.
quickbooks_get_ reimbursechargeRead a single ReimburseCharge by Id (billable expenses awaiting reimbursement; created implicitly, read-only via the API).
quickbooks_get_ timeactivityRead a single TimeActivity by Id.
quickbooks_get_ transferRead a single Transfer by Id.
quickbooks_update_ creditcardpaymentUpdate a CreditCardPayment.
quickbooks_update_ depositUpdate a Deposit.
quickbooks_update_ exchangerateSet/override an exchange rate.
quickbooks_update_ journalentryUpdate a JournalEntry.
quickbooks_update_ recurringtransactionUpdate a RecurringTransaction.
quickbooks_update_ timeactivityUpdate a TimeActivity.
quickbooks_update_ transferUpdate a Transfer.
quickbooks_create_ billpaymentCreate a BillPayment.
quickbooks_create_ purchaseCreate a Purchase.
quickbooks_create_ purchaseorderCreate a PurchaseOrder.
quickbooks_create_ vendorcreditCreate a VendorCredit.
quickbooks_delete_ billDelete a Bill (transaction entities only).
quickbooks_delete_ billpaymentDelete a BillPayment (transaction entities only).
quickbooks_delete_ purchaseDelete a Purchase (transaction entities only).
quickbooks_delete_ purchaseorderDelete a PurchaseOrder (transaction entities only).
quickbooks_delete_ vendorcreditDelete a VendorCredit (transaction entities only).
quickbooks_get_ billpaymentRead a single BillPayment by Id.
quickbooks_get_ purchaseRead a single Purchase by Id.
quickbooks_get_ purchaseorderRead a single PurchaseOrder by Id.
quickbooks_get_ vendorcreditRead a single VendorCredit by Id.
quickbooks_send_ purchaseorderEmail a PurchaseOrder.
quickbooks_update_ billpaymentUpdate a BillPayment.
quickbooks_update_ purchaseUpdate a Purchase.
quickbooks_update_ purchaseorderUpdate a PurchaseOrder.
quickbooks_update_ vendorcreditUpdate a VendorCredit.
quickbooks_void_ billpaymentVoid a BillPayment (zeroes the amounts but keeps the record, unlike delete).
quickbooks_create_ classCreate a Class.
quickbooks_create_ companycurrencyCreate a CompanyCurrency.
quickbooks_create_ departmentCreate a Department.
quickbooks_create_ journalcodeCreate a JournalCode.
quickbooks_create_ paymentmethodCreate a PaymentMethod.
quickbooks_create_ termCreate a Term.
quickbooks_get_ budgetRead a single Budget by Id.
quickbooks_get_ classRead a single Class by Id.
quickbooks_get_ companycurrencyRead a single CompanyCurrency by Id.
quickbooks_get_ departmentRead a single Department by Id.
quickbooks_get_ journalcodeRead a single JournalCode by Id.
quickbooks_get_ paymentmethodRead a single PaymentMethod by Id.
quickbooks_get_ termRead a single Term by Id.
quickbooks_update_ classUpdate a Class.
quickbooks_update_ companycurrencyUpdate a CompanyCurrency.
quickbooks_update_ departmentUpdate a Department.
quickbooks_update_ journalcodeUpdate a JournalCode.
quickbooks_update_ paymentmethodUpdate a PaymentMethod.
quickbooks_update_ termUpdate a Term.
quickbooks_create_ tax_ codeCreate a TaxCode together with its TaxRate(s) in one call (the TaxService — the only way to create tax codes/rates via the API).
quickbooks_create_ taxagencyCreate a TaxAgency.
quickbooks_get_ taxagencyRead a single TaxAgency by Id.
quickbooks_get_ taxcodeRead a single TaxCode by Id.
quickbooks_get_ taxrateRead a single TaxRate by Id.
quickbooks_delete_ attachableDelete a Attachable (transaction entities only).
quickbooks_get_ attachableRead a single Attachable by Id (attachment/note metadata + its AttachableRef links to parent records).
quickbooks_get_ customertypeRead a single CustomerType by Id.
quickbooks_get_ preferencesRead the company's Preferences (the singleton settings object: sales/expense forms, accounting method default, currency, tax, etc.).
quickbooks_update_ attachableUpdate a Attachable.
quickbooks_update_ companyinfoUpdate the company profile.
quickbooks_update_ preferencesUpdate the company Preferences.
quickbooks_batchExecute up to 30 operations (create / update / delete / query / read, mixed) in ONE request.
quickbooks_create_ employeeCreate a Employee.
quickbooks_get_ employeeRead a single Employee by Id.
quickbooks_update_ accountUpdate a Account.
quickbooks_update_ employeeUpdate a Employee.
quickbooks_update_ vendorUpdate a Vendor.
Authorize once, then an endpoint your client signs into. Nothing to deploy, and nothing to install on the QuickBooks side.
Enter the Client ID and Client secret from your own Intuit app, plus an optional Environment, then authorize in the browser and pick the company. No password is shared and the connection locks to that one company file.
your-quickbooks-valueABxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx••••••••••••3f7aRead-only mode suits reporting work. Otherwise keep writes on and require approval, so deleting an invoice or credit memo, or emailing one to a customer, waits for your sign-off. The full catalog is a toggle away.
Drop the PopMCP URL into Claude, ChatGPT, Codex or any other supported client. It signs in through PopMCP with OAuth, so your QuickBooks credential never leaves the server.
app.popmcp.com/mcp/…Ask for something harmless before you turn writes on. Once it comes back clean, widen the tool set or switch the connection to full access.
Show me aged receivables and which invoices are over 60 days past due
quickbooks_run_reportok
Then just ask for the work
“Show me aged receivables and which invoices are over 60 days past due”
“Bump the due date on all open invoices for Acme Corp out by 14 days”
“Raise an invoice for Acme for 12 hours of onsite work and email it over”
“What changed on invoices and payments since Friday, and who still owes us?”
One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.
Add the PopMCP URL under Settings → Connectors and the tools appear in every chat.
The same endpoint, registered in the browser. Nothing to install on the machine you are working from.
Register PopMCP as a custom connector, then let ChatGPT read and update the account.
Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.
Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.
Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.
FAQ
What teams ask before putting QuickBooks behind an AI client.
Yes. The connect form asks for the Client ID and Client secret from an OAuth app in your own Intuit developer account, alongside an optional Environment field. You then authorize in the browser and choose the company, so your QuickBooks sign-in itself is never shared with PopMCP.
The connection is locked to the single company file you picked during authorization. Inside it, the agent works across the Accounting API: customers, vendors, items, invoices, bills, payments, estimates, sales receipts, journal entries, the chart of accounts, reports, the query language, batch operations and change data capture. Nothing outside that company file is in reach.
QuickBooks exposes one SQL-like read language, and query is the primary way to list, filter and count records of any entity. The get_ tools, such as get_invoice or get_customer, then pull a single record by Id once query has found it. Reports come back through run_report, and cdc answers "what changed since Tuesday" by returning every object of the entities you name that was created, updated, deleted or voided after a timestamp.
The connect form has an optional Environment field next to the Client ID and Client secret. Because the credentials come from your own Intuit app and you choose the company during authorization, you can point a first connection at a test company and run the write-heavy prompts there. Authorize a second connection for the live company file when you are happy with what the agent does — each connection stays locked to the one file you picked.
Only transaction entities have delete tools: delete_invoice, delete_estimate, delete_creditmemo, delete_payment, delete_refundreceipt and delete_salesreceipt. Name records such as customers, vendors and items have no delete at all — the agent changes them with update_customer, update_item and the like. To hold a deletion for a human, keep writes on and require approval; to take deletion off the table entirely, set the connection read-only so no write tool is exposed.
133 operations across 14 API modules, split 41 reads to 92 writes, plus 23 triggers PopMCP can watch. The 28 most-used operations load into your AI client by default and the rest stay searchable, which keeps the tool list from crowding out the model's context. Switch on the full catalog when you want every operation present at once.
No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.
Any client that supports a remote Streamable HTTP MCP server — Claude Desktop, Claude Web, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.
Loading 133 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 28-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. You can switch a connection to the full catalog at any time.
A tool is something your AI calls — there are 133 here. A trigger is something PopMCP watches for you: 23 QuickBooks events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into QuickBooks.
Launch a hosted MCP endpoint for QuickBooks, keep tool access under control, and start testing real workflow prompts right away.