/node-quickbooks

node.js client for Intuit's IPP Quickbooks V3 API.

Primary LanguageJavaScript

node-quickbooks

Node.js client for [QuickBooks V3 API] 1.

Installation

npm install node-quickbooks

Documentation

var QuickBooks = require('node-quickbooks')

var qbo = new QuickBooks(consumerKey,
                         consumerSecret,
                         oauthToken,
                         oauthTokenSecret,
                         realmId,
                         false, // don't use the sandbox (i.e. for testing)
                         true); // turn debugging on

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: 'customer@example.com'}
})  // with no callback, i.e. "fire 'n forget"

qbo.deleteAttachable(42)

qbo.findAccounts({
  AccountType: 'Expense',
  desc: 'MetaData.LastUpdatedTime',
  limit: 5,
  offset: 5
  }, function(_, accounts) {
  accounts.QueryResponse.Account.forEach(function(account) {
    console.log(account.Name)
  })
})

qbo.reportBalanceSheet({department: '1,4,7'}, function(_, balanceSheet) {
  console.log(balanceSheet)
})

#####Payments (Charge) Api

var QuickBooks = require('node-quickbooks')

var qbo = new QuickBooks(consumerKey,
                         consumerSecret,
                         oauthToken,
                         oauthTokenSecret,
                         useSandbox,
                         realmId)

var chargeId

var charge = {
  capture: false,
  currency: 'USD',
  amount: '42.21',
  card: {
    exp_year: '2016',
    exp_month: '02',
    address: {
      region: 'CA',
      postal_code: '94062',
      street_address: '131 Fairy Lane',
      country: 'US',
      city: 'Sunnyvale'
    },
    name: 'Brad Smith',
    cvc: '123',
    number: '4111111111111111'
  }
}

qbo.charge(charge, function(err, charged) {
  console.log(charged.id)
})

qbo.getCharge(chargeId, function(err, charge) {
  console.log(charge.card.address.street_address)
})

qbo.capture(chargeId, { amount: 42.21 }, function(err, capture) {
  console.log(capture)
})

qbo.refund(chargeId, {amount: 20.00}, function(err, refund) {
  console.log(refund)
})

qbo.getRefund(chargeId, refundId, function(err, refund) {
  console.log(refund)
})

Example App

The example directory contains a barebones Express application that demonstrates the OAuth workflow.

Setup

Install the required dependencies from NPM

npm install

Running

Start the app

node app.js

Browse to http://localhost:3000/start and you will see a page containing only the IPP Javascript-rendered button. Clicking on this kicks off the OAuth exchange.

The IPP 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.

Configuration

The IPP 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.

Running the tests

First you'll need to fill in the missing values in config.js. The consumerKey and consumerSecret you can get from the IPP 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

Public Api

QuickBooks(consumerKey, consumerSecret, oauth_token, oauth_token_secret, realmId, debug)

Arguments

  • consumerKey - The application's consumer key
  • consumerSecret - The application's consumer secret
  • oauth_token - The user's generated token
  • oauth_token_secret - The user's generated secret
  • realmId - The company ID
  • useSandbox - 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 console

Create

Read

Update

Delete

Query

Filters

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)
})
Sorting

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

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)
})
Counts

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

Reports

SalesReceipt and Invoice PDFs

Payments/Charge Api

#### createAccount(object, callback)

Creates the Account in QuickBooks

Arguments

  • object - The unsaved account, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent Account
#### createAttachable(object, callback)

Creates the Attachable in QuickBooks

Arguments

  • object - The unsaved attachable, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent Attachable
#### createBill(object, callback)

Creates the Bill in QuickBooks

Arguments

  • object - The unsaved bill, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent Bill
#### createBillPayment(object, callback)

Creates the BillPayment in QuickBooks

Arguments

  • object - The unsaved billPayment, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent BillPayment
#### createClass(object, callback)

Creates the Class in QuickBooks

Arguments

  • object - The unsaved class, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent Class
#### createCreditMemo(object, callback)

Creates the CreditMemo in QuickBooks

Arguments

  • object - The unsaved creditMemo, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent CreditMemo
#### createCustomer(object, callback)

Creates the Customer in QuickBooks

Arguments

  • object - The unsaved customer, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent Customer
#### createDepartment(object, callback)

Creates the Department in QuickBooks

Arguments

  • object - The unsaved department, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent Department
#### createEmployee(object, callback)

Creates the Employee in QuickBooks

Arguments

  • object - The unsaved employee, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent Employee
#### createEstimate(object, callback)

Creates the Estimate in QuickBooks

Arguments

  • object - The unsaved estimate, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent Estimate
#### createInvoice(object, callback)

Creates the Invoice in QuickBooks

Arguments

  • object - The unsaved invoice, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent Invoice
#### createItem(object, callback)

Creates the Item in QuickBooks

Arguments

  • object - The unsaved item, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent Item
#### createJournalEntry(object, callback)

Creates the JournalEntry in QuickBooks

Arguments

  • object - The unsaved journalEntry, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent JournalEntry
#### createPayment(object, callback)

Creates the Payment in QuickBooks

Arguments

  • object - The unsaved payment, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent Payment
#### createPaymentMethod(object, callback)

Creates the PaymentMethod in QuickBooks

Arguments

  • object - The unsaved paymentMethod, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent PaymentMethod
#### createPurchase(object, callback)

Creates the Purchase in QuickBooks

Arguments

  • object - The unsaved purchase, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent Purchase
#### createPurchaseOrder(object, callback)

Creates the PurchaseOrder in QuickBooks

Arguments

  • object - The unsaved purchaseOrder, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent PurchaseOrder
#### createRefundReceipt(object, callback)

Creates the RefundReceipt in QuickBooks

Arguments

  • object - The unsaved refundReceipt, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent RefundReceipt
#### createSalesReceipt(object, callback)

Creates the SalesReceipt in QuickBooks

Arguments

  • object - The unsaved salesReceipt, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent SalesReceipt
#### createTaxAgency(object, callback)

Creates the TaxAgency in QuickBooks

Arguments

  • object - The unsaved taxAgency, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent TaxAgency
#### createTaxService(object, callback)

Creates the TaxService in QuickBooks

Arguments

  • object - The unsaved taxService, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent TaxService
#### createTerm(object, callback)

Creates the Term in QuickBooks

Arguments

  • object - The unsaved term, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent Term
#### createTimeActivity(object, callback)

Creates the TimeActivity in QuickBooks

Arguments

  • object - The unsaved timeActivity, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent TimeActivity
#### createVendor(object, callback)

Creates the Vendor in QuickBooks

Arguments

  • object - The unsaved vendor, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent Vendor
#### createVendorCredit(object, callback)

Creates the VendorCredit in QuickBooks

Arguments

  • object - The unsaved vendorCredit, to be persisted in QuickBooks
  • callback - Callback function which is called with any error and the persistent VendorCredit
#### getAccount(id, callback)

Retrieves the Account from QuickBooks

Arguments

  • id - The Id of persistent Account
  • callback - Callback function which is called with any error and the persistent Account
#### getAttachable(id, callback)

Retrieves the Attachable from QuickBooks

Arguments

  • id - The Id of persistent Attachable
  • callback - Callback function which is called with any error and the persistent Attachable
#### getBill(id, callback)

Retrieves the Bill from QuickBooks

Arguments

  • id - The Id of persistent Bill
  • callback - Callback function which is called with any error and the persistent Bill
#### getBillPayment(id, callback)

Retrieves the BillPayment from QuickBooks

Arguments

  • id - The Id of persistent BillPayment
  • callback - Callback function which is called with any error and the persistent BillPayment
#### getClass(id, callback)

Retrieves the Class from QuickBooks

Arguments

  • id - The Id of persistent Class
  • callback - Callback function which is called with any error and the persistent Class
#### getCompanyInfo(id, callback)

Retrieves the CompanyInfo from QuickBooks

Arguments

  • id - The Id of persistent CompanyInfo
  • callback - Callback function which is called with any error and the persistent CompanyInfo
#### getCreditMemo(id, callback)

Retrieves the CreditMemo from QuickBooks

Arguments

  • id - The Id of persistent CreditMemo
  • callback - Callback function which is called with any error and the persistent CreditMemo
#### getCustomer(id, callback)

Retrieves the Customer from QuickBooks

Arguments

  • id - The Id of persistent Customer
  • callback - Callback function which is called with any error and the persistent Customer
#### getDepartment(id, callback)

Retrieves the Department from QuickBooks

Arguments

  • id - The Id of persistent Department
  • callback - Callback function which is called with any error and the persistent Department
#### getEmployee(id, callback)

Retrieves the Employee from QuickBooks

Arguments

  • id - The Id of persistent Employee
  • callback - Callback function which is called with any error and the persistent Employee
#### getEstimate(id, callback)

Retrieves the Estimate from QuickBooks

Arguments

  • id - The Id of persistent Estimate
  • callback - Callback function which is called with any error and the persistent Estimate
#### getInvoice(id, callback)

Retrieves the Invoice from QuickBooks

Arguments

  • id - The Id of persistent Invoice
  • callback - Callback function which is called with any error and the persistent Invoice
#### getItem(id, callback)

Retrieves the Item from QuickBooks

Arguments

  • id - The Id of persistent Item
  • callback - Callback function which is called with any error and the persistent Item
#### getJournalEntry(id, callback)

Retrieves the JournalEntry from QuickBooks

Arguments

  • id - The Id of persistent JournalEntry
  • callback - Callback function which is called with any error and the persistent JournalEntry
#### getPayment(id, callback)

Retrieves the Payment from QuickBooks

Arguments

  • id - The Id of persistent Payment
  • callback - Callback function which is called with any error and the persistent Payment
#### getPaymentMethod(id, callback)

Retrieves the PaymentMethod from QuickBooks

Arguments

  • id - The Id of persistent PaymentMethod
  • callback - Callback function which is called with any error and the persistent PaymentMethod
#### getPreferences(id, callback)

Retrieves the Preferences from QuickBooks

Arguments

  • id - The Id of persistent Preferences
  • callback - Callback function which is called with any error and the persistent Preferences
#### getPurchase(id, callback)

Retrieves the Purchase from QuickBooks

Arguments

  • id - The Id of persistent Purchase
  • callback - Callback function which is called with any error and the persistent Purchase
#### getPurchaseOrder(id, callback)

Retrieves the PurchaseOrder from QuickBooks

Arguments

  • id - The Id of persistent PurchaseOrder
  • callback - Callback function which is called with any error and the persistent PurchaseOrder
#### getRefundReceipt(id, callback)

Retrieves the RefundReceipt from QuickBooks

Arguments

  • id - The Id of persistent RefundReceipt
  • callback - Callback function which is called with any error and the persistent RefundReceipt
#### getReports(id, callback)

Retrieves the Reports from QuickBooks

Arguments

  • id - The Id of persistent Reports
  • callback - Callback function which is called with any error and the persistent Reports
#### getSalesReceipt(id, callback)

Retrieves the SalesReceipt from QuickBooks

Arguments

  • id - The Id of persistent SalesReceipt
  • callback - Callback function which is called with any error and the persistent SalesReceipt
#### getTaxAgency(id, callback)

Retrieves the TaxAgency from QuickBooks

Arguments

  • id - The Id of persistent TaxAgency
  • callback - Callback function which is called with any error and the persistent TaxAgency
#### getTaxCode(id, callback)

Retrieves the TaxCode from QuickBooks

Arguments

  • id - The Id of persistent TaxCode
  • callback - Callback function which is called with any error and the persistent TaxCode
#### getTaxRate(id, callback)

Retrieves the TaxRate from QuickBooks

Arguments

  • id - The Id of persistent TaxRate
  • callback - Callback function which is called with any error and the persistent TaxRate
#### getTerm(id, callback)

Retrieves the Term from QuickBooks

Arguments

  • id - The Id of persistent Term
  • callback - Callback function which is called with any error and the persistent Term
#### getTimeActivity(id, callback)

Retrieves the TimeActivity from QuickBooks

Arguments

  • id - The Id of persistent TimeActivity
  • callback - Callback function which is called with any error and the persistent TimeActivity
#### getVendor(id, callback)

Retrieves the Vendor from QuickBooks

Arguments

  • id - The Id of persistent Vendor
  • callback - Callback function which is called with any error and the persistent Vendor
#### getVendorCredit(id, callback)

Retrieves the VendorCredit from QuickBooks

Arguments

  • id - The Id of persistent VendorCredit
  • callback - Callback function which is called with any error and the persistent VendorCredit
#### updateAccount(object, callback)

Updates QuickBooks version of Account

Arguments

  • object - The persistent Account, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated Account
#### updateAttachable(object, callback)

Updates QuickBooks version of Attachable

Arguments

  • object - The persistent Attachable, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated Attachable
#### updateBill(object, callback)

Updates QuickBooks version of Bill

Arguments

  • object - The persistent Bill, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated Bill
#### updateBillPayment(object, callback)

Updates QuickBooks version of BillPayment

Arguments

  • object - The persistent BillPayment, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated BillPayment
#### updateClass(object, callback)

Updates QuickBooks version of Class

Arguments

  • object - The persistent Class, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated Class
#### updateCompanyInfo(object, callback)

Updates QuickBooks version of CompanyInfo

Arguments

  • object - The persistent CompanyInfo, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated CompanyInfo
#### updateCreditMemo(object, callback)

Updates QuickBooks version of CreditMemo

Arguments

  • object - The persistent CreditMemo, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated CreditMemo
#### updateCustomer(object, callback)

Updates QuickBooks version of Customer

Arguments

  • object - The persistent Customer, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated Customer
#### updateDepartment(object, callback)

Updates QuickBooks version of Department

Arguments

  • object - The persistent Department, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated Department
#### updateEmployee(object, callback)

Updates QuickBooks version of Employee

Arguments

  • object - The persistent Employee, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated Employee
#### updateEstimate(object, callback)

Updates QuickBooks version of Estimate

Arguments

  • object - The persistent Estimate, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated Estimate
#### updateInvoice(object, callback)

Updates QuickBooks version of Invoice

Arguments

  • object - The persistent Invoice, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated Invoice
#### updateItem(object, callback)

Updates QuickBooks version of Item

Arguments

  • object - The persistent Item, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated Item
#### updateJournalEntry(object, callback)

Updates QuickBooks version of JournalEntry

Arguments

  • object - The persistent JournalEntry, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated JournalEntry
#### updatePayment(object, callback)

Updates QuickBooks version of Payment

Arguments

  • object - The persistent Payment, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated Payment
#### updatePaymentMethod(object, callback)

Updates QuickBooks version of PaymentMethod

Arguments

  • object - The persistent PaymentMethod, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated PaymentMethod
#### updatePreferences(object, callback)

Updates QuickBooks version of Preferences

Arguments

  • object - The persistent Preferences, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated Preferences
#### updatePurchase(object, callback)

Updates QuickBooks version of Purchase

Arguments

  • object - The persistent Purchase, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated Purchase
#### updatePurchaseOrder(object, callback)

Updates QuickBooks version of PurchaseOrder

Arguments

  • object - The persistent PurchaseOrder, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated PurchaseOrder
#### updateRefundReceipt(object, callback)

Updates QuickBooks version of RefundReceipt

Arguments

  • object - The persistent RefundReceipt, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated RefundReceipt
#### updateSalesReceipt(object, callback)

Updates QuickBooks version of SalesReceipt

Arguments

  • object - The persistent SalesReceipt, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated SalesReceipt
#### updateTaxAgency(object, callback)

Updates QuickBooks version of TaxAgency

Arguments

  • object - The persistent TaxAgency, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated TaxAgency
#### updateTaxCode(object, callback)

Updates QuickBooks version of TaxCode

Arguments

  • object - The persistent TaxCode, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated TaxCode
#### updateTaxRate(object, callback)

Updates QuickBooks version of TaxRate

Arguments

  • object - The persistent TaxRate, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated TaxRate
#### updateTerm(object, callback)

Updates QuickBooks version of Term

Arguments

  • object - The persistent Term, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated Term
#### updateTimeActivity(object, callback)

Updates QuickBooks version of TimeActivity

Arguments

  • object - The persistent TimeActivity, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated TimeActivity
#### updateVendor(object, callback)

Updates QuickBooks version of Vendor

Arguments

  • object - The persistent Vendor, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated Vendor
#### updateVendorCredit(object, callback)

Updates QuickBooks version of VendorCredit

Arguments

  • object - The persistent VendorCredit, including Id and SyncToken fields
  • callback - Callback function which is called with any error and the updated VendorCredit
#### deleteAttachable(idOrEntity, callback)

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 Attachable
  • callback - Callback function which is called with any error and the status of the persistent Attachable
#### deleteBill(idOrEntity, callback)

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 Bill
  • callback - Callback function which is called with any error and the status of the persistent Bill
#### deleteBillPayment(idOrEntity, callback)

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 BillPayment
  • callback - Callback function which is called with any error and the status of the persistent BillPayment
#### deleteCreditMemo(idOrEntity, callback)

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 CreditMemo
  • callback - Callback function which is called with any error and the status of the persistent CreditMemo
#### deleteEstimate(idOrEntity, callback)

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 Estimate
  • callback - Callback function which is called with any error and the status of the persistent Estimate
#### deleteInvoice(idOrEntity, callback)

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 Invoice
  • callback - Callback function which is called with any error and the status of the persistent Invoice
#### deleteJournalEntry(idOrEntity, callback)

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 JournalEntry
  • callback - Callback function which is called with any error and the status of the persistent JournalEntry
#### deletePayment(idOrEntity, callback)

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 Payment
  • callback - Callback function which is called with any error and the status of the persistent Payment
#### deletePurchase(idOrEntity, callback)

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 Purchase
  • callback - Callback function which is called with any error and the status of the persistent Purchase
#### deletePurchaseOrder(idOrEntity, callback)

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 PurchaseOrder
  • callback - Callback function which is called with any error and the status of the persistent PurchaseOrder
#### deleteRefundReceipt(idOrEntity, callback)

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 RefundReceipt
  • callback - Callback function which is called with any error and the status of the persistent RefundReceipt
#### deleteSalesReceipt(idOrEntity, callback)

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 SalesReceipt
  • callback - Callback function which is called with any error and the status of the persistent SalesReceipt
#### deleteTimeActivity(idOrEntity, callback)

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 TimeActivity
  • callback - Callback function which is called with any error and the status of the persistent TimeActivity
#### deleteVendorCredit(idOrEntity, callback)

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 VendorCredit
  • callback - Callback function which is called with any error and the status of the persistent VendorCredit
#### findAccounts(criteria, callback)

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 Account
#### findAttachables(criteria, callback)

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 Attachable
#### findBills(criteria, callback)

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 Bill
#### findBillPayments(criteria, callback)

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 BillPayment
#### findBudgets(criteria, callback)

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 Budget
#### findClasses(criteria, callback)

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 Class
#### findCompanyInfos(criteria, callback)

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 CompanyInfo
#### findCreditMemos(criteria, callback)

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 CreditMemo
#### findCustomers(criteria, callback)

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 Customer
#### findDepartments(criteria, callback)

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 Department
#### findEmployees(criteria, callback)

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 Employee
#### findEstimates(criteria, callback)

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 Estimate
#### findInvoices(criteria, callback)

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 Invoice
#### findItems(criteria, callback)

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 Item
#### findJournalEntries(criteria, callback)

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 JournalEntry
#### findPayments(criteria, callback)

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 Payment
#### findPaymentMethods(criteria, callback)

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 PaymentMethod
#### findPreferenceses(criteria, callback)

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
#### findPurchases(criteria, callback)

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 Purchase
#### findPurchaseOrders(criteria, callback)

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 PurchaseOrder
#### findRefundReceipts(criteria, callback)

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 RefundReceipt
#### findSalesReceipts(criteria, callback)

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 SalesReceipt
#### findTaxAgencies(criteria, callback)

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 TaxAgency
#### findTaxCodes(criteria, callback)

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 TaxCode
#### findTaxRates(criteria, callback)

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 TaxRate
#### findTerms(criteria, callback)

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 Term
#### findTimeActivities(criteria, callback)

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 TimeActivity
#### findVendors(criteria, callback)

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 Vendor
#### findVendorCredits(criteria, callback)

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 VendorCredit
#### reportBalanceSheet(options, callback)

Retrieves the BalanceSheet Report from QuickBooks

Arguments

  • options - (Optional) Map of key-value pairs passed as options to the Report
  • callback - Callback function which is called with any error and the BalanceSheet Report
#### reportProfitAndLoss(options, callback)

Retrieves the ProfitAndLoss Report from QuickBooks

Arguments

  • options - (Optional) Map of key-value pairs passed as options to the Report
  • callback - Callback function which is called with any error and the ProfitAndLoss Report
#### reportProfitAndLossDetail(options, callback)

Retrieves the ProfitAndLossDetail Report from QuickBooks

Arguments

  • options - (Optional) Map of key-value pairs passed as options to the Report
  • callback - Callback function which is called with any error and the ProfitAndLossDetail Report
#### reportTrialBalance(options, callback)

Retrieves the TrialBalance Report from QuickBooks

Arguments

  • options - (Optional) Map of key-value pairs passed as options to the Report
  • callback - Callback function which is called with any error and the TrialBalance Report
#### reportCashFlow(options, callback)

Retrieves the CashFlow Report from QuickBooks

Arguments

  • options - (Optional) Map of key-value pairs passed as options to the Report
  • callback - Callback function which is called with any error and the CashFlow Report
#### reportInventoryValuationSummary(options, callback)

Retrieves the InventoryValuationSummary Report from QuickBooks

Arguments

  • options - (Optional) Map of key-value pairs passed as options to the Report
  • callback - Callback function which is called with any error and the InventoryValuationSummary Report
#### reportCustomerSales(options, callback)

Retrieves the CustomerSales Report from QuickBooks

Arguments

  • options - (Optional) Map of key-value pairs passed as options to the Report
  • callback - Callback function which is called with any error and the CustomerSales Report
#### reportItemSales(options, callback)

Retrieves the ItemSales Report from QuickBooks

Arguments

  • options - (Optional) Map of key-value pairs passed as options to the Report
  • callback - Callback function which is called with any error and the ItemSales Report
#### reportCustomerIncome(options, callback)

Retrieves the CustomerIncome Report from QuickBooks

Arguments

  • options - (Optional) Map of key-value pairs passed as options to the Report
  • callback - Callback function which is called with any error and the CustomerIncome Report
#### reportCustomerBalance(options, callback)

Retrieves the CustomerBalance Report from QuickBooks

Arguments

  • options - (Optional) Map of key-value pairs passed as options to the Report
  • callback - Callback function which is called with any error and the CustomerBalance Report
#### reportCustomerBalanceDetail(options, callback)

Retrieves the CustomerBalanceDetail Report from QuickBooks

Arguments

  • options - (Optional) Map of key-value pairs passed as options to the Report
  • callback - Callback function which is called with any error and the CustomerBalanceDetail Report
#### reportAgedReceivables(options, callback)

Retrieves the AgedReceivables Report from QuickBooks

Arguments

  • options - (Optional) Map of key-value pairs passed as options to the Report
  • callback - Callback function which is called with any error and the AgedReceivables Report
#### reportAgedReceivableDetail(options, callback)

Retrieves the AgedReceivableDetail Report from QuickBooks

Arguments

  • options - (Optional) Map of key-value pairs passed as options to the Report
  • callback - Callback function which is called with any error and the AgedReceivableDetail Report
#### reportVendorBalance(options, callback)

Retrieves the VendorBalance Report from QuickBooks

Arguments

  • options - (Optional) Map of key-value pairs passed as options to the Report
  • callback - Callback function which is called with any error and the VendorBalance Report
#### reportVendorBalanceDetail(options, callback)

Retrieves the VendorBalanceDetail Report from QuickBooks

Arguments

  • options - (Optional) Map of key-value pairs passed as options to the Report
  • callback - Callback function which is called with any error and the VendorBalanceDetail Report
#### reportAgedPayables(options, callback)

Retrieves the AgedPayables Report from QuickBooks

Arguments

  • options - (Optional) Map of key-value pairs passed as options to the Report
  • callback - Callback function which is called with any error and the AgedPayables Report
#### reportAgedPayableDetail(options, callback)

Retrieves the AgedPayableDetail Report from QuickBooks

Arguments

  • options - (Optional) Map of key-value pairs passed as options to the Report
  • callback - Callback function which is called with any error and the AgedPayableDetail Report
#### reportVendorExpenses(options, callback)

Retrieves the VendorExpenses Report from QuickBooks

Arguments

  • options - (Optional) Map of key-value pairs passed as options to the Report
  • callback - Callback function which is called with any error and the VendorExpenses Report
#### reportGeneralLedgerDetail(options, callback)

Retrieves the GeneralLedgerDetail Report from QuickBooks

Arguments

  • options - (Optional) Map of key-value pairs passed as options to the Report
  • callback - Callback function which is called with any error and the GeneralLedgerDetail Report
#### reportDepartmentSales(options, callback)

Retrieves the DepartmentSales Report from QuickBooks

Arguments

  • options - (Optional) Map of key-value pairs passed as options to the Report
  • callback - Callback function which is called with any error and the DepartmentSales Report
#### reportClassSales(options, callback)

Retrieves the ClassSales Report from QuickBooks

Arguments

  • options - (Optional) Map of key-value pairs passed as options to the Report
  • callback - Callback function which is called with any error and the ClassSales Report
#### getInvoicePdf(id, callback)

Retrieves the Invoice PDF from QuickBooks

Arguments

  • id - The Id of persistent Invoice
  • callback - Callback function which is called with any error and the Invoice PDF
#### getSalesReceiptPdf(id, callback)

Retrieves the SalesReceipt PDF from QuickBooks

Arguments

  • id - The Id of persistent SalesReceipt
  • callback - Callback function which is called with any error and the persistent SalesReceipt PDF
#### sendInvoicePdf(id, sendTo, callback)

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 Invoice
  • sendTo - (Optional) optional email address to send the PDF to. If not provided, address supplied in Invoice.BillEmail.EmailAddress will be used
  • callback - Callback function which is called with any error and the Invoice PDF
#### sendEstimatePdf(id, sendTo, callback)

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 Estimate
  • sendTo - (Optional) optional email address to send the PDF to. If not provided, address supplied in Estimate.BillEmail.EmailAddress will be used
  • callback - Callback function which is called with any error and the Estimate PDF
#### sendSalesReceiptPdf(id, sendTo, callback)

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 SalesReceipt
  • sendTo - (Optional) optional email address to send the PDF to. If not provided, address supplied in SalesReceipt.BillEmail.EmailAddress will be used
  • callback - Callback function which is called with any error and the SalesReceipt PDF
#### charge(charge, callback)

Process a credit card charge using card details or token. Can capture funds or just authorize.

Arguments

  • charge - details, amount, currency etc. of charge to be processed
  • callback - Callback function which is called with any error or the saved Charge
#### getCharge(chargeId, callback)

Get details of charge.

Arguments

  • chargeId - of previously created charge
  • callback - Callback function which is called with any error or the Charge
#### capture(chargeId, capture, callback)

Allows you to capture funds for an existing charge that was intended to be captured at a later time.

Arguments

  • chargeId - of previously created charge
  • capture - details, amount, currency to capture
  • callback - Callback function which is called with any error or the capture description
#### refund(chargeId, refund, callback)

Allows you to refund an existing charge. Full and partial refund are supported.

Arguments

  • chargeId - of previously created charge
  • refund - details, amount, currency to refund
  • callback - Callback function which is called with any error or the refund description
#### getRefund(chargeId, refundId, callback)

Retrieves the Refund for the given refund id

Arguments

  • chargeId - of previously created charge
  • refundId - of previously created refund
  • callback - Callback function which is called with any error or the Refund