Plugin ID: quickbooks | Auth: OAuth2 | Scopes: com.intuit.quickbooks.accounting
All list tools use QuickBooks’ SQL-like query syntax. Pass an optional where clause to filter results (e.g. "DisplayName LIKE '%Acme%'"). Every tool requires a realmId (company ID) parameter.
quickbooks.customers.list
Name: List Customers
Query customers in QuickBooks Online.
Input:
| Parameter | Type | Required | Default | Description |
|---|
realmId | string | Yes | — | QuickBooks company/realm ID |
where | string | No | — | Optional WHERE clause |
limit | integer | No | 100 | Max results |
offset | integer | No | 1 | Start position |
Output:
{
"customers": [
{ "Id": "1", "DisplayName": "Acme Corp", "PrimaryEmailAddr": "billing@acme.com", "Balance": 1500.00 }
]
}
quickbooks.customers.get
Name: Get Customer
Get a single QuickBooks customer by ID.
Input:
| Parameter | Type | Required | Description |
|---|
realmId | string | Yes | QuickBooks company/realm ID |
customerId | string | Yes | Customer ID |
Output:
{ "customer": { "Id": "1", "DisplayName": "Acme Corp", "Balance": 1500.00, "..." : "..." } }
quickbooks.invoices.list
Name: List Invoices
Query invoices in QuickBooks Online.
Input:
| Parameter | Type | Required | Default | Description |
|---|
realmId | string | Yes | — | QuickBooks company/realm ID |
where | string | No | — | Optional WHERE clause |
limit | integer | No | 100 | Max results |
offset | integer | No | 1 | Start position |
Output:
{
"invoices": [
{ "Id": "101", "DocNumber": "INV-001", "CustomerRef": { "value": "1", "name": "Acme Corp" }, "TotalAmt": 5000.00, "Balance": 5000.00, "DueDate": "2026-05-01", "TxnDate": "2026-04-01" }
]
}
quickbooks.invoices.get
Name: Get Invoice
Get a single QuickBooks invoice by ID.
Input:
| Parameter | Type | Required | Description |
|---|
realmId | string | Yes | QuickBooks company/realm ID |
invoiceId | string | Yes | Invoice ID |
Output:
{ "invoice": { "Id": "101", "DocNumber": "INV-001", "TotalAmt": 5000.00, "..." : "..." } }
quickbooks.bills.list
Name: List Bills
Query bills (accounts payable) in QuickBooks Online.
Input:
| Parameter | Type | Required | Default | Description |
|---|
realmId | string | Yes | — | QuickBooks company/realm ID |
where | string | No | — | Optional WHERE clause |
limit | integer | No | 100 | Max results |
offset | integer | No | 1 | Start position |
Output:
{
"bills": [
{ "Id": "201", "VendorRef": { "value": "5", "name": "AWS" }, "TotalAmt": 3200.00, "Balance": 3200.00, "DueDate": "2026-05-15", "TxnDate": "2026-04-15" }
]
}
quickbooks.bills.get
Name: Get Bill
Get a single QuickBooks bill by ID.
Input:
| Parameter | Type | Required | Description |
|---|
realmId | string | Yes | QuickBooks company/realm ID |
billId | string | Yes | Bill ID |
Output:
{ "bill": { "Id": "201", "TotalAmt": 3200.00, "..." : "..." } }
quickbooks.payments.list
Name: List Payments
Query payments in QuickBooks Online.
Input:
| Parameter | Type | Required | Default | Description |
|---|
realmId | string | Yes | — | QuickBooks company/realm ID |
where | string | No | — | Optional WHERE clause |
limit | integer | No | 100 | Max results |
offset | integer | No | 1 | Start position |
Output:
{
"payments": [
{ "Id": "301", "CustomerRef": { "value": "1", "name": "Acme Corp" }, "TotalAmt": 2500.00, "TxnDate": "2026-04-10" }
]
}
quickbooks.accounts.list
Name: List Accounts
List chart of accounts in QuickBooks Online.
Input:
| Parameter | Type | Required | Default | Description |
|---|
realmId | string | Yes | — | QuickBooks company/realm ID |
accountType | string | No | — | Filter by account type (e.g. "Bank", "Expense") |
limit | integer | No | 100 | Max results |
offset | integer | No | 1 | Start position |
Output:
{
"accounts": [
{ "Id": "1", "Name": "Checking", "AccountType": "Bank", "AccountSubType": "Checking", "CurrentBalance": 50000.00, "Active": true }
]
}
quickbooks.vendors.list
Name: List Vendors
Query vendors in QuickBooks Online.
Input:
| Parameter | Type | Required | Default | Description |
|---|
realmId | string | Yes | — | QuickBooks company/realm ID |
where | string | No | — | Optional WHERE clause |
limit | integer | No | 100 | Max results |
offset | integer | No | 1 | Start position |
Output:
{
"vendors": [
{ "Id": "5", "DisplayName": "AWS", "PrimaryEmailAddr": "billing@aws.com", "Balance": 0 }
]
}
quickbooks.reports.profit_and_loss
Name: Profit and Loss Report
Run a Profit and Loss (income statement) report.
Input:
| Parameter | Type | Required | Default | Description |
|---|
realmId | string | Yes | — | QuickBooks company/realm ID |
start_date | string | No | — | Start date (YYYY-MM-DD) |
end_date | string | No | — | End date (YYYY-MM-DD) |
accounting_method | string | No | "Accrual" | "Cash" or "Accrual" |
Output:
{ "report": { "Header": {}, "Rows": {}, "Columns": {} } }
quickbooks.reports.balance_sheet
Name: Balance Sheet Report
Run a Balance Sheet report.
Input:
| Parameter | Type | Required | Default | Description |
|---|
realmId | string | Yes | — | QuickBooks company/realm ID |
date | string | No | — | Report as-of date (YYYY-MM-DD) |
accounting_method | string | No | "Accrual" | "Cash" or "Accrual" |
Output:
{ "report": { "Header": {}, "Rows": {}, "Columns": {} } }
quickbooks.invoices.create
Name: Create Invoice | Destructive: Yes
Create a new invoice in QuickBooks Online. Requires user approval.
Input:
| Parameter | Type | Required | Description |
|---|
realmId | string | Yes | QuickBooks company/realm ID |
CustomerRef | object | Yes | { "value": "customerId" } |
Line | array | Yes | Invoice line items |
DueDate | string | No | Due date (YYYY-MM-DD) |
Output:
{ "Id": "102", "DocNumber": "INV-002", "TotalAmt": 7500.00 }
quickbooks.customers.create
Name: Create Customer | Destructive: Yes
Create a new customer. Requires user approval.
Input:
| Parameter | Type | Required | Description |
|---|
realmId | string | Yes | QuickBooks company/realm ID |
DisplayName | string | Yes | Customer display name (must be unique) |
PrimaryEmailAddr | object | No | { "Address": "email" } |
PrimaryPhone | object | No | { "FreeFormNumber": "phone" } |
CompanyName | string | No | Company name |
Output:
{ "Id": "2", "DisplayName": "New Corp" }
quickbooks.bills.create
Name: Create Bill | Destructive: Yes
Create a new bill (accounts payable). Requires user approval.
Input:
| Parameter | Type | Required | Description |
|---|
realmId | string | Yes | QuickBooks company/realm ID |
VendorRef | object | Yes | { "value": "vendorId" } |
Line | array | Yes | Bill line items |
DueDate | string | No | Due date (YYYY-MM-DD) |
Output:
{ "Id": "202", "TotalAmt": 1200.00 }
quickbooks.payments.create
Name: Record Payment | Destructive: Yes
Record a payment against an invoice. Requires user approval.
Input:
| Parameter | Type | Required | Description |
|---|
realmId | string | Yes | QuickBooks company/realm ID |
CustomerRef | object | Yes | { "value": "customerId" } |
TotalAmt | number | Yes | Payment amount |
TxnDate | string | No | Payment date (YYYY-MM-DD) |
Output:
{ "Id": "302", "TotalAmt": 2500.00 }