| Installation / prerequisites | Supported, observed: install bea 0.1.0; no account for local commands | Supported: single binary via package manager or Docker (1.52.3) | Supported with prerequisites: Node 18+, developer account, API credentials | Supported with prerequisites: clone, build, configure; Intuit developer app required | Supported with prerequisites: Claude.ai plus Puzzle accounts, connector URL |
|---|
| Authentication | None needed locally; hosted credentials only for bea ask | None needed: local files, no accounts | Xero OAuth2: Custom Connection or PKCE browser login | Intuit OAuth2 app handshake; sandbox takes localhost, production needs public HTTPS | Puzzle OAuth via Claude connector, read-only grant; re-auth every 5 days |
|---|
| Read / write scope | Reads and writes, observed: query, report, preview-then-apply import | Reads via reports; writes by appending and via import | Reads plus documented create/update writes, scoped by OAuth grants | Full create, read, update, delete and search; writable categories can be disabled | Read-only by design: 40-plus read endpoints, nothing writable |
|---|
| Local vs cloud data | Local: plain-text ledger files | Local: plain-text journal | Cloud: tools run locally, ledger lives in the Xero org | Cloud: local stdio subprocess, ledger lives in the QBO company | Cloud: remote MCP endpoint over Puzzle data |
|---|
| Preview / validation | Observed: preview 3 ready / 0 written; check valid; unbalanced write rejected | Documented: import dry run; entries balanced and validated; check command | Field-level input validation; preview-before-write unverified | Schema input validation; preview-before-write unverified | Not applicable: no write path to preview |
|---|
| Structured output | Observed: JSON envelopes with rows and columns, exit codes, BQL | Reports to terminal, HTML, CSV, JSON or SQL | JSON, CSV and TOON output modes | MCP tool results plus invoice PDF download | Unverified: conversational answers; result envelope not covered |
|---|
| Repeated imports | Observed repeat-safe: reimport writes 0, bytes preserved | Documented idempotent re-import via hidden state files | Unverified in the sources checked | Unverified in the sources checked | Not applicable: no import path |
|---|