Skip to main content

QuickBooks

The QuickBooks plugin brings essential accounting capabilities directly into your ToolJet applications. It lets you create and update customers, generate invoices, record payments, manage vendors, and access financial reports and other QuickBooks data from one connected interface.

NOTE

Before following this guide, it is assumed that you have already completed the process of Using Marketplace plugins.

Connection

To connect to QuickBooks, the following credentials are required:

  • Client ID: Enter your Client ID. This identifies your ToolJet application to QuickBooks.
  • Client Secret: Enter your Client Secret. This secret will be stored in the encrypted form.
  • Scope(s): Scope defines the permissions your ToolJet app will have in QuickBooks. You can modify the scopes based on your use case.
    note

    Ensure the scopes entered in the ToolJet data source configuration exactly match the scopes configured in your QuickBooks application settings. Any mismatch between the configured scopes and the requested scopes may cause the OAuth authentication flow to fail or restrict access to certain QuickBooks resources.

  • Redirect URI: ToolJet automatically generates a Redirect URI. This redirect URI is required for completing the OAuth authentication flow.
  • Username: QuickBooks account username used for authentication, if required by the configured flow or environment.
  • Password: Password associated with the QuickBooks account used during authentication.
  • Company ID: Unique identifier of the QuickBooks company account whose resources and financial data will be accessed.
Quickbooks Connection page
info

For detailed steps to generate the Client ID and Client Secret, refer to the QuickBooks documentation.

Supported Operations

ToolJet supports multiple QuickBooks operations through REST API calls, enabling you to manage customers, invoices, payments, vendors, accounts, reports, and other QuickBooks resources directly within your application.

Quickbooks supported operations

COMPANY

All QuickBooks API endpoints require a Company ID, which uniquely identifies the QuickBooks company account associated with the request. Queries are executed against the specified company's data.

MethodAPI EndpointDescription
POST/v3/company/{companyid}/accountUpdate an account
GET/v3/company/{companyid}/account/{id}Account Read by Id
POST/v3/company/{companyid}/queryVendor Credit - Read All
POST/v3/company/{companyid}/attachableAttachable Delete
GET/v3/company/{companyid}/attachable/{id}Attachable Read by Id
POST/v3/company/{companyid}/uploadUpload Attachments
POST/v3/company/{companyid}/batchBatch
POST/v3/company/{companyid}/billBill Delete
GET/v3/company/{companyid}/bill/{id}Bill- Get by Id
POST/v3/company/{companyid}/billpaymentBill Payment Update
GET/v3/company/{companyid}/billpayment/{id}Bill Payment Read by Id
GET/v3/company/{companyid}/cdcCDC Read
POST/v3/company/{companyid}/classClass Delete
GET/v3/company/{companyid}/class/{id}Class Read by Id
GET/v3/company/{companyid}/companyinfo/{companyid}Company Info Read by Id
POST/v3/company/{companyid}/creditmemoCredit Memo Delete
GET/v3/company/{companyid}/creditmemo/{id}Credit Memo Read by Id
POST/v3/company/{companyid}/customerCustomer Delete
GET/v3/company/{companyid}/customer/{id}Customer Read by Id
POST/v3/company/{companyid}/departmentDepartment Delete
GET/v3/company/{companyid}/department/{id}Department Read by Id
POST/v3/company/{companyid}/depositDeposit Delete
GET/v3/company/{companyid}/deposit/{id}Deposit Read by Id
POST/v3/company/{companyid}/employeeEmployee Delete
GET/v3/company/{companyid}/employee/{id}Employee Read by Id
POST/v3/company/{companyid}/estimateEstimate Delete
GET/v3/company/{companyid}/estimate/{id}Estimate Read by Id
GET/v3/company/{companyid}/exchangerateExchange Rate - Get Details
POSTv3/company/{companyid}/inventoryadjustmentCreate Inventory Adjustment Copy
POST/v3/company/{companyid}/invoiceInvoice Delete
GET/v3/company/{companyid}/invoice/{id}Invoice Read by Id
POST/v3/company/{companyid}/itemItem Delete
GET/v3/company/{companyid}/item/<id>Item Read by Id
POST/v3/company/{companyid}/journalentryJournal Entry Delete
GET/v3/company/{companyid}/journalentry/{id}Journal Entry Read by Id
POST/v3/company/{companyid}/paymentPayment Delete
GET/v3/company/{companyid}/payment/{id}Payment Read by Id
POST/v3/company/{companyid}/paymentmethodPayment Method Delete
GET/v3/company/{companyid}/paymentmethod/{id}Payment Method Read by Id
GET/v3/company/{companyid}/preferencesPreferences Read
POST/v3/company/{companyid}/preferencesPreferences Update
POST/v3/company/{companyid}/purchasePurchase Delete
GET/v3/company/{companyid}/purchase/{id}Purchase Read by Id
POST/v3/company/{companyid}/purchaseorderPurchase Order Delete
GET/v3/company/{companyid}/purchaseorder/{id}Purchase Order Read by Id
POST/v3/company/{companyid}/refundreceiptRefund Receipt Delete
GET/v3/company/{companyid}/refundreceipt/{id}Refund Recipt- Read by Id
GET/v3/company/{companyid}/reports/AccountListReport Account List
GET/v3/company/{companyid}/reports/AgedPayablesDetailReport Aged Payables Detail
GET/v3/company/{companyid}/reports/AgedPayablesReport Aged Payables
GET/v3/company/{companyid}/reports/AgedReceivableDetailReport Aged Receivable Detail
GET/v3/company/{companyid}/reports/AgedReceivablesReport Aged Receivables
GET/v3/company/{companyid}/reports/BalanceSheetReport Balance Sheet
GET/v3/company/{companyid}/reports/CashFlowReport Cash Flow
GET/v3/company/{companyid}/reports/ClassSalesReport Class Sales
GET/v3/company/{companyid}/reports/CustomerBalanceReport Customer Balance
GET/v3/company/{companyid}/reports/CustomerBalanceDetailReport Customer Balance Detail
GET/v3/company/{companyid}/reports/CustomerIncomeReport Customer Income
GET/v3/company/{companyid}/reports/CustomerSalesReport Customer Sales
GET/v3/company/{companyid}/reports/DepartmentSalesReport Department Sales
GET/v3/company/{companyid}/reports/GeneralLedgerReport General Ledger
GET/v3/company/{companyid}/reports/InventoryValuationSummaryReport Inventory Valuation Summary
GET/v3/company/{companyid}/reports/ItemSalesReport Item Sales
GET/v3/company/{companyid}/reports/ProfitAndLossReport Profit And Loss
GET/v3/company/{companyid}/reports/ProfitAndLossDetailReport Profit And Loss Detail
GET/v3/company/{companyid}/reports/TrialBalanceReport Trial Balance
GET/v3/company/{companyid}/reports/TransactionListReport Transaction List
GET/v3/company/{companyid}/reports/VendorBalanceReport Vendor Balance
GET/v3/company/{companyid}/reports/VendorBalanceDetailReport Vendor Balance Detail
GET/v3/company/{companyid}/reports/VendorExpensesReport Vendor Expenses
POST/v3/company/{companyid}/salesreceiptSales Receipt-Void
GET/v3/company/{companyid}/salesreceipt/{id}Sales Receipt Read by Id
POST/v3/company/{companyid}/taxagencyTax Agency Create
GET/v3/company/{companyid}/taxagency/{id}Tax Agency Read by Id
GET/v3/company/{companyid}/taxcode/{id}Tax Code Read by Id
GET/v3/company/{companyid}/taxrate/{id}Tax Rate Read by Id
POST/v3/company/{companyid}/taxservice/taxcodeTax Service Create
POST/v3/company/{companyid}/termTerm Delete
GET/v3/company/{companyid}/term/{id}Term Read by Id
POST/v3/company/{companyid}/timeactivityTime Activity Delete
POST/v3/company/{companyid}/transferTransfer delete
GET/v3/company/{companyid}/transfer/{id}Transfer Read by Id
POST/v3/company/{companyid}/vendorVendor Delete
GET/v3/company/{companyid}/vendor/{id}Vendor Read by Id
POST/v3/company/{companyid}/vendorcreditVendor Credit Delete
GET/v3/company/{companyid}/vendorcredit/{id}Vendor Credit Read by Id

Example Queries

Get Account Details

Operation : GET /v3/company/{companyid}/account/{id}

This query retrieves the account details for the account with the given id. It can be used to fetch information such as account type, balance, classification, and other account-related metadata from QuickBooks. The companyid is not entered here — it is taken automatically from the Company ID configured on the data source connection.

Required Parameter:

  • id

Optional Parameter:

  • minorversion
Quickbooks example query GET
Response Example
{
"Account": {
"Name": "Services",
"SubAccount": false,
"FullyQualifiedName": "Services",
"Active": true,
"Classification": "Revenue",
"AccountType": "Income",
"AccountSubType": "ServiceFeeIncome",
"CurrentBalance": 0,
"CurrentBalanceWithSubAccounts": 0,
"CurrencyRef": {
"value": "AUD",
"name": "Australian Dollar"
},
"domain": "QBO",
"sparse": false,
"Id": "1",
"SyncToken": "0",
"MetaData": {
"CreateTime": "2025-12-07T15:27:58-08:00",
"LastUpdatedTime": "2025-12-07T15:27:58-08:00"
}
},
"time": "2026-05-22T03:45:46.022-07:00"
}

Update an Account

Operation : POST /v3/company/{companyid}/account

This query creates or updates an account in QuickBooks. It can be used to modify existing account information such as account name, account type, classification, or other account properties. The companyid is not entered here — it is taken automatically from the Company ID configured on the datasource connection.

Optional Parameters:

  • minorversion
  • requestbody
Quickbooks example query POST
Response Example
{
"Account": {
"Name": "MyJobs_testing",
"SubAccount": false,
"FullyQualifiedName": "MyJobs_testing",
"Active": true,
"Classification": "Asset",
"AccountType": "Accounts Receivable",
"AccountSubType": "AccountsReceivable",
"CurrentBalance": 0,
"CurrentBalanceWithSubAccounts": 0,
"CurrencyRef": {
"value": "AUD",
"name": "Australian Dollar"
},
"domain": "QBO",
"sparse": false,
"Id": "1150040002",
"SyncToken": "0",
"MetaData": {
"CreateTime": "2026-05-22T03:49:10-07:00"
}
},
"time": "2026-05-22T03:49:10.529-07:00"
}