{"name":"io.github.laf-rge/quickbooks-mcp","slug":"laf-rge-quickbooks-mcp","title":null,"description":"MCP server for QuickBooks Online API integration","url":"https://mcp.market/server/laf-rge-quickbooks-mcp","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"finance","tags":["finance"],"presence":{"score":37,"stars":13,"forks":13,"downloads_week":178,"last_push_at":"2026-08-24T21:53:38.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/laf-rge/quickbooks-mcp","website":null,"version":"0.11.0","remotes":[],"packages":[{"registryType":"npm","identifier":"quickbooks-mcp","version":"0.11.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"QuickBooks app Client ID from developer.intuit.com","format":"string","isSecret":true,"name":"QBO_CLIENT_ID"},{"description":"QuickBooks app Client Secret from developer.intuit.com","format":"string","isSecret":true,"name":"QBO_CLIENT_SECRET"},{"description":"Credential storage mode: 'local' (default) or 'aws'","format":"string","name":"QBO_CREDENTIAL_MODE"},{"description":"Set to 'true' to use QuickBooks sandbox environment","format":"string","name":"QBO_SANDBOX"}]}],"tools":[{"name":"account_period_summary","description":"Get a period summary for an account: opening balance, total debits/credits, closing balance, and transaction count. Uses the General Ledger report. Supports department filtering.","write_action":false,"price_micros":0,"input_schema":null},{"name":"create_bill","description":"Create 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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_bill_payment","description":"Create 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 payme","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_customer","description":"Create 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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_deposit","description":"Create 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 Quic","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_expense","description":"Create 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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_invoice","description":"Create 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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_journal_entry","description":"Create 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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_sales_receipt","description":"Create 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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_transfer","description":"Move 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","write_action":true,"price_micros":0,"input_schema":null},{"name":"create_vendor_credit","description":"Create 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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"delete_entity","description":"Permanently 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.","write_action":true,"price_micros":0,"input_schema":null},{"name":"edit_bill","description":"Modify 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"edit_customer","description":"Modify 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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"edit_deposit","description":"Modify 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","write_action":false,"price_micros":0,"input_schema":null},{"name":"edit_expense","description":"Modify 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"edit_invoice","description":"Modify 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"edit_journal_entry","description":"Modify 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"edit_sales_receipt","description":"Modify 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"edit_vendor_credit","description":"Modify 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 o","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_balance_sheet","description":"Get a Balance Sheet report. Can be broken down by department/location.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_bill","description":"Fetch a single bill by ID with full details including SyncToken (needed for edits). Returns vendor, date, due date, amount, AP account, line details.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_bill_payment","description":"Fetch 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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_company_info","description":"Get information about the connected QuickBooks company.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_customer","description":"Fetch 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_deposit","description":"Fetch 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_expense","description":"Fetch 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_invoice","description":"Fetch 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_journal_entry","description":"Fetch a single journal entry by ID with full details including SyncToken (needed for edits). Returns formatted summary and writes full object to temp file.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_profit_loss","description":"Get a Profit and Loss (Income Statement) report. Can be broken down by department/location.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_report","description":"Run 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 S","write_action":true,"price_micros":0,"input_schema":null},{"name":"get_sales_receipt","description":"Fetch 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_trial_balance","description":"Get a Trial Balance report. Useful for month-end close and reconciliation. Note: Trial Balance does not support department/location breakdown in QuickBooks Online.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_vendor_credit","description":"Fetch 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_accounts","description":"List 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"qbo_authenticate","description":"Authenticate with QuickBooks using OAuth (local credential mode only).","write_action":false,"price_micros":0,"input_schema":null},{"name":"query","description":"Execute 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\\''","write_action":true,"price_micros":0,"input_schema":null},{"name":"query_account_transactions","description":"Query 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 t","write_action":false,"price_micros":0,"input_schema":null},{"name":"receive_payment","description":"Record 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.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":83,"grade":"B","scanned_at":"2026-09-21T13:05:50.462Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-21T13:05:50.431Z","components":{"code":{"score":25,"max":25,"notes":["137 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 28 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"quickbooks-mcp","version":"0.11.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":8,"publishedAt":"2026-08-24T14:27:34.829Z","repositoryUrl":"git+https://github.com/laf-rge/quickbooks-mcp.git","weeklyDownloads":178}],"repo":{"found":true,"owner":"laf-rge","repo":"quickbooks-mcp","archived":false,"pushedAt":"2026-08-24T21:53:38Z","stars":13,"forks":13,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/4378539?v=4","ownerCreatedAt":"2013-05-08T15:45:09Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/4378539?v=4&s=128","source":"github"},"presence":{"stars":13,"forks":13,"downloadsWeek":178,"license":"MIT","lastPushAt":"2026-08-24T21:53:38.000Z","score":37}}}},"grade_history":[],"reviews":[]}