Skip to main content

QuickBooks Component

Create and manage customers and invoices within Intuit QuickBooks

Component key: quickbooks

Description#

Quickbooks is an accounting and payment platform for individuals and businesses. This component allows you to generate invoices, manage customers, and more within the QuickBooks platform.

The QuickBooks Sandbox allows developers to develop and test integrations without affecting real customer data. You can point your integrations at this sandbox as you assemble them.

Authorization Methods#

QuickBooks requires one of the following authorization methods:

Auth TypeKeyDescriptionFields
OAuth 2.0 - Authorization Codeoauth2OAuth 2.0 authorization using the authorization code grant type

Authorization URL |  auth_uri

Client ID |  client_id

Client Secret |  client_secret

Scopes |  scopes

Access Token URL |  token_uri

QuickBooks uses OAuth 2.0 for authentication. You can get a QuickBooks OAuth 2.0 Access Token by following QuickBooks' OAuth 2.0 documentation.

Actions#

Create Invoice#

Create an Invoice with the specified data | key: createInvoice

InputKeyNotesExample

Data

string
/ Required
dataThis is a string of JSON data that represents a QuickBooks invoice.
{  "CustomerRef": {    "value": "73",    "name": "John Doe"  },  "TotalAmt": 1100,  "Line": [    {      "Amount": 1100,      "LinkedTxn": [        {          "TxnId": "250",          "TxnType": "CreditMemo"        }      ]    }  ]}

Use Sandbox

string
/ Required
useSandboxChoose whether or not to use QuickBooks' sandbox. This is helpful for integration testing.false

Get Company Info#

Retrieve information about the company | key: getCompanyInfo

InputKeyNotesExample

Use Sandbox

string
/ Required
useSandboxChoose whether or not to use QuickBooks' sandbox. This is helpful for integration testing.false

Output Example Payload#

{  "data": {    "Id": "1234",    "SyncToken": "exampleSyncToken",    "CompanyAddr": {      "City": "Mountain View",      "Line1": "2500 Garcia Ave",      "Country": "USA",      "PostalCode": "94043",      "CountrySubDviisionCode": "CA"    },    "CompanyName": "Example Corp"  }}

Get Customer By Display Name#

Retrieve information about the Customer which matches the given Display Name | key: getCustomerByDisplayName

InputKeyNotesExample

Customer Display Name

string
/ Required
customerDisplayNameThis represents the customer's display nameSmith Rocket Company

Use Sandbox

string
/ Required
useSandboxChoose whether or not to use QuickBooks' sandbox. This is helpful for integration testing.false

Output Example Payload#

{  "data": {    "Id": "exampleId",    "MetaData": {},    "SyncToken": "asdf123",    "ReportPrefs": {},    "EmailMessagesPrefs": {},    "ProductAndServicesPrefs": {}  }}

Get Customer By Id#

Retrieve information about the Customer which matches the given id | key: getCustomerById

InputKeyNotesExample

Id

string
/ Required
idThis represents a resource's unique ID. It must be an integer number.1234

Use Sandbox

string
/ Required
useSandboxChoose whether or not to use QuickBooks' sandbox. This is helpful for integration testing.false

Output Example Payload#

{  "data": {    "Id": "exampleId",    "MetaData": {},    "SyncToken": "asdf123",    "ReportPrefs": {},    "EmailMessagesPrefs": {},    "ProductAndServicesPrefs": {}  }}

Get Invoice By Id#

Retrieve information about the Invoice which matches the given id | key: getInvoiceById

InputKeyNotesExample

Id

string
/ Required
idThis represents a resource's unique ID. It must be an integer number.1234

Use Sandbox

string
/ Required
useSandboxChoose whether or not to use QuickBooks' sandbox. This is helpful for integration testing.false

Get Resource#

Retrieve a QuickBooks resource using their SQL-like data query language | key: queryResource

InputKeyNotesExample

Query String

string
/ Required
queryStringMust be a valid query string as defined by the QuickBooks API. Single quotes must be escaped with a backslash.select * from department

Use Sandbox

string
/ Required
useSandboxChoose whether or not to use QuickBooks' sandbox. This is helpful for integration testing.false