Quickbooks

QuickBooks is an accounting software system developed by Intuit that helps individuals and businesses manage their financial records. It provides tools for bookkeeping, invoicing, payroll, expense tracking, and financial reporting. QuickBooks Online allows users to access and update their financial data from different devices. The software is widely used by small and medium-sized businesses to organize transactions, reconcile bank accounts, and generate tax-related documentation.

The QuickBooks API allows developers to connect external applications or services with QuickBooks data. Through the API, programs can read and write information such as invoices, payments, customers, and accounts. It supports operations like synchronizing financial data, automating bookkeeping tasks, and integrating with e-commerce or payroll systems. The API uses REST principles and OAuth 2.0 for authentication, offering structured access to accounting resources while maintaining security and compliance with financial data standards.

Documentation URL: https://developer.intuit.com/app/developer/qbo/docs/develop

Installable Elements              (No items selected)



Base Elements

These elements are required for the templates below to work

  • Remote Site Setting enabling access to the Authentication URL

  • Remote Site Setting enabling access to the Authentication URL

  • Remote Site Setting enabling access to the Quickbooks Sandbox API base URL

  • Remote Site Setting enabling access to the Quickbooks Production API base URL

  • Authentication Provider Class used to authenticate into Quickbooks API. Used by Authentication Provider below.

  • Authentication Provider used to authenticate into Quickbooks API. Uses the apex class above.

  • Quickbooks Named Credentials for use with a sanbox Quickbooks instance

  • Quickbooks Named Credentials for use with a production Quickbooks instance

Account

An Account object is a component of a Chart Of Accounts, and is part of a ledger. It is used to record a total monetary amount allocated against a specific use. Accounts are one of five basic types: asset, liability, revenue (income), expenses, or equity. Delete is achieved by setting the Active attribute to false in an object update request; thus, making it inactive. In this type of delete, the record is not permanently deleted, but is hidden for display purposes. References to inactive objects are left intact.

  • Create a new Account

  • Get the Account which has accountId as 1

  • Update an account

Attachable

This page covers the Attachable, Upload, and Download resources used for attachment management. Attachments are supplemental information linked to a transaction or Item object. They can be files, notes, or a combination of both.

  • Create an attachable object

  • Retrieve an attachable object by Id

  • Update an attachable object by Id

  • Delete an attachable object by Id

  • Uploading and linking new attachments

Batch

The batch operation enables an application to perform multiple operations in a single request. For example, in a single batch request an application can create a customer, update an invoice, and read an account. Compared to multiple requests, a single batch request can improve an application's performance by decreasing network roundtrips and increasing throughput. The individual operations within a batch request are called BatchItemRequest objects.

  • Multiple operations using batch query

Bill

A Bill object is an AP transaction representing a request-for-payment from a third party for goods/services rendered and/or received.

  • Create a bill

  • Retrieve a bill by Id

  • Update a bill

  • Update a bill

BillPayment

A BillPayment object represents the payment transaction for a bill that the business owner receives from a vendor for goods or services purchased from the vendor. QuickBooks Online supports bill payments through a credit card or a checking account.

  • Create a BillPayment against a pre-created bill

  • Retrieve BillPayment by Id

  • Delete a BillPayment object

  • Update a BillPayment

ChangeDataCapture

The change data capture (cdc) operation returns a list of objects that have changed since a specified time. This operation is for an app that periodically polls data services in order to refresh its local copy of object data. The app calls the cdc operation, specifying a comma separated list of object types and a date-time stamp specifying how far to look back. Data services returns all objects specified by entityList that have changed since the specified date-time. Look-back time can be up to 30 days.

  • Retrive changed Bill and invoice objects since Aug10,2016

Class

Class objects provide a way to track different segments of the business so they're not tied to a particular client or project. For example, you can define classes to break down the income and expenses for each business segment. Classes are available to the entire transaction or to individual detail lines of a transaction.

  • Create a Class object

  • Read a Class object by Id

  • Update a Class object by Id

  • Delete a Class entry

CompanyInfo

The CompanyInfo object contains basic company information. In QuickBooks, company info and preferences are displayed in the same place under preferences, so it may be confusing to figure out from user interface which fields may belong to this object. But in general, properties such as company addresses or name are considered company information. Some attributes may exist in both CompanyInfo and Preferences objects.

  • Method : GET

CreditMemo

The CreditMemo object is a financial transaction representing a refund or credit of payment or part of a payment for goods or services that have been sold.

  • Create a credit memo

  • Read a credit memo by Id

  • Update a credit memo

  • Delete a credit memo by Id

Customer

A customer is a consumer of the service or product that your business offers. The Customer object allows you to categorize customers according to your business requirements. To create a job, you must first create a customer and then create a job referencing that customer as a parent with the ParentRef attribute.

  • Create a customer

  • Read a customer entry by Id

  • Update a customer

  • Delete a customer by Id

Department

The Department resource provides a way to track transactions based on physical locations such as stores, sales regions, or countries. As you create sales and expense transactions, consistently designate the department to which they belong.

  • Create a department object

  • Update a department object

  • Read a department object

  • Delete a department object

Deposit

A deposit object is a transaction that records one or more deposits of the following types: A customer payment, originally held in the Undeposited Funds account, into the Asset Account specified by the Deposit.DepositToAccountRef attribute. The Deposit.line.LinkedTxn element is used in this case to hold deposit information.A new, direct deposit specified by Deposit.Line.DepositLineDetail line detail.

  • Create a deposit object

  • Read a deposit object by Id

  • Update a deposit object

  • Delete a deposit object by Id

Employee

An Employee object represents a person working for the company.

  • Create an employee object

  • Retrive an employee object by ID

  • Update an employee object

  • Delete an employee object

Estimate

Estimate represents a proposal for a financial transaction from a business to a customer for goods or services proposed to be sold, including proposed pricing.

  • Create an Estimate object

  • Update an Estimate object

  • Read an Estimate object by Id

  • Delete an Estimate object by Id

ExchangeRate

Applicable only for those companies that enable multicurrency, the exchangerate resource provides the ability to query and set exchange rates available to the QuickBooks Online company. This entity works in combination with the companycurrency entity and the Currency Center in the QuickBooks Online UI to manage exchange rates for the company.

  • Get ExchangeRate

Invoice

An Invoice represents a sales form where the customer pays for a product or service later.

  • Create an invoice object

  • Read an invoice object by Id

  • Update an invoice object

  • Delete an invoice object by Id

  • Void an invoice object by Id

Item

An item is a thing that your company buys, sells, or re-sells, such as products and services. An item is shown as a line on an invoice or other sales form.

  • Create an item object

  • Read an Item by Id

  • Update an item object

  • Delete an item object

JournalEntry

JournalEntry is a transaction in which: There are at least one pair of lines, a debit and a credit, called distribution lines. Each distribution line has an account from the Chart of Accounts. Query the Account resource for a listing of the Chart of Accounts. The total of the debit column equals the total of the credit column. When you record a transaction with a JournalEntry object, the QuickBooks Online UI labels the transaction as JRNL in the register and as General Journal on reports that list transactions.

  • Create an journalentry object

  • Read an journalentry object by Id

  • Update an journalentry object

  • Delete an journalentry object

Payment

A Payment object records a payment in QuickBooks. The payment can be applied for a particular customer against multiple Invoices and Credit Memos. It can also be created without any Invoice or Credit Memo, by just specifying an amount.

  • Create an payment object

  • Read a payment object by Id

  • Update an payment object

  • Delete a payment object

PaymentMethod

The PaymentMethod resource provides the method of payment for received goods.

  • Create a payment method

  • Read a payment method

  • Update a payment method

  • Delete a payment method

Preferences

The Preferences resource represents a set of company preferences that control application behavior in QuickBooks Online. They are mostly exposed as read-only through the Preferences endpoint with only a very small subset of them available as writable. Preferences are not necessarily honored when making requests via the QuickBooks API because a lot of them control UI behavior in the application and may not be applicable for apps.

  • Read the preference object

  • Update the preference object endpoint

Purchase

A Purchase object represents an expense, such as a purchase made from a vendor. There are three types of purchases: Cash, Check, and Credit Card.

  • Create a puchase object

  • Create a puchase object

  • Read a puchase object by Id

  • Delete a puchase object

PurchaseOrder

The PurchaseOrder object is a non-posting transaction representing a request to purchase goods or services from a third party.

  • Create a puchase-order object

  • Update a puchase-order object

  • Read a puchase-order object

  • Delete a puchaseorder object

RefundReceipt

A RefundReceipt object represents a refund to the customer for a product or service that was provided.

  • Create a refund-receipt object

  • Update a refund-receipt object

  • Delete a refund-receipt object by Id

  • Read a refund-receipt object

Reports

  • Report - Account list detail

  • Report - AgedPayable aging detail

  • Report - AgedPayable aging summary

  • Report - AgedReceivableDetail aging detail

  • Report - AgedReceivable aging summary

  • Report - BalanceSheet

  • Report - CashFlow

  • Report - CashSales

  • Report - CustomerBalance

  • Report - CustomerBalance Detail

  • Report - Customer Income

  • Report - Customer Sales

  • Report - Department Sales

  • Report - General Ledger

  • Report - Inventory Valuation Summary

  • Report - Item Sales

  • Report - Profit and Loss

  • Report - Profit and Loss Detail

  • Report - Trial Balance

  • Report - Trial List

  • Report - Vendor Balance

  • Report - Vendor Balance Detail

  • Report - Vendor Expense

SalesReceipt

A SalesReceipt object represents the sales receipt that is given to a customer. A sales receipt is similar to an invoice. However, for a sales receipt, payment is received as part of the sale of goods and services. The sales receipt specifies a deposit account where the customer's payment is deposited. If the deposit account is not specified, the Undeposited Account is used.

  • Create an salesreceipt object

  • Create an salesreceipt object

  • Update a salesreceipt object

  • Delete a salesreceipt object

  • Void a salesreceipt object

TaxAgency

A TaxAgency object is associated with a tax rate and identifies the agency to which that tax rate applies, that is, the entity that collects those taxes.

  • Create a tax-agency object

  • Get a tax-agency object by ID

TaxCode

A TaxCode object is used to track the taxable or non-taxable status of products, services, and customers. You can assign a sales tax code to each of your products, services, and customers based on their taxable or non-taxable status. You can then use these codes to generate reports that provide information to the tax agencies about the taxable or non-taxable status of certain sales.

  • Read a taxcode by Id

TaxRate

A TaxRate object represents rate applied to calculate tax liability. Use the TaxService entity to create a taxrate. See Global tax model for more information about using TaxRate objects and the tax model in general.

  • Read a taxRate by Id

TaxService

The TaxService resource allows you to perform the following actions: Create a new TaxCode object and specify a list of existing tax rates to be associated to that tax code. To retrieve a list of existing TaxCode objects, query the TaxCode resource. Create a new TaxRate object, dynamically. To retrieve a list of existing tax rates, query the TaxRate resource.

  • Use TaxService to create taxcode and corresponding taxrates

Term

A Term object represents the terms under which a sale is made, typically expressed in the form of days due after the goods are received. Optionally, a discount of the total amount may be applied if payment is made within a stipulated time. For example, net 30 indicates that payment is due within 30 days. A term of 2%/15 net 60 indicates that payment is due within 60 days, with a discount of 2% if payment is made within 15 days.

  • Create a term object

  • Read a term object by Id

  • Update a term object

  • Update a term object

TimeActivity

The TimeActivity object represents a record of time worked by a vendor or employee.

  • Create a term object

  • Update a term object

  • Read a term object by Id

  • Delete a time-activity object by Id

Transfer

A Transfer represents a transaction where funds are moved between two accounts from the company's QuickBooks chart of accounts.

  • Create a transfer object

  • Read a transfer object by Id

  • Update a transfer object

  • Delete a transfer object

Vendor

The Vendor object represents the seller from whom your company purchases any service or product.

  • Create a vendor object

  • Update a vendor object

  • Read a vendor object by Id

  • Delete a vendor object

VendorCredit

The VendorCredit object is an accounts payable transaction that represents a refund or credit of payment for goods or services. It is a credit that a vendor owes you for various reasons such as overpaid bill, returned merchandise, or other reasons.

  • Create a vendorcredit object

  • Update a vendorcredit object

  • Read a vendorcredit object by Id

  • Delete a vendorcredit object by Id

In order to install this in your org, you need to access the library from the Declarative Webhooks app in your Salesforce org, Declarative Webhooks Library tab.