What can you do with it?
Access and manage QuickBooks accounting data including customers, invoices, bills, payments, and financial reports, enabling comprehensive accounting operations such as creating customers, generating invoices, recording payments, and retrieving company information.
How to use it?
Basic Command Structure
/your-quickbooks-connection [action] [required-parameters] [optional-parameters]
Parameters
Required:
action
- The operation to perform (get-company-info, create-customer, update-customer, get-customer, list-customers, create-invoice, get-invoice, create-payment)
Optional:
realm-id
- QuickBooks company realm ID
customer-id
- Customer ID for operations
invoice-id
- Invoice ID for operations
company-id
- Company ID for info retrieval
display-name
- Customer display name
email
- Customer email address
Get Company Info
Retrieve information about the company
Parameters:
realm-id
(required) - QuickBooks company realm ID
company-id
(required) - Company ID
Example:
/your-quickbooks-connection
action: get-company-info
realm-id: 123456789
company-id: 123456789
Response:
{
"CompanyInfo": {
"Id": "123456789",
"SyncToken": "0",
"CompanyName": "ABC Enterprises",
"LegalName": "ABC Enterprises LLC",
"CompanyAddr": {
"Id": "1",
"Line1": "123 Main Street",
"City": "Mountain View",
"CountrySubDivisionCode": "CA",
"PostalCode": "94043",
"Country": "US"
},
"Country": "US",
"Email": {
"Address": "info@abcenterprises.com"
},
"WebAddr": {
"URI": "https://www.abcenterprises.com"
},
"SupportedLanguages": "en",
"FiscalYearStartMonth": "January"
},
"time": "2023-09-15T14:30:00Z"
}
Create Customer
Create a new customer in QuickBooks
Parameters:
realm-id
(required) - QuickBooks company realm ID
display-name
(required) - Customer display name
email
(optional) - Customer email address
phone
(optional) - Customer phone number
address-line1
(optional) - Address line 1
city
(optional) - City
state
(optional) - State/province
postal-code
(optional) - Postal/ZIP code
country
(optional) - Country code
Example:
/your-quickbooks-connection
action: create-customer
realm-id: 123456789
display-name: John Smith
email: john.smith@example.com
phone: 555-555-5555
address-line1: 123 Main Street
city: San Francisco
state: CA
postal-code: 94105
country: US
Response:
{
"Customer": {
"Id": "1234",
"SyncToken": "0",
"DisplayName": "John Smith",
"PrimaryEmailAddr": {
"Address": "john.smith@example.com"
},
"PrimaryPhone": {
"FreeFormNumber": "555-555-5555"
},
"BillAddr": {
"Id": "567",
"Line1": "123 Main Street",
"City": "San Francisco",
"CountrySubDivisionCode": "CA",
"PostalCode": "94105",
"Country": "US"
},
"Active": true,
"MetaData": {
"CreateTime": "2023-09-15T14:45:00Z",
"LastUpdatedTime": "2023-09-15T14:45:00Z"
},
"domain": "QBO",
"sparse": false
},
"time": "2023-09-15T14:45:00Z"
}
Update Customer
Update an existing customer’s information
Parameters:
realm-id
(required) - QuickBooks company realm ID
customer-id
(required) - Customer ID to update
sync-token
(required) - Current sync token value
display-name
(optional) - Updated display name
email
(optional) - Updated email address
phone
(optional) - Updated phone number
address-line1
(optional) - Updated address line 1
city
(optional) - Updated city
state
(optional) - Updated state/province
postal-code
(optional) - Updated postal/ZIP code
Example:
/your-quickbooks-connection
action: update-customer
realm-id: 123456789
customer-id: 1234
sync-token: 0
display-name: John A. Smith
address-line1: 456 Market Street
city: San Francisco
state: CA
postal-code: 94105
Response:
{
"Customer": {
"Id": "1234",
"SyncToken": "1",
"DisplayName": "John A. Smith",
"PrimaryEmailAddr": {
"Address": "john.smith@example.com"
},
"PrimaryPhone": {
"FreeFormNumber": "555-555-5555"
},
"BillAddr": {
"Id": "567",
"Line1": "456 Market Street",
"City": "San Francisco",
"CountrySubDivisionCode": "CA",
"PostalCode": "94105",
"Country": "US"
},
"Active": true,
"MetaData": {
"CreateTime": "2023-09-15T14:45:00Z",
"LastUpdatedTime": "2023-09-15T15:00:00Z"
},
"domain": "QBO",
"sparse": false
},
"time": "2023-09-15T15:00:00Z"
}
Get Customer
Retrieve a customer by ID
Parameters:
realm-id
(required) - QuickBooks company realm ID
customer-id
(required) - Customer ID to retrieve
Example:
/your-quickbooks-connection
action: get-customer
realm-id: 123456789
customer-id: 1234
Response:
{
"Customer": {
"Id": "1234",
"SyncToken": "1",
"DisplayName": "John A. Smith",
"PrimaryEmailAddr": {
"Address": "john.smith@example.com"
},
"PrimaryPhone": {
"FreeFormNumber": "555-555-5555"
},
"BillAddr": {
"Id": "567",
"Line1": "456 Market Street",
"City": "San Francisco",
"CountrySubDivisionCode": "CA",
"PostalCode": "94105",
"Country": "US"
},
"Active": true,
"MetaData": {
"CreateTime": "2023-09-15T14:45:00Z",
"LastUpdatedTime": "2023-09-15T15:00:00Z"
},
"domain": "QBO",
"sparse": false
},
"time": "2023-09-15T15:15:00Z"
}
List Customers
Retrieve a list of customers
Parameters:
realm-id
(required) - QuickBooks company realm ID
Example:
/your-quickbooks-connection
action: list-customers
realm-id: 123456789
Response:
{
"QueryResponse": {
"Customer": [
{
"Id": "1234",
"DisplayName": "John A. Smith",
"PrimaryEmailAddr": {
"Address": "john.smith@example.com"
},
"Active": true
},
{
"Id": "5678",
"DisplayName": "Jane Doe",
"PrimaryEmailAddr": {
"Address": "jane.doe@example.com"
},
"Active": true
}
],
"startPosition": 1,
"maxResults": 2,
"totalCount": 2
},
"time": "2023-09-15T15:30:00Z"
}
Create Invoice
Create a new invoice for a customer
Parameters:
realm-id
(required) - QuickBooks company realm ID
customer-id
(required) - Customer ID to invoice
amount
(required) - Invoice amount
item-name
(optional) - Service/product name
item-id
(optional) - Service/product ID
bill-email
(optional) - Email for billing
txn-date
(optional) - Transaction date
Example:
/your-quickbooks-connection
action: create-invoice
realm-id: 123456789
customer-id: 1234
amount: 100.00
item-name: Services
item-id: 1
bill-email: john.smith@example.com
txn-date: 2023-09-15
Response:
{
"Invoice": {
"Id": "9876",
"SyncToken": "0",
"Line": [
{
"Id": "1",
"LineNum": 1,
"Amount": 100.00,
"DetailType": "SalesItemLineDetail",
"SalesItemLineDetail": {
"ItemRef": {
"value": "1",
"name": "Services"
}
}
}
],
"CustomerRef": {
"value": "1234",
"name": "John A. Smith"
},
"BillEmail": {
"Address": "john.smith@example.com"
},
"TxnDate": "2023-09-15",
"TotalAmt": 100.00,
"Balance": 100.00,
"MetaData": {
"CreateTime": "2023-09-15T16:00:00Z",
"LastUpdatedTime": "2023-09-15T16:00:00Z"
},
"domain": "QBO"
},
"time": "2023-09-15T16:00:00Z"
}
Get Invoice
Retrieve an invoice by ID
Parameters:
realm-id
(required) - QuickBooks company realm ID
invoice-id
(required) - Invoice ID to retrieve
Example:
/your-quickbooks-connection
action: get-invoice
realm-id: 123456789
invoice-id: 9876
Response:
{
"Invoice": {
"Id": "9876",
"SyncToken": "0",
"Line": [
{
"Id": "1",
"LineNum": 1,
"Amount": 100.00,
"DetailType": "SalesItemLineDetail",
"SalesItemLineDetail": {
"ItemRef": {
"value": "1",
"name": "Services"
}
}
}
],
"CustomerRef": {
"value": "1234",
"name": "John A. Smith"
},
"BillEmail": {
"Address": "john.smith@example.com"
},
"TxnDate": "2023-09-15",
"TotalAmt": 100.00,
"Balance": 100.00,
"MetaData": {
"CreateTime": "2023-09-15T16:00:00Z",
"LastUpdatedTime": "2023-09-15T16:00:00Z"
},
"domain": "QBO"
},
"time": "2023-09-15T16:15:00Z"
}
Create Payment
Record a payment for an invoice
Parameters:
realm-id
(required) - QuickBooks company realm ID
customer-id
(required) - Customer ID making payment
invoice-id
(required) - Invoice ID being paid
amount
(required) - Payment amount
payment-method-id
(optional) - Payment method reference ID
txn-date
(optional) - Transaction date
Example:
/your-quickbooks-connection
action: create-payment
realm-id: 123456789
customer-id: 1234
invoice-id: 9876
amount: 100.00
payment-method-id: 3
txn-date: 2023-09-16
Response:
{
"Payment": {
"Id": "5432",
"SyncToken": "0",
"CustomerRef": {
"value": "1234",
"name": "John A. Smith"
},
"TotalAmt": 100.00,
"Line": [
{
"Amount": 100.00,
"LinkedTxn": [
{
"TxnId": "9876",
"TxnType": "Invoice"
}
]
}
],
"PaymentMethodRef": {
"value": "3",
"name": "Cash"
},
"TxnDate": "2023-09-16",
"MetaData": {
"CreateTime": "2023-09-16T09:00:00Z",
"LastUpdatedTime": "2023-09-16T09:00:00Z"
},
"domain": "QBO"
},
"time": "2023-09-16T09:00:00Z"
}
Notes
QuickBooks API requires a realm ID (company ID) for all operations. Premium operations require Authorization Bearer token and Premium-Id headers. SyncToken values are required for update operations to maintain data consistency. Payment methods include Cash, Check, Credit Card, and other configured options. All monetary amounts are in the company’s base currency.