io.github.laf-rge/quickbooks-mcp
NPM · QUICKBOOKS-MCP · SCANNED AUG 3
MCP server for QuickBooks Online API integration
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security80
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known high-severity CVE affects uuid 8.3.2, reached via node-quickbooks > uuid. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (198 of 199), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 2 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability65
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 6564 tokens (~182/item across 36 items; 36 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
- Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · quickbooks-mcp
claude mcp add laf-rge-quickbooks-mcp -- npx -y quickbooks-mcp
codex mcp add laf-rge-quickbooks-mcp -- npx -y quickbooks-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"laf-rge-quickbooks-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"quickbooks-mcp"
],
"enabled": true
}
}
} openclaw mcp add laf-rge-quickbooks-mcp --command npx --arg -y --arg quickbooks-mcp
mcp_servers:
laf-rge-quickbooks-mcp:
command: "npx"
args: ["-y", "quickbooks-mcp"] {
"mcpServers": {
"laf-rge-quickbooks-mcp": {
"command": "npx",
"args": [
"-y",
"quickbooks-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Aug 26 +44
- CVE-2026-41650 affects this package: high ▼ security
- CVE-2026-41907 affects this package: high ▼ security
- CVE-2026-27601 affects this package: high ▼ security
- Known CVEs: unverified → fail ▼ security
- Provenance: unverified → fail ▼ security
- Install scripts: unverified → pass ▲ security
- Security disclosure: fail → unverified ▼ functional
- MCP protocol: unverified → pass ▲ functional
- Maintenance: unverified → pass ▲ functional
- Stability: unverified → 0.20 ▲ functional
- Dependency health: unverified → partial ▲ functional
- License: unverified → pass ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- Schema quality: unverified → excellent ▲ functional
- Licence: MIT functional
- 31 Jul 26 +12
- Malware scan: unverified → pass ▲ security
- First check of Stability: unverified security
- Dependency health: partial → unverified ▼ functional
- First check of Capabilities: unverified functional
- Package version: 0.5.2 → 0.7.1 functional
- Package version: 0.5.2 → 0.6.0 functional
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 −35
- Malware scan: pass → unverified ▼ security
- Tool coverage: 100 → unverified ▼ functional
- Dependency health: unverified → partial ▲ functional
- 28 Jul 26 +19
- Tool coverage: unverified → 100 ▲ functional
- First check of Tool coverage: 100 functional
- First check of Schema quality: unverified functional
- First check of Schema quality: fail functional
- First check of Schema quality: fail functional
- 27 Jul 26 24
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed npm/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Vulnerabilities 3 findings
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-gh4j-gqv2-49f6 | CVE-2026-41650 | medium | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N | yes |
| GHSA-qpx9-hpmf-5gmw | CVE-2026-27601 | medium | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H | yes |
| GHSA-w5hq-g745-h8pq | CVE-2026-41907 | high | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N | yes |
Dependencies 198 packages
198 packages in the resolved dependency tree · 180 deprecated · 68 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
account_period_summary ~132
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.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account name, number (AcctNum), or ID |
| accounting_method | string | — | Accounting method: 'Accrual' (default) or 'Cash' |
| department | string | — | Filter to specific department/location (optional) |
| end_date | string | — | End date YYYY-MM-DD (default: today) |
| start_date | string | — | Start date YYYY-MM-DD (default: start of year) |
No output schema declared.
No examples provided.
create_bill ~294
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.
| Name | Type | Req | Description |
|---|---|---|---|
| ap_account | string | — | Accounts Payable account name or number (optional, defaults to standard AP) |
| department_id | string | — | Header-level department/location ID (use if you already know it, otherwise use department_name) |
| department_name | string | — | Header-level department/location name (e.g., '20358', 'Cotati'). Will be looked up to get ID. |
| doc_number | string | — | Reference number for the bill (optional) |
| draft | boolean | — | If true, validate and show preview without creating (default: true) |
| due_date | string | — | Due date in YYYY-MM-DD format (optional) |
| lines | array | yes | Array of expense line items. Provide account_name OR account_id (name preferred). |
| memo | string | — | Private memo for the bill |
| txn_date | string | yes | Transaction date in YYYY-MM-DD format |
| vendor_id | string | — | Vendor ID (use if you already know it, otherwise use vendor_name) |
| vendor_name | string | — | Vendor display name (e.g., 'Simplisafe', 'PG&E'). Will be looked up to get ID. |
No output schema declared.
No examples provided.
create_bill_payment ~321
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 payment details and a link to view in QuickBooks.
| Name | Type | Req | Description |
|---|---|---|---|
| bills | array | yes | Bills to pay. Each bill must belong to the vendor and have an open balance. |
| credits | array | — | Vendor credits to apply against the bills (optional). Each credit must belong to the vendor and have remaining balance. |
| doc_number | string | — | Reference number, e.g., check number or EFT reference (optional) |
| draft | boolean | — | If true, validate and show preview without creating (default: true) |
| memo | string | — | Private memo for the payment |
| payment_account | string | yes | Bank account name or number the payment is drawn from (e.g., 'PLAT BUS CHECKING', '5752'). Will be looked up to get ID. |
| txn_date | string | yes | Payment date in YYYY-MM-DD format (use the bank debit date for bank-feed matching) |
| vendor_id | string | — | Vendor ID (use if you already know it, otherwise use vendor_name) |
| vendor_name | string | — | Vendor display name (e.g., 'US Foods'). Will be looked up to get ID. |
No output schema declared.
No examples provided.
create_customer ~385
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.
| Name | Type | Req | Description |
|---|---|---|---|
| bill_address | object | — | Billing address (optional) |
| bill_with_parent | boolean | — | If true, invoices for this sub-customer are billed to the parent (default: false) |
| company_name | string | — | Company name (optional) |
| display_name | string | yes | Primary display name (must be unique in QuickBooks) |
| draft | boolean | — | If true, validate and show preview without creating (default: true) |
| string | — | Primary email address (optional) | |
| family_name | string | — | Last/family name (optional) |
| given_name | string | — | First/given name (optional) |
| job | boolean | — | Mark this customer as a job (default: false). Jobs track work for a parent customer. |
| middle_name | string | — | Middle name (optional) |
| mobile | string | — | Mobile phone number (optional) |
| notes | string | — | Notes about the customer (optional) |
| parent_ref | string | — | Parent customer name or ID to create a sub-customer or job. Will be looked up to get ID. |
| phone | string | — | Primary phone number (optional) |
| preferred_delivery_method | string | — | How invoices are delivered: Print, Email, or None |
| sales_term_ref | string | — | Default payment terms name (e.g., 'Net 30'). Will be looked up to get ID. |
| ship_address | object | — | Shipping address (optional, same shape as bill_address) |
| suffix | string | — | Name suffix, e.g., 'Jr.' (optional) |
| taxable | boolean | — | Whether the customer is taxable (optional) |
No output schema declared.
No examples provided.
create_deposit ~242
Create a bank deposit. Accepts account/department/vendor names (will lookup IDs automatically). Lines represent the sources of the deposit — amounts can be positive (income) or negative (fees, deductions). QuickBooks computes the total from line amounts. Returns deposit details and a link to view in QuickBooks.
| Name | Type | Req | Description |
|---|---|---|---|
| department_id | string | — | Header-level department/location ID (use if you already know it, otherwise use department_name) |
| department_name | string | — | Header-level department/location name (e.g., '20358', 'Cotati'). Will be looked up to get ID. |
| deposit_to_account | string | yes | Bank account name or number receiving the deposit (e.g., 'PLAT BUS CHECKING', '5752'). Will be looked up to get ID. |
| draft | boolean | — | If true, validate and show preview without creating (default: true) |
| lines | array | yes | Array of deposit line items. Each line represents a source of the deposit. Amounts can be positive or negative. |
| memo | string | — | Private memo for the deposit |
| txn_date | string | yes | Transaction date in YYYY-MM-DD format |
No output schema declared.
No examples provided.
create_expense ~331
Create an expense (Purchase). Accepts account/department/vendor names (will lookup IDs automatically). Covers Cash, Check, and Credit Card payment types. Note: PaymentType cannot be changed after creation. DepartmentRef is header-level only. Returns expense details and a link to view in QuickBooks.
| Name | Type | Req | Description |
|---|---|---|---|
| department_id | string | — | Header-level department/location ID (use if you already know it, otherwise use department_name) |
| department_name | string | — | Header-level department/location name (e.g., '20358', 'Cotati'). Will be looked up to get ID. |
| doc_number | string | — | Reference number for the expense (optional) |
| draft | boolean | — | If true, validate and show preview without creating (default: true) |
| entity_id | string | — | Payee/vendor ID (use if you already know it, otherwise use entity_name) |
| entity_name | string | — | Payee/vendor display name (e.g., 'Simplisafe', 'PG&E'). Will be looked up to get ID. |
| lines | array | yes | Array of expense line items. Provide account_name OR account_id (name preferred). |
| memo | string | — | Private memo for the expense |
| payment_account | string | yes | Bank or credit card account name or number (e.g., 'PLAT BUS CHECKING', '5752'). Will be looked up to get ID. |
| payment_type | string | yes | Payment method: 'Cash', 'Check', or 'CreditCard'. Cannot be changed after creation. |
| txn_date | string | yes | Transaction date in YYYY-MM-DD format |
No output schema declared.
No examples provided.
create_invoice ~434
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.
| Name | Type | Req | Description |
|---|---|---|---|
| allow_online_ach_payment | boolean | — | Allow customer to pay this invoice via bank transfer (ACH) online. Must be explicitly set — company defaults do not apply via API. |
| allow_online_credit_card_payment | boolean | — | Allow customer to pay this invoice with a credit card online. Must be explicitly set — company defaults do not apply via API. |
| bill_email | string | — | Email address to send the invoice to. Required if you want QuickBooks to email the invoice. |
| customer_id | string | — | Customer ID (use if you already know it, otherwise use customer_name) |
| customer_memo | string | — | Customer-facing message visible on the invoice |
| customer_name | string | — | Customer display name (e.g., 'Cash Sales'). Will be looked up to get ID. |
| department_id | string | — | Header-level department/location ID (use if you already know it, otherwise use department_name) |
| department_name | string | — | Header-level department/location name (e.g., '20358', 'Cotati'). Will be looked up to get ID. |
| doc_number | string | — | Reference number for the invoice (optional) |
| draft | boolean | — | If true, validate and show preview without creating (default: true) |
| due_date | string | — | Due date in YYYY-MM-DD format (optional) |
| lines | array | yes | Array of line items. Each line references an item (product/service). Provide item_name OR item_id (name preferred). |
| memo | string | — | Private memo for the invoice (internal, not visible to customer) |
| sales_term_ref | string | — | Payment terms name (e.g., 'Net 30', 'Due on receipt'). Will be looked up to get ID. |
| txn_date | string | yes | Transaction date in YYYY-MM-DD format |
No output schema declared.
No examples provided.
create_journal_entry ~160
Create a journal entry. Accepts account/department names (will lookup IDs automatically). Validates debits=credits before creating. Returns entry details and a link to view in QuickBooks.
| Name | Type | Req | Description |
|---|---|---|---|
| doc_number | string | — | Journal number (shown as 'Journal no.' in QuickBooks). If not specified, QuickBooks will auto-assign the next number. |
| draft | boolean | — | If true, validate and show preview without creating (default: true) |
| lines | array | yes | Array of line items. Provide account_name OR account_id (name preferred). Optionally provide department_name OR department_id. |
| memo | string | — | Private memo for the journal entry |
| txn_date | string | yes | Transaction date in YYYY-MM-DD format |
No output schema declared.
No examples provided.
create_sales_receipt ~288
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.
| Name | Type | Req | Description |
|---|---|---|---|
| customer_id | string | — | Customer ID (use if you already know it, otherwise use customer_name) |
| customer_name | string | — | Customer display name (e.g., 'Cash Sales'). Will be looked up to get ID. |
| department_id | string | — | Header-level department/location ID (use if you already know it, otherwise use department_name) |
| department_name | string | — | Header-level department/location name (e.g., '20358', 'Cotati'). Will be looked up to get ID. |
| deposit_to_account | string | — | Bank account name or number to deposit into (e.g., 'Undeposited Funds', '1000'). Will be looked up to get ID. |
| doc_number | string | — | Reference number for the sales receipt (optional) |
| draft | boolean | — | If true, validate and show preview without creating (default: true) |
| lines | array | yes | Array of line items. Each line references an item (product/service). Provide item_name OR item_id (name preferred). |
| memo | string | — | Private memo for the sales receipt |
| txn_date | string | yes | Transaction date in YYYY-MM-DD format |
No output schema declared.
No examples provided.
create_vendor_credit ~258
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.
| Name | Type | Req | Description |
|---|---|---|---|
| ap_account | string | — | Accounts Payable account name or number (optional, defaults to standard AP) |
| department_id | string | — | Header-level department/location ID (use if you already know it, otherwise use department_name) |
| department_name | string | — | Header-level department/location name (e.g., '20358', 'Cotati'). Will be looked up to get ID. |
| doc_number | string | — | Reference number for the vendor credit (optional) |
| draft | boolean | — | If true, validate and show preview without creating (default: true) |
| lines | array | yes | Array of line items. Each line credits an expense account. |
| memo | string | — | Private memo for the vendor credit |
| txn_date | string | yes | Transaction date in YYYY-MM-DD format |
| vendor_id | string | — | Vendor ID (use if you already know it, otherwise use vendor_name) |
| vendor_name | string | — | Vendor display name (e.g., 'Acme Corp'). Will be looked up to get ID. |
No output schema declared.
No examples provided.
delete_entity ~133
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.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm | boolean | — | If true, execute the deletion. If false (default), show a preview of what will be deleted. |
| entity_type | string | yes | The type of entity to delete. |
| id | string | yes | The entity ID to delete. |
No output schema declared.
No examples provided.
edit_bill ~230
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. Note: DepartmentRef is header-level only — lines do not support department.
| Name | Type | Req | Description |
|---|---|---|---|
| department_name | string | — | Header-level department/location name (auto-resolved to ID) |
| doc_number | string | — | Reference number for the bill (optional) |
| draft | boolean | — | If true, validate and show preview without saving (default: true) |
| due_date | string | — | New due date in YYYY-MM-DD format (optional) |
| id | string | yes | Bill ID to edit |
| lines | array | — | Line modifications. Provide line_id to update existing, omit to add new. |
| memo | string | — | New private memo (optional) |
| txn_date | string | — | New transaction date in YYYY-MM-DD format (optional) |
| vendor_name | string | — | New vendor display name (e.g., 'Simplisafe', 'PG&E'). Auto-resolved to ID. |
No output schema declared.
No examples provided.
edit_customer ~369
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).
| Name | Type | Req | Description |
|---|---|---|---|
| active | boolean | — | Set to false to deactivate customer (QuickBooks equivalent of delete) |
| bill_address | object | — | New billing address |
| bill_with_parent | boolean | — | Bill this sub-customer with its parent |
| company_name | string | — | New company name |
| display_name | string | — | New display name (must be unique in QuickBooks) |
| draft | boolean | — | If true, validate and show preview without saving (default: true) |
| string | — | New primary email address | |
| family_name | string | — | New last/family name |
| given_name | string | — | New first/given name |
| id | string | yes | Customer ID to edit |
| job | boolean | — | Mark as a job (tracks work for a parent customer) |
| middle_name | string | — | New middle name |
| mobile | string | — | New mobile phone number |
| notes | string | — | New notes about the customer |
| parent_ref | string | — | Parent customer name or ID (makes this a sub-customer). Auto-resolved to ID. |
| phone | string | — | New primary phone number |
| preferred_delivery_method | string | — | How invoices are delivered: Print, Email, or None |
| sales_term_ref | string | — | Default payment terms name (e.g., 'Net 30'). Auto-resolved to ID. |
| ship_address | object | — | New shipping address |
| suffix | string | — | New name suffix |
| taxable | boolean | — | Whether the customer is taxable |
No output schema declared.
No examples provided.
edit_deposit ~313
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 to amount: 0. Line amounts must sum to the original deposit total (use expected_total to override for corrupted deposits).
| Name | Type | Req | Description |
|---|---|---|---|
| department_name | string | — | Header-level department/location name (auto-resolved to ID) |
| deposit_to_account | string | — | New deposit account name/number (Bank account) |
| draft | boolean | — | If true, validate and show preview without saving (default: true) |
| expected_total | number | — | Override total validation with this expected amount (for fixing corrupted deposits). Lines must sum to this value instead of current deposit total. |
| id | string | yes | Deposit ID to edit |
| lines | array | — | IMPORTANT: You MUST include ALL existing lines with their line_ids. Lines without line_id are ADDED (not replaced). Lines not included are KEPT (not deleted). To 'delete' a line, set its amount to 0.… |
| memo | string | — | New private memo (optional) |
| txn_date | string | — | New transaction date in YYYY-MM-DD format (optional) |
No output schema declared.
No examples provided.
edit_expense ~229
Modify an existing expense (Purchase). Can update date, memo, payment account, and/or lines. Note: PaymentType (Cash/Check/CreditCard) cannot be changed after creation.
| Name | Type | Req | Description |
|---|---|---|---|
| department_name | string | — | Header-level department/location name (auto-resolved to ID) |
| draft | boolean | — | If true, validate and show preview without saving (default: true) |
| entity_id | string | — | Payee/vendor ID (use if you already know it, otherwise use entity_name) |
| entity_name | string | — | Payee/vendor display name (e.g., 'Cozzini Bros., Inc.'). Will be looked up to get ID. |
| id | string | yes | Expense (Purchase) ID to edit |
| lines | array | — | Line modifications. Provide line_id to update existing, omit to add new. |
| memo | string | — | New private memo (optional) |
| payment_account | string | — | New payment account name/number (Bank or Credit Card account) |
| txn_date | string | — | New transaction date in YYYY-MM-DD format (optional) |
No output schema declared.
No examples provided.
edit_invoice ~306
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.
| Name | Type | Req | Description |
|---|---|---|---|
| allow_online_ach_payment | boolean | — | Allow customer to pay via bank transfer (ACH) online |
| allow_online_credit_card_payment | boolean | — | Allow customer to pay with credit card online |
| bill_email | string | — | New email address to send the invoice to |
| customer_memo | string | — | New customer-facing message visible on the invoice |
| customer_name | string | — | New customer display name (auto-resolved to ID) |
| department_name | string | — | Header-level department/location name (auto-resolved to ID) |
| draft | boolean | — | If true, validate and show preview without saving (default: true) |
| due_date | string | — | New due date in YYYY-MM-DD format (optional) |
| id | string | yes | Invoice ID to edit |
| lines | array | — | Line modifications. Provide line_id to update existing line, omit to add new line. |
| memo | string | — | New private memo (optional) |
| sales_term_ref | string | — | Payment terms name (e.g., 'Net 30'). Auto-resolved to ID. |
| txn_date | string | — | New transaction date in YYYY-MM-DD format (optional) |
No output schema declared.
No examples provided.
edit_journal_entry ~163
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. Validates debits=credits before saving.
| Name | Type | Req | Description |
|---|---|---|---|
| doc_number | string | — | New journal number (optional) |
| draft | boolean | — | If true, validate and show preview without saving (default: true) |
| id | string | yes | Journal entry ID to edit |
| lines | array | — | Line modifications. Provide line_id to update existing line, omit to add new line. |
| memo | string | — | New private memo (optional) |
| txn_date | string | — | New transaction date in YYYY-MM-DD format (optional) |
No output schema declared.
No examples provided.
edit_sales_receipt ~182
Modify an existing sales receipt. Can update date, memo, 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.
| Name | Type | Req | Description |
|---|---|---|---|
| department_name | string | — | Header-level department/location name (auto-resolved to ID) |
| deposit_to_account | string | — | New deposit account name/number (Bank account) |
| draft | boolean | — | If true, validate and show preview without saving (default: true) |
| id | string | yes | Sales receipt ID to edit |
| lines | array | — | Line modifications. Provide line_id to update existing line, omit to add new line. |
| memo | string | — | New private memo (optional) |
| txn_date | string | — | New transaction date in YYYY-MM-DD format (optional) |
No output schema declared.
No examples provided.
edit_vendor_credit ~192
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. Note: DepartmentRef is header-level only — lines do not support department.
| Name | Type | Req | Description |
|---|---|---|---|
| doc_number | string | — | New reference number (optional) |
| draft | boolean | — | If true, validate and show preview without saving (default: true) |
| id | string | yes | Vendor Credit ID to edit |
| lines | array | — | Line modifications. Provide line_id to update existing line, omit to add new line. |
| memo | string | — | New private memo (optional) |
| txn_date | string | — | New transaction date in YYYY-MM-DD format (optional) |
| vendor_name | string | — | New vendor display name (auto-resolved to ID) |
No output schema declared.
No examples provided.
get_balance_sheet ~136
Get a Balance Sheet report. Can be broken down by department/location.
| Name | Type | Req | Description |
|---|---|---|---|
| accounting_method | string | — | Accounting method: 'Accrual' (default) or 'Cash' |
| as_of_date | string | — | Report as of this date in YYYY-MM-DD format (defaults to today) |
| department | string | — | Filter to a specific department/location ID |
| summarize_by | string | — | How to summarize columns: 'Total' (default), 'Month', 'Week', 'Days', 'Quarter', 'Year', 'Customers', 'Vendors', 'Classes', 'Departments', 'Employees', 'ProductsAndServices' |
No output schema declared.
No examples provided.
get_bill ~51
Fetch a single bill by ID with full details including SyncToken (needed for edits). Returns vendor, date, due date, amount, AP account, line details.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The bill ID |
No output schema declared.
No examples provided.
get_bill_payment ~68
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).
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The bill payment ID |
No output schema declared.
No examples provided.
get_company_info ~18
Get information about the connected QuickBooks company.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_customer ~56
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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The customer ID |
No output schema declared.
No examples provided.
get_deposit ~53
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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The deposit ID |
No output schema declared.
No examples provided.
get_expense ~61
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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The expense (Purchase) ID |
No output schema declared.
No examples provided.
get_invoice ~56
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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The invoice ID |
No output schema declared.
No examples provided.
get_journal_entry ~50
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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The journal entry ID |
No output schema declared.
No examples provided.
get_profit_loss ~148
Get a Profit and Loss (Income Statement) report. Can be broken down by department/location.
| Name | Type | Req | Description |
|---|---|---|---|
| accounting_method | string | — | Accounting method: 'Accrual' (default) or 'Cash' |
| department | string | — | Filter to a specific department/location ID |
| end_date | string | — | End date in YYYY-MM-DD format |
| start_date | string | — | Start date in YYYY-MM-DD format |
| summarize_by | string | — | How to summarize columns: 'Total' (default), 'Month', 'Week', 'Days', 'Quarter', 'Year', 'Customers', 'Vendors', 'Classes', 'Departments', 'Employees', 'ProductsAndServices' |
No output schema declared.
No examples provided.
get_sales_receipt ~58
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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The sales receipt ID |
No output schema declared.
No examples provided.
get_trial_balance ~90
Get a Trial Balance report. Useful for month-end close and reconciliation. Note: Trial Balance does not support department/location breakdown in QuickBooks Online.
| Name | Type | Req | Description |
|---|---|---|---|
| accounting_method | string | — | Accounting method: 'Accrual' (default) or 'Cash' |
| end_date | string | — | End date in YYYY-MM-DD format |
| start_date | string | — | Start date in YYYY-MM-DD format |
No output schema declared.
No examples provided.
get_vendor_credit ~60
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.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The vendor credit ID |
No output schema declared.
No examples provided.
list_accounts ~116
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.
| Name | Type | Req | Description |
|---|---|---|---|
| account_type | string | — | Optional filter by account type (e.g., 'Bank', 'Expense', 'Income', 'Other Current Asset', 'Fixed Asset', 'Other Current Liability', 'Equity') |
| active_only | boolean | — | If true, only return active accounts (default: true) |
No output schema declared.
No examples provided.
qbo_authenticate ~128
Authenticate 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).
| Name | Type | Req | Description |
|---|---|---|---|
| authorization_code | string | — | Authorization code from the QuickBooks OAuth callback URL (the 'code' parameter) |
| realm_id | string | — | Company/realm ID from the callback URL (the 'realmId' parameter). Required when providing authorization_code. |
No output schema declared.
No examples provided.
query ~191
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\''
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | The SQL-like query string, e.g. SELECT * FROM Bill WHERE TxnDate >= '2026-01-01'. Any queryable QBO entity works. Add MAXRESULTS N to limit results (default: 1000). Most transaction fields (Departmen… |
No output schema declared.
No examples provided.
query_account_transactions ~262
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 totals.
| Name | Type | Req | Description |
|---|---|---|---|
| account | string | yes | Account name, number (AcctNum), or ID. Examples: 'Tips', '2320', '116' |
| department | string | — | Filter to specific department/location (optional) |
| end_date | string | — | End date YYYY-MM-DD (default: today) |
| include_subaccounts | boolean | — | Also match transactions posting to sub-accounts of this account (default: false). Needed to reconcile against account_period_summary, which always rolls sub-accounts into the parent. |
| limit | number | — | Max transactions returned in detail. Totals always cover the whole period regardless of this. |
| offset | number | — | Skip this many transactions (default: 0). Page through long results using the offset the previous call reports. |
| start_date | string | — | Start date YYYY-MM-DD (default: start of year) |
No output schema declared.
No examples provided.