QuickBooks MCP
MCP server for QuickBooks Online API integration
Connector by laf-rge · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/laf-rge-quickbooks-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 18 read · 22 write · 1 delete
- Secrets
- 3 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 41
Read from the source code; the running server may list different tools.
Read 18 · Look things up without changing anything.
account_period_summaryget_balance_sheetget_billget_bill_paymentget_company_infoget_customerget_depositget_expenseget_invoiceget_journal_entryget_profit_lossget_report
Show 6 more tools
get_sales_receiptget_trial_balanceget_vendor_creditlist_accountsqueryquery_account_transactions
Write 22 · Create, change, send or run things.
create_billcreate_bill_paymentcreate_customercreate_depositcreate_expensecreate_invoicecreate_journal_entrycreate_sales_receiptcreate_transfercreate_vendorcreate_vendor_creditedit_bill
Show 10 more tools
edit_customeredit_depositedit_expenseedit_invoiceedit_journal_entryedit_sales_receiptedit_vendoredit_vendor_creditqbo_authenticatereceive_payment
Delete 1 · Delete, drop, revoke or wipe things.
delete_entity
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
QBO_CLIENT_IDQBO_CLIENT_SECRETQBO_CREDENTIAL_MODE
Other settings (environment variables or headers).
QBO_SANDBOX
Network hosts it talks to 6
app.qbo.intuit.com· found in codeapp.sandbox.qbo.intuit.com· found in codedeveloper.intuit.com· found in codegithub.com· found in codelogin.microsoftonline.com· found in codests.windows.net· found in code
Files it touches
- Your home directory (~)
Tools (41)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
account_period_summarySummarize QuickBooks account periodread-onlyGet a period summary for an account: opening balance, total debits/credits, closing balance, and transaction count. Uses the General Ledger report. Supports department filtering.
create_billCreate QuickBooks billCreate a vendor bill. Accepts vendor/account/department names (will lookup IDs automatically). Note: DepartmentRef is header-level only — for multi-department splits, create separate bills (one per department). Returns bill details and a link to view in QuickBooks.
create_bill_paymentCreate QuickBooks bill paymentCreate a bill payment (the QBO 'check' / 'pay bills' flow). Pays one or more existing bills and optionally applies vendor credits, clearing Accounts Payable. Use this to record vendor ACH/EFT debits or checks so the bank feed can match them — especially when a bank charge equals bills minus credit memos. Amounts default to each bill's open balance and each credit's remaining balance. Returns payment details and a link to view in QuickBooks.
create_customerCreate QuickBooks customerCreate a customer or sub-customer. Accepts name parts, contact info, addresses, and hierarchy settings. Use parent_ref to create sub-customers or jobs. Returns customer details and a link to view in QuickBooks.
create_depositCreate QuickBooks depositCreate a bank deposit. Accepts account/department/entity names (will lookup IDs automatically). Lines represent the sources of the deposit — amounts can be positive (income) or negative (fees, deductions). Each line may name the vendor, customer, or employee it came from via entity_name/entity_type. QuickBooks computes the total from line amounts. Returns deposit details and a link to view in QuickBooks.
create_expenseCreate QuickBooks expenseCreate an expense (Purchase). Accepts account/department/payee names (will lookup IDs automatically). Covers Cash, Check, and Credit Card payment types. The payee may be a vendor, customer, or employee — set entity_type to say which (defaults to Vendor). Note: PaymentType cannot be changed after creation. DepartmentRef is header-level only. Returns expense details and a link to view in QuickBooks.
create_invoiceCreate QuickBooks invoiceCreate an invoice. Accepts item/customer/department names (will lookup IDs automatically). Either customer_name or customer_id is REQUIRED — invoices must have a customer. Lines use SalesItemLineDetail (product/service references, not accounts). Returns invoice details and a link to view in QuickBooks.
create_journal_entryCreate QuickBooks journal entryCreate a journal entry. Accepts account/department/entity names (will lookup IDs automatically). Validates debits=credits before creating. Lines may carry an entity (vendor, customer, or employee) — QuickBooks requires one on any line posting to Accounts Receivable or Accounts Payable. Returns entry details and a link to view in QuickBooks.
create_sales_receiptCreate QuickBooks sales receiptCreate a sales receipt. Accepts item/customer/department names (will lookup IDs automatically). Lines reference items (products/services) not accounts. Returns receipt details and a link to view in QuickBooks.
create_transferCreate QuickBooks transferMove money between two of the company's own accounts (QuickBooks 'Transfer') — bank to bank, or a credit-card paydown. Use this rather than create_expense, which would book the outflow as an expense and never touch the receiving account, or create_journal_entry, which posts the right result but does not read as a transfer in the register or the bank-feed match screen. Defaults to draft: true for a preview.
create_vendorCreate QuickBooks vendorCreate a vendor.
create_vendor_creditCreate QuickBooks vendor creditCreate a vendor credit. Accepts vendor/account/department names (will lookup IDs automatically). Lines represent credit amounts applied to expense accounts. Returns credit details and a link to view in QuickBooks.
delete_entityDelete QuickBooks transactioncan change or delete dataPermanently delete a QuickBooks transaction. Supports journal entries, bills, invoices, deposits, sales receipts, expenses, vendor credits, bill payments, and attachments. Uses a two-step flow: first call previews what will be deleted, second call with confirm=true executes the deletion. Note: Customers cannot be deleted — use edit_customer with active=false to deactivate instead.
edit_billEdit QuickBooks billModify an existing bill. Can update vendor, date, due date, memo, and/or lines. For lines: provide line_id to update existing line, omit to add new line, set delete=true to remove. A line_id preserves the line's existing customer unless customer_name/customer_id is given; pass customer_name: "" to clear it. Note: DepartmentRef is header-level only — lines do not support department.
edit_customerEdit QuickBooks customerModify an existing customer. Can update name, contact info, addresses, notes, taxable status, active status, hierarchy (parent/sub-customer), delivery method, and payment terms. Set active=false to deactivate (QuickBooks equivalent of delete).
Show 26 more tools
edit_depositEdit QuickBooks depositModify an existing deposit. Can update date, memo, deposit account, department, and/or lines. CRITICAL for line changes: The QB Deposit API does NOT replace lines - it merges them. Lines WITH line_id update existing lines. Lines WITHOUT line_id are ADDED as new. Lines NOT included are KEPT unchanged. To 'delete' a line, you must include ALL existing lines with their line_ids and set unwanted lines to amount: 0. Line amounts must sum to the original deposit total (use expected_total to override for corrupted deposits). Entity (vendor/customer/employee) can be set on any line, new or existing, v…
edit_expenseEdit QuickBooks expenseModify an existing expense (Purchase). Can update date, memo, payment account, payee, and/or lines. The payee may be a vendor, customer, or employee — set entity_type to say which (defaults to Vendor). Note: PaymentType (Cash/Check/CreditCard) cannot be changed after creation.
edit_invoiceEdit QuickBooks invoiceModify an existing invoice. Can update date, due date, memo, customer, department, terms, email, online payment settings, and/or lines. For lines: provide line_id to update existing line, omit line_id to add new line (requires item_name), set delete=true to remove.
edit_journal_entryEdit QuickBooks journal entryModify an existing journal entry. Can update date, memo, doc_number, and/or lines. For lines: provide line_id to update existing line, omit line_id to add new line, set delete=true to remove a line. A line_id preserves the line's existing entity unless entity_name/entity_id is given; pass entity_name: "" to clear it. Validates debits=credits before saving.
edit_sales_receiptEdit QuickBooks sales receiptModify an existing sales receipt. Can update date, memo, customer, deposit account, department, and/or lines. For lines: provide line_id to update existing line, omit line_id to add new line (requires item_name), set delete=true to remove.
edit_vendorEdit QuickBooks vendorSparse-update a vendor: only fields passed change; bill_address merges into the stored address. active=false deactivates. Read vendors with query (SELECT * FROM Vendor WHERE ...).
edit_vendor_creditEdit QuickBooks vendor creditModify an existing vendor credit. Can update vendor, date, memo, ref number, and/or lines. For lines: provide line_id to update existing line, omit line_id to add new line (requires amount and account_name), set delete=true to remove. A line_id preserves the line's existing customer unless customer_name/customer_id is given; pass customer_name: "" to clear it. Note: DepartmentRef is header-level only — lines do not support department.
get_balance_sheetGet QuickBooks balance sheetread-onlyGet a Balance Sheet report. Can be broken down by department/location.
get_billGet QuickBooks billread-onlyFetch a single bill by ID with full details including SyncToken (needed for edits). Returns vendor, date, due date, amount, AP account, line details.
get_bill_paymentGet QuickBooks bill paymentread-onlyFetch a single bill payment by ID with full details including SyncToken. Shows vendor, date, pay type, bank account, linked bills/credits with applied amounts, and flags any unapplied amount (payment total not matching net applied lines).
get_company_infoGet QuickBooks company inforead-onlyGet information about the connected QuickBooks company.
get_customerGet QuickBooks customerread-onlyFetch a single customer by ID with full details including SyncToken (needed for edits). Returns name, contact info, addresses, balance, hierarchy (parent/sub-customer), and active status.
get_depositGet QuickBooks depositread-onlyFetch a single deposit by ID with full details including SyncToken (needed for edits). Returns deposit account, date, memo, and line details showing source accounts and amounts.
get_expenseGet QuickBooks expenseread-onlyFetch a single expense (Purchase) by ID with full details including SyncToken. Covers Expenses, Checks, and Credit Card charges. Returns payment type, account, date, amount, line details.
get_invoiceGet QuickBooks invoiceread-onlyFetch a single invoice by ID with full details including SyncToken (needed for edits). Returns customer, date, due date, balance, department, line details with items/qty/price.
get_journal_entryGet QuickBooks journal entryread-onlyFetch a single journal entry by ID with full details including SyncToken (needed for edits). Returns formatted summary and writes full object to temp file.
get_profit_lossGet QuickBooks profit and lossread-onlyGet a Profit and Loss (Income Statement) report. Can be broken down by department/location.
get_reportRun QuickBooks reportread-onlyRun a QuickBooks report that has no dedicated tool: A/R and A/P aging, customer and vendor balances, transaction lists, general ledger, journal, sales by customer/item/class/department, cash flow, and detail variants. Answers what is outstanding and how old it is, which the entity query tools cannot — a report sees postings that carry no account reference in entity JSON. Profit and Loss, Balance Sheet and Trial Balance have their own tools.
get_sales_receiptGet QuickBooks sales receiptread-onlyFetch a single sales receipt by ID with full details including SyncToken (needed for edits). Returns customer, date, deposit account, department, line details with items/qty/price.
get_trial_balanceGet QuickBooks trial balanceread-onlyGet a Trial Balance report. Useful for month-end close and reconciliation. Note: Trial Balance does not support department/location breakdown in QuickBooks Online.
get_vendor_creditGet QuickBooks vendor creditread-onlyFetch a single vendor credit by ID with full details including SyncToken (needed for edits). Returns vendor, date, memo, ref number, AP account, and line details showing expense accounts and amounts.
list_accountsList QuickBooks accountsread-onlyList all accounts in the chart of accounts. Returns AcctNum (the user-facing account number), Name, AccountType, AccountSubType, and CurrentBalance. Use AcctNum to reference accounts in other queries or operations.
qbo_authenticateAuthenticate with QuickBooksAuthenticate with QuickBooks using OAuth (local credential mode only). Step 1: Call with no arguments to get the authorization URL. Step 2: After authorizing in browser, call with authorization_code and realm_id from the callback URL. This tool only works when QBO_CREDENTIAL_MODE is 'local' (the default).
queryQuery QuickBooksread-onlyExecute a QuickBooks query using SQL-like syntax. Supports querying any entity type (Customer, Vendor, Invoice, Bill, Account, Item, Department, etc.). Results are written to a file to preserve context. Defaults to MAXRESULTS 1000 if not specified. Examples: 'SELECT * FROM Customer', 'SELECT * FROM SalesReceipt WHERE TxnDate >= \'2025-11-01\' AND TxnDate <= \'2025-11-30\''
query_account_transactionsQuery QuickBooks account transactionsread-onlyQuery all transactions affecting a specific account, across all 13 posting transaction types. Returns a consolidated list with date, type, amount (debit/credit), and description. Useful for investigating account balance discrepancies. Note: the A/R side of invoices, credit memos, and payments has no account reference in QBO's data model and cannot appear here — use account_period_summary for A/R totals.
receive_paymentReceive QuickBooks customer paymentRecord a customer payment against one or more open invoices (QuickBooks 'Receive Payment'), clearing Accounts Receivable. This is the A/R counterpart to create_bill_payment. Not a deposit — create_deposit banks money without settling an invoice — and not a sales receipt, which records a sale that was paid outright and never had an invoice. Defaults to draft: true for a preview.
Signals
- Stars
- 14
- Forks
- 14
- Open issues
- 1
- Last commit
- Oct 19, 2026 (9 days ago)
- Last release
- Oct 19, 2026 (9 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.laf-rge/quickbooks-mcp- Version
- 0.12.0
- Auth
- API key
- Packages
- npm quickbooks-mcp
- License
- MIT
- Repository
- github.com/laf-rge/quickbooks-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Cite this page
QuickBooks MCP. Agent Mart. https://agentmart.dev/connectors/laf-rge-quickbooks-mcp (last updated 2026-10-24)