# Reported issues for quickbooks-mcp

Pod holds 8 of 8 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to [quickbooks-mcp](/mcp/quickbooks-mcp).

## Most discussed

### Expose the remaining node-quickbooks reports (A/R + A/P aging especially) via a generic get_report

### Summary

`node-quickbooks` declares 29 `report*` methods. The server surfaces three —
`reportBalanceSheet`, `reportProfitAndLoss`, `reportTrialBalance` — plus the
General Ledger read inside `account_period_summary`. The other 25 are reachable
on the client object today and exposed by nothing.

The gap that comes up most is **A/R and A/P aging**. There is currently no way
to answer "what is outstanding, and how old is it" through this server. It can
be approximated by querying every open Invo

[Read the thread](https://github.com/laf-rge/quickbooks-mcp/issues/60) · 2026-08-17 · closed · external user · 0 comments

### query_account_transactions understates silently on Bank accounts — cross-check the GL total

### Summary

`query_account_transactions` warns that a result may be incomplete only when the
resolved account is Accounts Receivable or Other Current Liability. Bank accounts
can be just as incomplete, and there the shortfall is silent — the summary line
reads like a complete register.

Proposal: cross-check the drill-down total against the General Ledger figure
`account_period_summary` already computes, and warn when they diverge.

### Evidence

Real US company file, one bank account, one mont

[Read the thread](https://github.com/laf-rge/quickbooks-mcp/issues/59) · 2026-08-17 · closed · external user · 0 comments

### receive_payment: apply a customer payment to an invoice (A/R counterpart to create_bill_payment)

### Problem

v0.9.0 added `create_bill_payment`, which closes the A/P side — pay bills, clear
Accounts Payable, let the bank feed match the debit. There is no A/R equivalent:
no way to apply a customer payment to an open invoice (the QBO `Payment` entity,
"Receive Payment" in the UI).

So an invoice can be created and read, and its A/R balance can be observed, but
it cannot be settled. For anyone reconciling deposits against open invoices, the
loop stops one step short — the deposit is visible i

[Read the thread](https://github.com/laf-rge/quickbooks-mcp/issues/58) · 2026-08-17 · closed · external user · 0 comments

### create_transfer: write support for the Transfer entity

### Problem

`query_account_transactions` reads Transfer correctly as of v0.9.0 — both sides,
signed off `ToAccountRef`/`FromAccountRef`. But there is no way to *create* one.

That leaves a gap in the reconcile-then-fix loop. When a bank register shows an
inter-account move or a credit-card paydown that was never booked, the read side
now names the problem precisely and the write side can't close it. The available
alternatives are all wrong in a way that matters later:

- `create_expense` books 

[Read the thread](https://github.com/laf-rge/quickbooks-mcp/issues/57) · 2026-08-17 · closed · external user · 0 comments

### Curious about the preview-before-commit design - how do your users prove what the AI changed afterwards?

Hi - found this repo looking at MCP servers built for real production use, and the safe-by-default design stood out: draft/preview mode before commits, "no accidental journal entries." That's rare in this space, and it's clearly built by someone who's felt the failure mode.

Genuine question from someone working on audit evidence for AI-driven workflows  the preview step protects the moment of change, but when a bookkeeper or CFO later needs to show WHAT the AI assistant changed and WHO approved

[Read the thread](https://github.com/laf-rge/quickbooks-mcp/issues/36) · 2026-08-04 · closed · external user · 1 comment

### Sandbox mode builds "View in QuickBooks" links to the production host (app.qbo.intuit.com)

**Version:** quickbooks-mcp 0.7.1 (also observed on 0.5.2), running with `QBO_SANDBOX=true`.

**Behavior:** Tool results include deep links built by `getQboUrl` (`dist/utils/urls.js`), e.g. `https://app.qbo.intuit.com/app/journal?txnId=146`. The host is hardcoded; when the server is running against a sandbox company the links should point at `https://app.sandbox.qbo.intuit.com`.

**Impact:** transaction ids are small integers that exist in both realms. A user who is signed into their **real** co

[Read the thread](https://github.com/laf-rge/quickbooks-mcp/issues/35) · 2026-08-01 · closed · external user · 0 comments

### Allow configuring report output directory via environment variable

## Feature Request: Configurable Report Output Directory

### Current Behavior

The server writes all report JSON files to a system temp directory created at startup:
```typescript
const tmpDir = tmp.dirSync({ prefix: "qb-reports-", unsafeCleanup: true });
reportsDir = tmpDir.name;
```

This results in paths like `/private/tmp/qb-reports--60579-c2M6iv0TnpMz/` on macOS, which are ephemeral and inaccessible to other processes (e.g., AI assistants running in sandboxed environments).

### Problem

W

[Read the thread](https://github.com/laf-rge/quickbooks-mcp/issues/12) · 2026-03-06 · closed · external user · 6 comments

### Class <> Department

## Problem

QBO supports two separate tracking dimensions: **Class** (`ClassRef`) and **Location** (`DepartmentRef`). Many QBO customers — particularly small businesses using department or project tracking — use Class rather than Location.

The current tool schemas for bills, invoices, and purchases expose `AccountRef` and `DepartmentRef` on line items but do not include `ClassRef`. This means any transaction posted via the MCP server will be missing the Class field, creating incomplete GL entri

[Read the thread](https://github.com/laf-rge/quickbooks-mcp/issues/11) · 2026-02-25 · closed · external user · 0 comments

## Most recent

The remaining reports are on [the project's issue tracker](https://github.com/laf-rge/quickbooks-mcp/issues).
