Skip to main content
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.

Tools

quickbooks.customers.list

Name: List Customers Query customers in QuickBooks Online. Input:
ParameterTypeRequiredDefaultDescription
realmIdstringYesQuickBooks company/realm ID
wherestringNoOptional WHERE clause
limitintegerNo100Max results
offsetintegerNo1Start 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:
ParameterTypeRequiredDescription
realmIdstringYesQuickBooks company/realm ID
customerIdstringYesCustomer ID
Output:
{ "customer": { "Id": "1", "DisplayName": "Acme Corp", "Balance": 1500.00, "..." : "..." } }

quickbooks.invoices.list

Name: List Invoices Query invoices in QuickBooks Online. Input:
ParameterTypeRequiredDefaultDescription
realmIdstringYesQuickBooks company/realm ID
wherestringNoOptional WHERE clause
limitintegerNo100Max results
offsetintegerNo1Start 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:
ParameterTypeRequiredDescription
realmIdstringYesQuickBooks company/realm ID
invoiceIdstringYesInvoice 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:
ParameterTypeRequiredDefaultDescription
realmIdstringYesQuickBooks company/realm ID
wherestringNoOptional WHERE clause
limitintegerNo100Max results
offsetintegerNo1Start 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:
ParameterTypeRequiredDescription
realmIdstringYesQuickBooks company/realm ID
billIdstringYesBill ID
Output:
{ "bill": { "Id": "201", "TotalAmt": 3200.00, "..." : "..." } }

quickbooks.payments.list

Name: List Payments Query payments in QuickBooks Online. Input:
ParameterTypeRequiredDefaultDescription
realmIdstringYesQuickBooks company/realm ID
wherestringNoOptional WHERE clause
limitintegerNo100Max results
offsetintegerNo1Start 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:
ParameterTypeRequiredDefaultDescription
realmIdstringYesQuickBooks company/realm ID
accountTypestringNoFilter by account type (e.g. "Bank", "Expense")
limitintegerNo100Max results
offsetintegerNo1Start 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:
ParameterTypeRequiredDefaultDescription
realmIdstringYesQuickBooks company/realm ID
wherestringNoOptional WHERE clause
limitintegerNo100Max results
offsetintegerNo1Start 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:
ParameterTypeRequiredDefaultDescription
realmIdstringYesQuickBooks company/realm ID
start_datestringNoStart date (YYYY-MM-DD)
end_datestringNoEnd date (YYYY-MM-DD)
accounting_methodstringNo"Accrual""Cash" or "Accrual"
Output:
{ "report": { "Header": {}, "Rows": {}, "Columns": {} } }

quickbooks.reports.balance_sheet

Name: Balance Sheet Report Run a Balance Sheet report. Input:
ParameterTypeRequiredDefaultDescription
realmIdstringYesQuickBooks company/realm ID
datestringNoReport as-of date (YYYY-MM-DD)
accounting_methodstringNo"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:
ParameterTypeRequiredDescription
realmIdstringYesQuickBooks company/realm ID
CustomerRefobjectYes{ "value": "customerId" }
LinearrayYesInvoice line items
DueDatestringNoDue 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:
ParameterTypeRequiredDescription
realmIdstringYesQuickBooks company/realm ID
DisplayNamestringYesCustomer display name (must be unique)
PrimaryEmailAddrobjectNo{ "Address": "email" }
PrimaryPhoneobjectNo{ "FreeFormNumber": "phone" }
CompanyNamestringNoCompany 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:
ParameterTypeRequiredDescription
realmIdstringYesQuickBooks company/realm ID
VendorRefobjectYes{ "value": "vendorId" }
LinearrayYesBill line items
DueDatestringNoDue 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:
ParameterTypeRequiredDescription
realmIdstringYesQuickBooks company/realm ID
CustomerRefobjectYes{ "value": "customerId" }
TotalAmtnumberYesPayment amount
TxnDatestringNoPayment date (YYYY-MM-DD)
Output:
{ "Id": "302", "TotalAmt": 2500.00 }