Skip to main content

QuickBooks

The QuickBooks plugin in ToolJet enables applications to connect with QuickBooks APIs directly from ToolJet. It allows users to manage resources such as customers, invoices, payments, vendors, and reports without building custom backend integrations. QuickBooks exposes REST APIs that allow external applications to securely access and manage accounting data programmatically.

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/1Get the Account which has accountId as 1
POST/v3/company/{companyid}/queryVendor Credit - Read All
POST/v3/company/{companyid}/attachableAttachable Delete
GET/v3/company/{companyid}/attachable/5000000000000028383Attachable 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/1Bill- Get by Id
POST/v3/company/{companyid}/billpaymentBill Payment Update
GET/v3/company/{companyid}/billpayment/118Bill Payment Read by Id
GET/v3/company/{companyid}/cdcCDC Read
POST/v3/company/{companyid}/classClass Delete
GET/v3/company/{companyid}/class/5000000000000018727Class 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/160Credit Memo Read by Id
POST/v3/company/{companyid}/customerCustomer Delete
GET/v3/company/{companyid}/customer/63Customer Read by Id
POST/v3/company/{companyid}/departmentDepartment Delete
GET/v3/company/{companyid}/department/1Department Read by Id
POST/v3/company/{companyid}/depositDeposit Delete
GET/v3/company/{companyid}/deposit/162Deposit Read by Id
POST/v3/company/{companyid}/employeeEmployee Delete
GET/v3/company/{companyid}/employee/68Employee Read by Id
POST/v3/company/{companyid}/estimateEstimate Delete
GET/v3/company/{companyid}/estimate/163Estimate 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/147Invoice 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/8Journal Entry Read by Id
POST/v3/company/{companyid}/paymentPayment Delete
GET/v3/company/{companyid}/payment/174Payment Read by Id
POST/v3/company/{companyid}/paymentmethodPayment Method Delete
GET/v3/company/{companyid}/paymentmethod/8Payment 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/175Purchase Read by Id
POST/v3/company/{companyid}/purchaseorderPurchase Order Delete
GET/v3/company/{companyid}/purchaseorder/178Purchase Order Read by Id
POST/v3/company/{companyid}/refundreceiptRefund Receipt Delete
GET/v3/company/{companyid}/refundrecipt/66Refund 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/181Sales Receipt Read by Id
POST/v3/company/{companyid}/taxagencyTax Agency Create
GET/v3/company/{companyid}/taxagency/3Tax Agency Read by Id
GET/v3/company/{companyid}/taxcode/2Tax Code Read by Id
GET/v3/company/{companyid}/taxrate/1Tax Rate Read by Id
POST/v3/company/{companyid}/taxservice/taxcodeTax Service Create
POST/v3/company/{companyid}/termTerm Delete
GET/v3/company/{companyid}/term/8Term Read by Id
POST/v3/company/{companyid}/timeactivityTime Activity Delete
POST/v3/company/{companyid}/transferTransfer delete
GET/v3/company/{companyid}/transfer/184Transfer Read by Id
POST/v3/company/{companyid}/vendorVendor Delete
GET/v3/company/{companyid}/vendor/70Vendor Read by Id
POST/v3/company/{companyid}/vendorcreditVendor Credit Delete
GET/v3/company/{companyid}/vendorcredit/185Vendor Credit Read by Id

Example Queries

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

This query retrieves the account details for the account with accountId set to 1. It can be used to fetch information such as account type, balance, classification, and other account-related metadata from QuickBooks.

Required Parameter:

  • companyid

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"
}

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.

Required Parameter:

  • companyid

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"
}