| name | quickbooks |
| description | This skill should be used when the user asks to "query quickbooks", "list customers", "list vendors", "list invoices", "get transactions", "check quickbooks", "quickbooks data", "accounting data", "list bills", "list deposits", "list purchases", "time activities", "list employees", "list accounts", or mentions QuickBooks Online operations. Provides read-only QuickBooks Online API integration. |
| version | 1.0.0 |
QuickBooks Skill
Read-only access to QuickBooks Online data including customers, vendors, invoices, bills, purchases, deposits, time activities, and more.
First-Time Setup
- Run
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts setup to see setup instructions
- Create credentials file at
.claude/quickbooks-skill.local.json
- Run
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts refresh to get access token
- Run
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts check to verify connection
Tokens are stored per-project in .claude/quickbooks-skill.local.json.
Commands
Connection Management
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts setup
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts check
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts refresh
Query Entities
All query commands support date filtering and pagination.
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts customers
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts customers --start=2024-01-01 --end=2024-12-31
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts vendors
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts employees
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts invoices --start=2024-01-01
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts invoices --query-by=TxnDate
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts bills --start=2024-01-01
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts purchases --start=2024-01-01
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts deposits --start=2024-01-01
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts payments --start=2024-01-01
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts timeactivities --start=2024-01-01
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts accounts
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts items
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts estimates --start=2024-01-01
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts salesreceipts --start=2024-01-01
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts creditmemos --start=2024-01-01
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts journalentries --start=2024-01-01
Get Specific Records
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts get Customer 123
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts get Invoice 456
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts get Purchase 789
Get Reference Maps
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts refs Account
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts refs Customer
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts refs Vendor
Query Options
| Option | Description | Example |
|---|
--start=DATE | Start date filter (YYYY-MM-DD) | --start=2024-01-01 |
--end=DATE | End date filter (YYYY-MM-DD) | --end=2024-12-31 |
--query-by=FIELD | Date field to filter on | --query-by=TxnDate |
--where=CONDITION | Additional WHERE clause | --where="Active = true" |
--max=N | Max results per page (default: 1000) | --max=100 |
Date Fields
MetaData.LastUpdatedTime - When record was last modified (default)
TxnDate - Transaction date (for transactions)
MetaData.CreateTime - When record was created
Supported Entities
| Entity | Command | Has TxnDate |
|---|
| Customer | customers | No |
| Vendor | vendors | No |
| Employee | employees | No |
| Account | accounts | No |
| Item | items | No |
| Invoice | invoices | Yes |
| Bill | bills | Yes |
| Purchase | purchases | Yes |
| Deposit | deposits | Yes |
| Payment | payments | Yes |
| TimeActivity | timeactivities | Yes |
| Estimate | estimates | Yes |
| SalesReceipt | salesreceipts | Yes |
| CreditMemo | creditmemos | Yes |
| JournalEntry | journalentries | Yes |
Output
All commands return JSON with success and data fields.
{
"success": true,
"data": {
"results": [...],
"count": 42,
"entity": "Customer"
}
}
Help
npx tsx ${CLAUDE_PLUGIN_ROOT}/scripts/quickbooks.ts --help