nodejs client for Intuit's QuickBooks API
npm install node-quickbooks
var QuickBooks = require('node-quickbooks')
var qbo = new QuickBooks(consumerKey,
consumerSecret,
oauthToken,
false, // no token secret for oAuth 2.0
realmId,
false, // use the sandbox?
true, // enable debugging?
null, // set minorversion, or null for the latest version
'2.0', //oAuth version
refreshToken);
qbo.createAttachable({Note: 'My File'}, function(err, attachable) {
if (err) console.log(err)
else console.log(attachable.Id)
})
qbo.getBillPayment('42', function(err, billPayment) {
console.log(billPayment)
})
qbo.updateCustomer({
Id: '42',
SyncToken: '1',
sparse: true,
PrimaryEmailAddr: {Address: '[email protected]'}
}, function(err, customer) {
if (err) console.log(err)
else console.log(customer)
})
qbo.deleteAttachable('42', function(err, attachable) {
if (err) console.log(err)
else console.log(attachable)
}))
qbo.findAccounts({
AccountType: 'Expense',
desc: 'MetaData.LastUpdatedTime',
limit: 5,
offset: 5
}, function(err, accounts) {
accounts.QueryResponse.Account.forEach(function(account) {
console.log(account.Name)
})
})
qbo.reportBalanceSheet({department: '1,4,7'}, function(err, balanceSheet) {
console.log(balanceSheet)
})
qbo.upload(
'contractor.jpg',
'image/jpeg',
fs.createReadStream('contractor.jpg'),
'Invoice',
40,
function(err, data) {
console.log(err)
console.log(data)
})
All query functions take an optional first argument object which will be converted to a
where clause by means of the keys and values of the object used as column names and parameter values of the where clause. For example, in order to issue a query with a simple where clause such as, select * from attachable where Note = 'My sample note field'
, the following code would be needed:
qbo.findAttachables({
Note: 'My sample note field'
}, function(e, attachables) {
console.log(attachables)
})
Alternatively, the object can be an array of objects, each specifying a field
, value
and operator
(optional) keys. This allows you to build a more complex query using operators such as =
, IN
, <
, >
, <=
, >=
, or LIKE
.
qbo.findTimeActivities([
{field: 'TxnDate', value: '2014-12-01', operator: '>'},
{field: 'TxnDate', value: '2014-12-03', operator: '<'},
{field: 'limit', value: 5}
], function (e, timeActivities) {
console.log(timeActivities)
})
Basic ordering is achieved via the optional first argument object as well. Include asc
or desc
keys in the object whose values are the columns you wish to sort on. For example:
qbo.findAttachables({
desc: 'MetaData.LastUpdatedTime'
}, function(e, attachables) {
console.log(attachables)
})
Pagination is achieved via the optional first argument object as well. Include limit
and/or offset
keys in the object whose values are the number of rows you wish to limit the result set to or from respectively. For example:
qbo.findAttachables({
limit: 10,
offset: 10
}, function(e, attachables) {
console.log(attachables)
})
The default (and max) limit is 1000 records returned in a single request. Adding a boolean fetchAll
parameter
will return all available records, transparently issuing as many requests as necessary to fetch them. So
in the first example below, if your Quickbooks business contains 5,000 customers, 5 http requests will be issued behind
the scenes and finally your callback will be invoked with an array of those 5,000 customers passed to it.
qbo.findCustomers({
fetchAll: true
}, function(e, customers) {
console.log(customers)
})
qbo.findCustomers([
{field: 'fetchAll', value: true},
{field: 'FamilyName', value: 'S%', operator: 'LIKE'}
], function(e, customers) {
console.log(customers)
})
Row counts rather than full result sets can be obtained by passing the count
key in the optional first argument object with a boolean true value. For example:
qbo.findAttachables({
count: true
}, function(e, attachables) {
console.log(attachables)
})
The example
directory contains a barebones Express application that demonstrates the OAuth workflow.
First navigate to the example
directory and install the required dependencies from NPM
npm install
You will need to create an Intuit Developer account at https://developer.intuit.com and add your app's OAuth Consumer Key and Secret to app.js
. Pay attention to which APIs (Payments, QuickBooks) you select during the application creation process, you will have to update example/views/intuit.ejs
if you did not select both.
Start the app
node app.js
Browse to http://localhost:3000/start and you will see a page containing only the Intuit Developer Javascript-rendered button. Clicking on this kicks off the OAuth exchange.
The Intuit Developer Javascript code calls back into the node application, which needs to invoke the OAuth Request Token URL at https://oauth.intuit.com/oauth/v1/get_request_token via a server-side http POST method. Note how the response from the http POST is parsed and the browser is redirected to the App Center URL at https://appcenter.intuit.com/Connect/Begin?oauth_token= with the oauth_token
passed as a URL parameter. Note also how the oauth_token_secret
needs to somehow be maintained across http requests, as it needs to be passed in the second server-side http POST to the Access Token URL at https://oauth.intuit.com/oauth/v1/get_access_token. This final step is invoked once the user has authenticated on Intuit's site and authorized the application, and then the user is redirected back to the node application at the callback URL specified as a parameter in the Request Token remote call, in the example app's case, http://localhost:3000/callback.
The Intuit Developer Javascript code contained in intuit.ejs
is configured with the grantUrl
option set to "http://localhost:3000/requestToken". You will want to change this to an appropriate URL for your application, but you will need to write similar functionality to that contained in the '/requestToken' route configured in app.js
, also taking care to configure your consumerKey
and consumerSecret
on lines 27-28 in app.js.
First you'll need to fill in the missing values in config.js. The consumerKey and consumerSecret you can get from the Intuit Developer portal, the token, tokenSecret, and realmId are easiest to obtain by running the example app, completing the OAuth workflow, and copying the values that are logged to the console. Once you've filled in the missing credentials in config.js you can simply run:
npm test
QuickBooks(consumerKey, consumerSecret, oauth_token, oauth_token_secret, realmId, debug, minorVer, oAuthVer, refresh_token)
Arguments
consumerKey
- The application's consumer keyconsumerSecret
- The application's consumer secretoauth_token
- The user's generated tokenoauth_token_secret
- The user's generated secret. Set this to false for oAuth 2.realmId
- The company IDuseSandbox
- boolean flag to indicate whether to use Sandbox (i.e. for testing)debug
- boolean flag to log http requests, headers, and response bodies to the consoleminorVer
- Minor version for Intuit's API. Use null if you do not want to specify a version, to use the latestoAuthVer
- Use string '2.0' for oAuth 2refresh_token
- The user's generated refresh token. This is the code query parameter in the oAuth 2.0 callback
createAccount
createAttachable
createBill
createBillPayment
createClass
createCreditMemo
createCustomer
createDepartment
createDeposit
createEmployee
createEstimate
createInvoice
createItem
createJournalCode
createJournalEntry
createPayment
createPaymentMethod
createPurchase
createPurchaseOrder
createRefundReceipt
createSalesReceipt
createTaxAgency
createTaxService
createTerm
createTimeActivity
createTransfer
createVendor
createVendorCredit
getAccount
getAttachable
getBill
getBillPayment
getClass
getCompanyInfo
getCreditMemo
getCustomer
getDepartment
getDeposit
getEmployee
getEstimate
getExchangeRate
getInvoice
getItem
getJournalCode
getJournalEntry
getPayment
getPaymentMethod
getPreferences
getPurchase
getPurchaseOrder
getRefundReceipt
getReports
getSalesReceipt
getTaxAgency
getTaxCode
getTaxRate
getTerm
getTimeActivity
getVendor
getVendorCredit
updateAccount
updateAttachable
updateBill
updateBillPayment
updateClass
updateCompanyInfo
updateCreditMemo
updateCustomer
updateDepartment
updateDeposit
updateEmployee
updateEstimate
updateInvoice
updateItem
updateJournalCode
updateJournalEntry
updatePayment
updatePaymentMethod
updatePreferences
updatePurchase
updatePurchaseOrder
updateRefundReceipt
updateSalesReceipt
updateTaxAgency
updateTaxCode
updateTaxRate
updateTerm
updateTimeActivity
updateTransfer
updateVendor
updateVendorCredit
updateExchangeRate
deleteAttachable
deleteBill
deleteBillPayment
deleteCreditMemo
deleteDeposit
deleteEstimate
deleteInvoice
deleteJournalCode
deleteJournalEntry
deletePayment
deletePurchase
deletePurchaseOrder
deleteRefundReceipt
deleteSalesReceipt
deleteTimeActivity
deleteTransfer
deleteVendorCredit
findAccounts
findAttachables
findBills
findBillPayments
findBudgets
findClasses
findCompanyInfos
findCreditMemos
findCustomers
findDepartments
findDeposits
findEmployees
findEstimates
findInvoices
findItems
findJournalCodes
findJournalEntries
findPayments
findPaymentMethods
findPreferenceses
findPurchases
findPurchaseOrders
findRefundReceipts
findSalesReceipts
findTaxAgencies
findTaxCodes
findTaxRates
findTerms
findTimeActivities
findVendors
findVendorCredits
findExchangeRates
reportBalanceSheet
reportProfitAndLoss
reportProfitAndLossDetail
reportTrialBalance
reportCashFlow
reportInventoryValuationSummary
reportCustomerSales
reportItemSales
reportCustomerIncome
reportCustomerBalance
reportCustomerBalanceDetail
reportAgedReceivables
reportAgedReceivableDetail
reportVendorBalance
reportVendorBalanceDetail
reportAgedPayables
reportAgedPayableDetail
reportVendorExpenses
reportTransactionList
reportGeneralLedgerDetail
reportDepartmentSales
reportClassSales
getInvoicePdf
getCreditMemoPdf
getSalesReceiptPdf
sendInvoicePdf
sendCreditMemoPdf
sendEstimatePdf
sendSalesReceiptPdf
Creates the Account in QuickBooks
Arguments
object
- The unsaved account, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent Account
Creates the Attachable in QuickBooks
Arguments
object
- The unsaved attachable, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent Attachable
Creates the Bill in QuickBooks
Arguments
object
- The unsaved bill, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent Bill
Creates the BillPayment in QuickBooks
Arguments
object
- The unsaved billPayment, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent BillPayment
Creates the Class in QuickBooks
Arguments
object
- The unsaved class, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent Class
Creates the CreditMemo in QuickBooks
Arguments
object
- The unsaved creditMemo, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent CreditMemo
Creates the Customer in QuickBooks
Arguments
object
- The unsaved customer, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent Customer
Creates the Department in QuickBooks
Arguments
object
- The unsaved department, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent Department
Creates the Deposit in QuickBooks
Arguments
object
- The unsaved deposit, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent Deposit
Creates the Employee in QuickBooks
Arguments
object
- The unsaved employee, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent Employee
Creates the Estimate in QuickBooks
Arguments
object
- The unsaved estimate, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent Estimate
Creates the Invoice in QuickBooks
Arguments
object
- The unsaved invoice, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent Invoice
Creates the Item in QuickBooks
Arguments
object
- The unsaved item, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent Item
Creates the JournalCode in QuickBooks
Arguments
object
- The unsaved journalCode, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent JournalCode
Creates the JournalEntry in QuickBooks
Arguments
object
- The unsaved journalEntry, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent JournalEntry
Creates the Payment in QuickBooks
Arguments
object
- The unsaved payment, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent Payment
Creates the PaymentMethod in QuickBooks
Arguments
object
- The unsaved paymentMethod, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent PaymentMethod
Creates the Purchase in QuickBooks
Arguments
object
- The unsaved purchase, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent Purchase
Creates the PurchaseOrder in QuickBooks
Arguments
object
- The unsaved purchaseOrder, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent PurchaseOrder
Creates the RefundReceipt in QuickBooks
Arguments
object
- The unsaved refundReceipt, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent RefundReceipt
Creates the SalesReceipt in QuickBooks
Arguments
object
- The unsaved salesReceipt, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent SalesReceipt
Creates the TaxAgency in QuickBooks
Arguments
object
- The unsaved taxAgency, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent TaxAgency
Creates the TaxService in QuickBooks
Arguments
object
- The unsaved taxService, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent TaxService
Creates the Term in QuickBooks
Arguments
object
- The unsaved term, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent Term
Creates the TimeActivity in QuickBooks
Arguments
object
- The unsaved timeActivity, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent TimeActivity
Creates the Transfer in QuickBooks
Arguments
object
- The unsaved transfer, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent Transfer
Creates the Vendor in QuickBooks
Arguments
object
- The unsaved vendor, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent Vendor
Creates the VendorCredit in QuickBooks
Arguments
object
- The unsaved vendorCredit, to be persisted in QuickBookscallback
- Callback function which is called with any error and the persistent VendorCredit
Retrieves the Account from QuickBooks
Arguments
id
- The Id of persistent Accountcallback
- Callback function which is called with any error and the persistent Account
Retrieves the Attachable from QuickBooks
Arguments
id
- The Id of persistent Attachablecallback
- Callback function which is called with any error and the persistent Attachable
Retrieves the Bill from QuickBooks
Arguments
id
- The Id of persistent Billcallback
- Callback function which is called with any error and the persistent Bill
Retrieves the BillPayment from QuickBooks
Arguments
id
- The Id of persistent BillPaymentcallback
- Callback function which is called with any error and the persistent BillPayment
Retrieves the Class from QuickBooks
Arguments
id
- The Id of persistent Classcallback
- Callback function which is called with any error and the persistent Class
Retrieves the CompanyInfo from QuickBooks
Arguments
id
- The Id of persistent CompanyInfocallback
- Callback function which is called with any error and the persistent CompanyInfo
Retrieves the CreditMemo from QuickBooks
Arguments
id
- The Id of persistent CreditMemocallback
- Callback function which is called with any error and the persistent CreditMemo
Retrieves the Customer from QuickBooks
Arguments
id
- The Id of persistent Customercallback
- Callback function which is called with any error and the persistent Customer
Retrieves the Department from QuickBooks
Arguments
id
- The Id of persistent Departmentcallback
- Callback function which is called with any error and the persistent Department
Retrieves the Deposit from QuickBooks
Arguments
id
- The Id of persistent Depositcallback
- Callback function which is called with any error and the persistent Deposit
Retrieves the Employee from QuickBooks
Arguments
id
- The Id of persistent Employeecallback
- Callback function which is called with any error and the persistent Employee
Retrieves the Estimate from QuickBooks
Arguments
id
- The Id of persistent Estimatecallback
- Callback function which is called with any error and the persistent Estimate
Retrieves an ExchangeRate from QuickBooks
Arguments
options
- An object with options including the requiredsourcecurrencycode
parameter and optionalasofdate
parameter.callback
- Callback function which is called with any error and the ExchangeRate
Retrieves the Invoice from QuickBooks
Arguments
id
- The Id of persistent Invoicecallback
- Callback function which is called with any error and the persistent Invoice
Retrieves the Item from QuickBooks
Arguments
id
- The Id of persistent Itemcallback
- Callback function which is called with any error and the persistent Item
Retrieves the JournalCode from QuickBooks
Arguments
id
- The Id of persistent JournalCodecallback
- Callback function which is called with any error and the persistent JournalCode
Retrieves the JournalEntry from QuickBooks
Arguments
id
- The Id of persistent JournalEntrycallback
- Callback function which is called with any error and the persistent JournalEntry
Retrieves the Payment from QuickBooks
Arguments
id
- The Id of persistent Paymentcallback
- Callback function which is called with any error and the persistent Payment
Retrieves the PaymentMethod from QuickBooks
Arguments
id
- The Id of persistent PaymentMethodcallback
- Callback function which is called with any error and the persistent PaymentMethod
Retrieves the Preferences from QuickBooks
Arguments
callback
- Callback function which is called with any error and the Preferences of the authorised realm
Retrieves the Purchase from QuickBooks
Arguments
id
- The Id of persistent Purchasecallback
- Callback function which is called with any error and the persistent Purchase
Retrieves the PurchaseOrder from QuickBooks
Arguments
id
- The Id of persistent PurchaseOrdercallback
- Callback function which is called with any error and the persistent PurchaseOrder
Retrieves the RefundReceipt from QuickBooks
Arguments
id
- The Id of persistent RefundReceiptcallback
- Callback function which is called with any error and the persistent RefundReceipt
Retrieves the Reports from QuickBooks
Arguments
id
- The Id of persistent Reportscallback
- Callback function which is called with any error and the persistent Reports
Retrieves the SalesReceipt from QuickBooks
Arguments
id
- The Id of persistent SalesReceiptcallback
- Callback function which is called with any error and the persistent SalesReceipt
Retrieves the TaxAgency from QuickBooks
Arguments
id
- The Id of persistent TaxAgencycallback
- Callback function which is called with any error and the persistent TaxAgency
Retrieves the TaxCode from QuickBooks
Arguments
id
- The Id of persistent TaxCodecallback
- Callback function which is called with any error and the persistent TaxCode
Retrieves the TaxRate from QuickBooks
Arguments
id
- The Id of persistent TaxRatecallback
- Callback function which is called with any error and the persistent TaxRate
Retrieves the Term from QuickBooks
Arguments
id
- The Id of persistent Termcallback
- Callback function which is called with any error and the persistent Term
Retrieves the TimeActivity from QuickBooks
Arguments
id
- The Id of persistent TimeActivitycallback
- Callback function which is called with any error and the persistent TimeActivity
Retrieves the Transfer from QuickBooks
Arguments
id
- The Id of persistent Transfercallback
- Callback function which is called with any error and the persistent Transfer
Retrieves the Vendor from QuickBooks
Arguments
id
- The Id of persistent Vendorcallback
- Callback function which is called with any error and the persistent Vendor
Retrieves the VendorCredit from QuickBooks
Arguments
id
- The Id of persistent VendorCreditcallback
- Callback function which is called with any error and the persistent VendorCredit
Updates QuickBooks version of Account
Arguments
object
- The persistent Account, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated Account
Updates QuickBooks version of Attachable
Arguments
object
- The persistent Attachable, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated Attachable
Updates QuickBooks version of Bill
Arguments
object
- The persistent Bill, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated Bill
Updates QuickBooks version of BillPayment
Arguments
object
- The persistent BillPayment, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated BillPayment
Updates QuickBooks version of Class
Arguments
object
- The persistent Class, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated Class
Updates QuickBooks version of CompanyInfo
Arguments
object
- The persistent CompanyInfo, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated CompanyInfo
Updates QuickBooks version of CreditMemo
Arguments
object
- The persistent CreditMemo, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated CreditMemo
Updates QuickBooks version of Customer
Arguments
object
- The persistent Customer, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated Customer
Updates QuickBooks version of Department
Arguments
object
- The persistent Department, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated Department
Updates QuickBooks version of Deposit
Arguments
object
- The persistent Deposit, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated Deposit
Updates QuickBooks version of Employee
Arguments
object
- The persistent Employee, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated Employee
Updates QuickBooks version of Estimate
Arguments
object
- The persistent Estimate, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated Estimate
Updates QuickBooks version of Invoice
Arguments
object
- The persistent Invoice, including Id and SyncToken fields. To void invoice setvoid:true
in the object.callback
- Callback function which is called with any error and the updated Invoice
Updates QuickBooks version of Item
Arguments
object
- The persistent Item, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated Item
Updates QuickBooks version of JournalCode
Arguments
object
- The persistent JournalCode, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated JournalCode
Updates QuickBooks version of JournalEntry
Arguments
object
- The persistent JournalEntry, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated JournalEntry
Updates QuickBooks version of Payment
Arguments
object
- The persistent Payment, including Id and SyncToken fields. To void payment setvoid:true
in the object.callback
- Callback function which is called with any error and the updated Payment
Updates QuickBooks version of PaymentMethod
Arguments
object
- The persistent PaymentMethod, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated PaymentMethod
Updates QuickBooks version of Preferences
Arguments
object
- The persistent Preferences, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated Preferences
Updates QuickBooks version of Purchase
Arguments
object
- The persistent Purchase, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated Purchase
Updates QuickBooks version of PurchaseOrder
Arguments
object
- The persistent PurchaseOrder, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated PurchaseOrder
Updates QuickBooks version of RefundReceipt
Arguments
object
- The persistent RefundReceipt, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated RefundReceipt
Updates QuickBooks version of SalesReceipt
Arguments
object
- The persistent SalesReceipt, including Id and SyncToken fields. To void sales receipt setvoid:true
in the object.callback
- Callback function which is called with any error and the updated SalesReceipt
Updates QuickBooks version of TaxAgency
Arguments
object
- The persistent TaxAgency, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated TaxAgency
Updates QuickBooks version of TaxCode
Arguments
object
- The persistent TaxCode, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated TaxCode
Updates QuickBooks version of TaxRate
Arguments
object
- The persistent TaxRate, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated TaxRate
Updates QuickBooks version of Term
Arguments
object
- The persistent Term, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated Term
Updates QuickBooks version of TimeActivity
Arguments
object
- The persistent TimeActivity, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated TimeActivity
Updates QuickBooks version of Transfer
Arguments
object
- The persistent Transfer, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated Transfer
Updates QuickBooks version of Vendor
Arguments
object
- The persistent Vendor, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated Vendor
Updates QuickBooks version of VendorCredit
Arguments
object
- The persistent VendorCredit, including Id and SyncToken fieldscallback
- Callback function which is called with any error and the updated VendorCredit
Updates QuickBooks version of ExchangeRate
Arguments
object
- The persistent ExchangeRatecallback
- Callback function which is called with any error and the updated ExchangeRate
Deletes the Attachable from QuickBooks
Arguments
idOrEntity
- The persistent Attachable to be deleted, or the Id of the Attachable, in which case an extra GET request will be issued to first retrieve the Attachablecallback
- Callback function which is called with any error and the status of the persistent Attachable
Deletes the Bill from QuickBooks
Arguments
idOrEntity
- The persistent Bill to be deleted, or the Id of the Bill, in which case an extra GET request will be issued to first retrieve the Billcallback
- Callback function which is called with any error and the status of the persistent Bill
Deletes the BillPayment from QuickBooks
Arguments
idOrEntity
- The persistent BillPayment to be deleted, or the Id of the BillPayment, in which case an extra GET request will be issued to first retrieve the BillPaymentcallback
- Callback function which is called with any error and the status of the persistent BillPayment
Deletes the CreditMemo from QuickBooks
Arguments
idOrEntity
- The persistent CreditMemo to be deleted, or the Id of the CreditMemo, in which case an extra GET request will be issued to first retrieve the CreditMemocallback
- Callback function which is called with any error and the status of the persistent CreditMemo
Deletes the Deposit from QuickBooks
Arguments
idOrEntity
- The persistent Deposit to be deleted, or the Id of the Deposit, in which case an extra GET request will be issued to first retrieve the Depositcallback
- Callback function which is called with any error and the status of the persistent Deposit
Deletes the Estimate from QuickBooks
Arguments
idOrEntity
- The persistent Estimate to be deleted, or the Id of the Estimate, in which case an extra GET request will be issued to first retrieve the Estimatecallback
- Callback function which is called with any error and the status of the persistent Estimate
Deletes the Invoice from QuickBooks
Arguments
idOrEntity
- The persistent Invoice to be deleted, or the Id of the Invoice, in which case an extra GET request will be issued to first retrieve the Invoicecallback
- Callback function which is called with any error and the status of the persistent Invoice
Deletes the JournalCode from QuickBooks
Arguments
idOrEntity
- The persistent JournalCode to be deleted, or the Id of the JournalCode, in which case an extra GET request will be issued to first retrieve the JournalCodecallback
- Callback function which is called with any error and the status of the persistent JournalCode
Deletes the JournalEntry from QuickBooks
Arguments
idOrEntity
- The persistent JournalEntry to be deleted, or the Id of the JournalEntry, in which case an extra GET request will be issued to first retrieve the JournalEntrycallback
- Callback function which is called with any error and the status of the persistent JournalEntry
Deletes the Payment from QuickBooks
Arguments
idOrEntity
- The persistent Payment to be deleted, or the Id of the Payment, in which case an extra GET request will be issued to first retrieve the Paymentcallback
- Callback function which is called with any error and the status of the persistent Payment
Deletes the Purchase from QuickBooks
Arguments
idOrEntity
- The persistent Purchase to be deleted, or the Id of the Purchase, in which case an extra GET request will be issued to first retrieve the Purchasecallback
- Callback function which is called with any error and the status of the persistent Purchase
Deletes the PurchaseOrder from QuickBooks
Arguments
idOrEntity
- The persistent PurchaseOrder to be deleted, or the Id of the PurchaseOrder, in which case an extra GET request will be issued to first retrieve the PurchaseOrdercallback
- Callback function which is called with any error and the status of the persistent PurchaseOrder
Deletes the RefundReceipt from QuickBooks
Arguments
idOrEntity
- The persistent RefundReceipt to be deleted, or the Id of the RefundReceipt, in which case an extra GET request will be issued to first retrieve the RefundReceiptcallback
- Callback function which is called with any error and the status of the persistent RefundReceipt
Deletes the SalesReceipt from QuickBooks
Arguments
idOrEntity
- The persistent SalesReceipt to be deleted, or the Id of the SalesReceipt, in which case an extra GET request will be issued to first retrieve the SalesReceiptcallback
- Callback function which is called with any error and the status of the persistent SalesReceipt
Deletes the TimeActivity from QuickBooks
Arguments
idOrEntity
- The persistent TimeActivity to be deleted, or the Id of the TimeActivity, in which case an extra GET request will be issued to first retrieve the TimeActivitycallback
- Callback function which is called with any error and the status of the persistent TimeActivity
Deletes the Transfer from QuickBooks
Arguments
idOrEntity
- The persistent Transfer to be deleted, or the Id of the Transfer, in which case an extra GET request will be issued to first retrieve the Transfercallback
- Callback function which is called with any error and the status of the persistent Transfer
Deletes the VendorCredit from QuickBooks
Arguments
idOrEntity
- The persistent VendorCredit to be deleted, or the Id of the VendorCredit, in which case an extra GET request will be issued to first retrieve the VendorCreditcallback
- Callback function which is called with any error and the status of the persistent VendorCredit
Finds all Accounts in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of Accounts
Finds all Attachables in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of Attachables
Finds all Bills in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of Bills
Finds all BillPayments in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of BillPayments
Finds all Budgets in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of Budgets
Finds all Classs in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of Classes
Finds all CompanyInfos in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of CompanyInfos
Finds all CreditMemos in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of CreditMemos
Finds all Customers in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of Customers
Finds all Departments in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of Departments
Finds all Deposits in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of Deposits
Finds all Employees in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of Employees
Finds all Estimates in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of Estimates
Finds all Invoices in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of Invoices
Finds all Items in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of Items
Finds all JournalCodes in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of JournalCodes
Finds all JournalEntrys in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of JournalEntries
Finds all Payments in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of Payments
Finds all PaymentMethods in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of PaymentMethods
Finds all Preferencess in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of Preferences
Finds all Purchases in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of Purchases
Finds all PurchaseOrders in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of PurchaseOrders
Finds all RefundReceipts in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of RefundReceipts
Finds all SalesReceipts in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of SalesReceipts
Finds all TaxAgencys in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of TaxAgencies
Finds all TaxCodes in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of TaxCodes
Finds all TaxRates in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of TaxRates
Finds all Terms in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of Terms
Finds all TimeActivitys in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of TimeActivities
Finds all Vendors in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of Vendors
Finds all VendorCredits in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of VendorCredits
Finds all ExchangeRates in QuickBooks, optionally matching the specified criteria
Arguments
criteria
- (Optional) String or single-valued map converted to a where clause of the form "where key = 'value'"callback
- Callback function which is called with any error and the list of ExchangeRates
Retrieves the BalanceSheet Report from QuickBooks
Arguments
options
- (Optional) Map of key-value pairs passed as options to the Reportcallback
- Callback function which is called with any error and the BalanceSheet Report
Retrieves the ProfitAndLoss Report from QuickBooks
Arguments
options
- (Optional) Map of key-value pairs passed as options to the Reportcallback
- Callback function which is called with any error and the ProfitAndLoss Report
Retrieves the ProfitAndLossDetail Report from QuickBooks
Arguments
options
- (Optional) Map of key-value pairs passed as options to the Reportcallback
- Callback function which is called with any error and the ProfitAndLossDetail Report
Retrieves the TrialBalance Report from QuickBooks
Arguments
options
- (Optional) Map of key-value pairs passed as options to the Reportcallback
- Callback function which is called with any error and the TrialBalance Report
Retrieves the CashFlow Report from QuickBooks
Arguments
options
- (Optional) Map of key-value pairs passed as options to the Reportcallback
- Callback function which is called with any error and the CashFlow Report
Retrieves the InventoryValuationSummary Report from QuickBooks
Arguments
options
- (Optional) Map of key-value pairs passed as options to the Reportcallback
- Callback function which is called with any error and the InventoryValuationSummary Report
Retrieves the CustomerSales Report from QuickBooks
Arguments
options
- (Optional) Map of key-value pairs passed as options to the Reportcallback
- Callback function which is called with any error and the CustomerSales Report
Retrieves the ItemSales Report from QuickBooks
Arguments
options
- (Optional) Map of key-value pairs passed as options to the Reportcallback
- Callback function which is called with any error and the ItemSales Report
Retrieves the CustomerIncome Report from QuickBooks
Arguments
options
- (Optional) Map of key-value pairs passed as options to the Reportcallback
- Callback function which is called with any error and the CustomerIncome Report
Retrieves the CustomerBalance Report from QuickBooks
Arguments
options
- (Optional) Map of key-value pairs passed as options to the Reportcallback
- Callback function which is called with any error and the CustomerBalance Report
Retrieves the CustomerBalanceDetail Report from QuickBooks
Arguments
options
- (Optional) Map of key-value pairs passed as options to the Reportcallback
- Callback function which is called with any error and the CustomerBalanceDetail Report
Retrieves the AgedReceivables Report from QuickBooks
Arguments
options
- (Optional) Map of key-value pairs passed as options to the Reportcallback
- Callback function which is called with any error and the AgedReceivables Report
Retrieves the AgedReceivableDetail Report from QuickBooks
Arguments
options
- (Optional) Map of key-value pairs passed as options to the Reportcallback
- Callback function which is called with any error and the AgedReceivableDetail Report
Retrieves the VendorBalance Report from QuickBooks
Arguments
options
- (Optional) Map of key-value pairs passed as options to the Reportcallback
- Callback function which is called with any error and the VendorBalance Report
Retrieves the VendorBalanceDetail Report from QuickBooks
Arguments
options
- (Optional) Map of key-value pairs passed as options to the Reportcallback
- Callback function which is called with any error and the VendorBalanceDetail Report
Retrieves the AgedPayables Report from QuickBooks
Arguments
options
- (Optional) Map of key-value pairs passed as options to the Reportcallback
- Callback function which is called with any error and the AgedPayables Report
Retrieves the AgedPayableDetail Report from QuickBooks
Arguments
options
- (Optional) Map of key-value pairs passed as options to the Reportcallback
- Callback function which is called with any error and the AgedPayableDetail Report
Retrieves the VendorExpenses Report from QuickBooks
Arguments
options
- (Optional) Map of key-value pairs passed as options to the Reportcallback
- Callback function which is called with any error and the VendorExpenses Report
Retrieves the TransactionList Report from QuickBooks
Arguments
options
- (Optional) Map of key-value pairs passed as options to the Reportcallback
- Callback function which is called with any error and the TransactionList Report
Retrieves the GeneralLedgerDetail Report from QuickBooks
Arguments
options
- (Optional) Map of key-value pairs passed as options to the Reportcallback
- Callback function which is called with any error and the GeneralLedgerDetail Report
Retrieves the DepartmentSales Report from QuickBooks
Arguments
options
- (Optional) Map of key-value pairs passed as options to the Reportcallback
- Callback function which is called with any error and the DepartmentSales Report
Retrieves the ClassSales Report from QuickBooks
Arguments
options
- (Optional) Map of key-value pairs passed as options to the Reportcallback
- Callback function which is called with any error and the ClassSales Report
Retrieves the Invoice PDF from QuickBooks
Arguments
id
- The Id of persistent Invoicecallback
- Callback function which is called with any error and the Invoice PDF
Retrieves the Credit Memo PDF from QuickBooks
Arguments
id
- The Id of persistent Credit Memocallback
- Callback function which is called with any error and the Credit Memo PDF
Retrieves the SalesReceipt PDF from QuickBooks
Arguments
id
- The Id of persistent SalesReceiptcallback
- Callback function which is called with any error and the persistent SalesReceipt PDF
Emails the Invoice PDF from QuickBooks to the address supplied in Invoice.BillEmail.EmailAddress or the specified 'sendTo' address
Arguments
Id
- The Id of persistent InvoicesendTo
- (Optional) optional email address to send the PDF to. If not provided, address supplied in Invoice.BillEmail.EmailAddress will be usedcallback
- Callback function which is called with any error and the Invoice PDF
Emails the Credit Memo PDF from QuickBooks to the address supplied in CreditMemo.BillEmail.EmailAddress or the specified 'sendTo' address
Arguments
Id
- The Id of persistent Credit MemosendTo
- (Optional) optional email address to send the PDF to. If not provided, address supplied in Credit Memo.BillEmail.EmailAddress will be usedcallback
- Callback function which is called with any error and the Credit Memo PDF
Emails the Estimate PDF from QuickBooks to the address supplied in Estimate.BillEmail.EmailAddress or the specified 'sendTo' address
Arguments
Id
- The Id of persistent EstimatesendTo
- (Optional) optional email address to send the PDF to. If not provided, address supplied in Estimate.BillEmail.EmailAddress will be usedcallback
- Callback function which is called with any error and the Estimate PDF
Emails the SalesReceipt PDF from QuickBooks to the address supplied in SalesReceipt.BillEmail.EmailAddress or the specified 'sendTo' address
Arguments
Id
- The Id of persistent SalesReceiptsendTo
- (Optional) optional email address to send the PDF to. If not provided, address supplied in SalesReceipt.BillEmail.EmailAddress will be usedcallback
- Callback function which is called with any error and the SalesReceipt PDF
Emails the Purchase Order from QuickBooks to the address supplied in PurchaseOrder.POEmail.Address or the specified 'sendTo' address
Arguments
Id
- The Id of persistent Purchase OrdersendTo
- (Optional) optional email address to send the email to. If not provided, address supplied in PurchaseOrder.POEmail.Address will be usedcallback
- Callback function which is called with any error and the PurchaseOrder PDF
Batch operation to enable an application to perform multiple operations in a single request. The following batch items are supported:
- create
- update
- delete
- query
- The maximum number of batch items in a single request is 30.
Arguments
items
- JavaScript array of batch itemscallback
- Callback function which is called with any error and list of BatchItemResponses
The change data capture (CDC) operation returns a list of entities that have changed since a specified time.
Arguments
entities
- Comma separated list or JavaScript array of entities to search for changessince
- JavaScript Date or string representation of the form '2012-07-20T22:25:51-07:00' to look back for changes untilcallback
- Callback function which is called with any error and list of changes
Uploads a file as an Attachable in QBO, optionally linking it to the specified QBO Entity.
Arguments
filename
- the name of the filecontentType
- the mime type of the filestream
- ReadableStream of file contentsentityType
- optional string name of the QBO entity the Attachable will be linked to (e.g. Invoice)entityId
- optional Id of the QBO entity the Attachable will be linked tocallback
- callback which receives the newly created Attachable