public class

QuickBooksModule

extends Object
java.lang.Object
   ↳ org.mule.modules.quickbooks.QuickBooksModule
Known Direct Subclasses
Known Indirect Subclasses

Class Overview

QuickBooks software provides an interface that allows you to use forms such as checks, deposit slips and invoices, making the accounting process more comfortable for the average business owner or manager. By using the built-in functions that pertain to your business, you are able to perform your company accounting by simply recording your vendor activities, customer activities, banking transactions, payroll checks and taxes. QuickBooks handles the accounting portion of each transaction behind the scenes. Read more: QuickBooks Accounting Tutorial | eHow.com http://www.ehow.com/way_5462311_quickbooks-accounting-tutorial.html#ixzz1csaydwxl

Summary

Fields
private String baseUri The base uri of the quickbooks endpoint, used to fetch the company uri.
private QuickBooksClient client Quick-Books client.
private String consumerKey Unique consumer key for the app.
private String consumerSecret Unique consumer secret for the app.
private final MapObjectMapper mom
private String realmId The realmID, also known as the Company ID, uniquely identifies the data for a company.
Public Constructors
QuickBooksModule()
Public Methods
Account createAccount(String accessToken, String accessTokenSecret, String name, String desc, AccountDetail subtype, String acctNum, String openingBalance, Date openingBalanceDate, Map<String, Object> accountParentId)
Creates an Account.
Bill createBill(String accessToken, String accessTokenSecret, Map<String, Object> header, List<Map<String, Object>> lines)
Creates a Bill.
BillPayment createBillPayment(String accessToken, String accessTokenSecret, Map<String, Object> header, List<Map<String, Object>> lines)
Creates a BillPayment.
CashPurchase createCashPurchase(String accessToken, String accessTokenSecret, Map<String, Object> header, List<Map<String, Object>> lines)
Creates a CashPurchase.
Check createCheck(String accessToken, String accessTokenSecret, Map<String, Object> header, List<Map<String, Object>> lines)
Creates a Check.
CreditCardCharge createCreditCardCharge(String accessToken, String accessTokenSecret, Map<String, Object> header, List<Map<String, Object>> lines)
Creates a CreditCardCharge.
Customer createCustomer(String accessToken, String accessTokenSecret, String name, String givenName, String middleName, String familyName, String suffix, String dBAName, String showAs, List<Map<String, Object>> webSites, Map<String, Object> salesTermId, String salesTaxCodeId, List<Map<String, Object>> emails, List<Map<String, Object>> phones, List<Map<String, Object>> addresses)
Creates a Customer.
Estimate createEstimate(String accessToken, String accessTokenSecret, Map<String, Object> header, List<Map<String, Object>> lines)
Creates an Estimate.
Invoice createInvoice(String accessToken, String accessTokenSecret, Map<String, Object> header, List<Map<String, Object>> lines)
Creates an Invoice.
Item createItem(String accessToken, String accessTokenSecret, String name, Map<String, Object> unitPrice, String desc, Boolean taxable, Map<String, Object> incomeAccount, Map<String, Object> itemParentId, String itemParentName, String purchaseDesc, Map<String, Object> purchaseCost, Map<String, Object> expenseAccount)
Creates an Item.
Payment createPayment(String accessToken, String accessTokenSecret, Map<String, Object> header, List<Map<String, Object>> lines)
Creates a Payment.
PaymentMethod createPaymentMethod(String accessToken, String accessTokenSecret, String name, String type)
Creates a PaymentMethod.
SalesReceipt createSalesReceipt(String accessToken, String accessTokenSecret, Map<String, Object> header, List<Map<String, Object>> lines)
Creates a SalesReceipt.
SalesTerm createSalesTerm(String accessToken, String accessTokenSecret, String name, Integer dueDays, Integer discountDays, String discountPercent, Integer dayOfMonthDue, Integer dueNextMonthDays, Integer discountDayOfMonth, String dateDiscountPercent)
Creates a SalesTerm.
Vendor createVendor(String accessToken, String accessTokenSecret, String name, String givenName, String middleName, String familyName, String dBAName, String showAs, List<Map<String, Object>> webSites, String taxIdentifier, String acctNum, Boolean vendor1099, List<Map<String, Object>> emails, List<Map<String, Object>> phones, List<Map<String, Object>> addresses)
Creates a Vendor.
void deleteObject(String accessToken, String accessTokenSecret, EntityType type, Map<String, Object> id, String syncToken)
Deletes an object.
Iterable findObjects(String accessToken, String accessTokenSecret, EntityType type, String queryFilter, String querySort)
Lazily retrieves Objects For details see: Vendor Especification
String getBaseUri()
String getConsumerKey()
Returns the consumerKey.
String getConsumerSecret()
Returns the consumerSecret.
Object getObject(String accessToken, String accessTokenSecret, EntityType type, Map<String, Object> id)
Retrieve objects by ID.
String getRealmId()
Returns the realmId.
void init()
void setBaseUri(String baseUri)
void setConsumerKey(String consumerKey)
Sets the consumerKey.
void setConsumerSecret(String consumerSecret)
Sets the consumerSecret.
void setRealmId(String realmId)
Sets the realmId.
Account updateAccount(String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, String name, String desc, AccountDetail subtype, String acctNum, String openingBalance, Date openingBalanceDate, Map<String, Object> accountParentId)
Updates an Account The Account object represents the accounts that you keep to track your business.
Bill updateBill(String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, Map<String, Object> header, List<Map<String, Object>> lines)
Updates a Bill The Bill object represents an expense to the business.
BillPayment updateBillPayment(String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, Map<String, Object> header, List<Map<String, Object>> lines)
Updates a BillPayment BillPayment represents the financial transaction of payment of bills that the business owner receives from a vendor for goods or services purchased from the vendor.
CashPurchase updateCashPurchase(String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, Map<String, Object> header, List<Map<String, Object>> lines)
Updates a CashPurchase.
Check updateCheck(String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, Map<String, Object> header, List<Map<String, Object>> lines)
Updates a Check.
CreditCardCharge updateCreditCardCharge(String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, Map<String, Object> header, List<Map<String, Object>> lines)
Updates a CreditCardCharge.
Customer updateCustomer(String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, String name, String givenName, String middleName, String familyName, String suffix, String dBAName, String showAs, List<Map<String, Object>> webSites, Map<String, Object> salesTermId, String salesTaxCodeId, List<Map<String, Object>> emails, List<Map<String, Object>> phones, List<Map<String, Object>> addresses)
Updates a Customer.
Estimate updateEstimate(String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, Map<String, Object> header, List<Map<String, Object>> lines)
Updates an Estimate.
Invoice updateInvoice(String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, Map<String, Object> header, List<Map<String, Object>> lines)
Updates an Invoice.
Item updateItem(String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, String name, Map<String, Object> unitPrice, String desc, Boolean taxable, Map<String, Object> incomeAccount, Map<String, Object> itemParentId, String itemParentName, String purchaseDesc, Map<String, Object> purchaseCost, Map<String, Object> expenseAccount)
Updates an Item.
Payment updatePayment(String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, Map<String, Object> header, List<Map<String, Object>> lines)
Updates a Payment.
PaymentMethod updatePaymentMethod(String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, String name, String type)
Updates a PaymentMethod.
SalesReceipt updateSalesReceipt(String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, Map<String, Object> header, List<Map<String, Object>> lines)
Updates a SalesReceipt.
SalesTerm updateSalesTerm(String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, String name, Integer dueDays, Integer discountDays, String discountPercent, Integer dayOfMonthDue, Integer dueNextMonthDays, Integer discountDayOfMonth, String dateDiscountPercent)
Updates a SalesTerm.
Vendor updateVendor(String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, String name, String givenName, String middleName, String familyName, String dBAName, String showAs, List<Map<String, Object>> webSites, String taxIdentifier, String acctNum, Boolean vendor1099, List<Map<String, Object>> emails, List<Map<String, Object>> phones, List<Map<String, Object>> addresses)
Updates a Vendor.
[Expand]
Inherited Methods
From class java.lang.Object

Fields

private String baseUri

The base uri of the quickbooks endpoint, used to fetch the company uri. Quickbooks connector will first use this uri and the realmId to get a second uri, called company uri, which is the actual quickbooks endpoint for the connector

private QuickBooksClient client

Quick-Books client. By default uses DefaultQuickbooksClient class.

private String consumerKey

Unique consumer key for the app. When you create an app on My Developer Center, Intuit generates the values for the consumer key and secret, and then displays the values on the UI of My Developer Center. You manually copy these values from the UI of My Developer Center and save them in persistent storage.

private String consumerSecret

Unique consumer secret for the app. When you create an app on My Developer Center, Intuit generates the values for the consumer key and secret, and then displays the values on the UI of My Developer Center. You manually copy these values from the UI of My Developer Center and save them in persistent storage.

private final MapObjectMapper mom

private String realmId

The realmID, also known as the Company ID, uniquely identifies the data for a company.

In QuickBooks Online, the Company ID appears on the My Account page. In Data Services for QuickBooks Online, the realmID is required in the URL for most calls.

Public Constructors

public QuickBooksModule ()

Public Methods

public Account createAccount (String accessToken, String accessTokenSecret, String name, String desc, AccountDetail subtype, String acctNum, String openingBalance, Date openingBalanceDate, Map<String, Object> accountParentId)

Creates an Account. The Account object represents the accounts that you keep to track your business. Account is a component of a chart of accounts, and is part of a ledger. You can use Account to record the total monetary amount that is allocated for a specific use. For details see: Account Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
name User-recognizable name for the account. This name must be unique. When you create a company, you get some default accounts. If you want to create an account, you must provide an account name that does not match the name of any default account.
desc Optional. User-entered description of the account. This description helps the book keepers or accountants to decide which journal entries should be posted to this account.
subtype Detailed classification of the account that specifies the use of this account. The accepted values are defined in QboAccountDetailTypeEnum.
acctNum Optional. User-specified account number that help the user to identify the account within the chart of accounts and decide what should be posted to the account.
openingBalance Optional. Opening balance amount when you create a new balance sheet account.
openingBalanceDate Optional. Date of the opening balance amount when creating a new balance sheet account.
accountParentId Optional. If the account is a subaccount, AccountParentId is used to store the ID of the parent account.
Returns
  • The created Account.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public Bill createBill (String accessToken, String accessTokenSecret, Map<String, Object> header, List<Map<String, Object>> lines)

Creates a Bill. The Bill object represents an expense to the business. For details see: Bill Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
header Information on the financial transaction of the Bill.
lines Information about a specific good or service purchased for which the payment is demanded as a part of the bill. A bill can have multiple lines.
Returns
  • The created Bill.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public BillPayment createBillPayment (String accessToken, String accessTokenSecret, Map<String, Object> header, List<Map<String, Object>> lines)

Creates a BillPayment. BillPayment represents the financial transaction of payment of bills that the business owner receives from a vendor for goods or services purchased from the vendor. QBO supports bill payments through a credit card or a bank account. For details see: BillPayment Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
header Header information about the BillPayment.
lines List of lines. Specifies the line details for the bill payment.
Returns
  • The created BillPayment.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public CashPurchase createCashPurchase (String accessToken, String accessTokenSecret, Map<String, Object> header, List<Map<String, Object>> lines)

Creates a CashPurchase. CashPurchase represents an expense to the business as a cash transaction. For details see: CashPurchase Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
header Information about the financial transaction of the entire CashPurchase.
lines List of lines. Information about a specific good or service purchased for which the payment is demanded as a part of the CashPurchase.
Returns
  • The created CashPurchase.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public Check createCheck (String accessToken, String accessTokenSecret, Map<String, Object> header, List<Map<String, Object>> lines)

Creates a Check. The Check object represents an expense to the business paid as a check transaction. For details see: Check Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
header Financial Transaction information that pertains to the entire CheckHeader.
lines List of lines. Information about a specific good or service purchased for which the payment is demanded as a part of the check.
Returns
  • The created Check.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public CreditCardCharge createCreditCardCharge (String accessToken, String accessTokenSecret, Map<String, Object> header, List<Map<String, Object>> lines)

Creates a CreditCardCharge. The CreditCardCharge object represents an expense to the business as a credit card charge transaction. CreditCardCharge must have the total expense equal to the total expense of line items. For details see: CreditCardCharge Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
header Financial Transaction information that pertains to the entire CreditCardChargeHeader.
lines List of lines. Information about a specific good or service purchased for which the payment is demanded as a part of the CreditCardCharge purchase.
Returns
  • The created CreditCardCharge.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public Customer createCustomer (String accessToken, String accessTokenSecret, String name, String givenName, String middleName, String familyName, String suffix, String dBAName, String showAs, List<Map<String, Object>> webSites, Map<String, Object> salesTermId, String salesTaxCodeId, List<Map<String, Object>> emails, List<Map<String, Object>> phones, List<Map<String, Object>> addresses)

Creates a Customer. The Customer object represents the consumer of the service or the product that your business offers. QBO allows categorizing the customers in a way that is meaningful to the business. For details see: Customer Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
name Optional. Specifies the full name of the customer. If the Name is specified, then GivenName, MiddleName, and FamilyName values are ignored.
givenName Specifies the given name or first name of a person. GivenName is a required field only if Name is not sent in the request. If a Name is sent, then the GivenName field is optional.
middleName Optional. Specifies the middle name of the person. A person can have zero or more middle names.
familyName Optional. Specifies the family name or the last name of the customer.
suffix Optional. Suffix appended to the name, Jr., Sr., etc.
dBAName Optional. Specifies the "Doing Business As" name of the customer.
showAs Optional. Specifies the name of the vendor to be displayed.
webSites Valid URI strings. Specifies the customers's Web sites.
salesTermId Optional. Specifies the default sales term ID that is to be associated with the customer.
salesTaxCodeId QBO only supports the customers being taxable or not, so if this field is "1", the job is taxable. If the field value is null, the job is not taxable. All other values are invalid.
emails Optional. Valid email. Specifies the customers's email addresses.
phones Optional. Specifies the phone numbers of the customer. QBO allows mapping of up to 5 phone numbers but only one phone number is permitted for one device type.
addresses Optional. Specifies the physical addresses.
Returns
  • The created Customer.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public Estimate createEstimate (String accessToken, String accessTokenSecret, Map<String, Object> header, List<Map<String, Object>> lines)

Creates an Estimate. The Estimate object represents a proposal for a financial transaction from a business to a customer for goods or services proposed to be sold, including proposed pricing. It is also known as quote. For details see: Estimate Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
header Financial transaction information that pertains to the entire Estimate.
lines Information about a specific good or service for which the estimate is being issued.
Returns
  • The created Estimate.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public Invoice createInvoice (String accessToken, String accessTokenSecret, Map<String, Object> header, List<Map<String, Object>> lines)

Creates an Invoice. The Invoice object represents an invoice to a customer. Invoice could be based on salesterm with invoice and due dates for payment. Invoice supports tax, but as of now shipping charges are not supported. Invoice can be printed and emailed to a customer. For details see: Invoice Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
header Provides information that pertains to the entire Invoice.
lines Information about a specific good or service for which the Invoice is being issued.
Returns
  • The created Invoice.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public Item createItem (String accessToken, String accessTokenSecret, String name, Map<String, Object> unitPrice, String desc, Boolean taxable, Map<String, Object> incomeAccount, Map<String, Object> itemParentId, String itemParentName, String purchaseDesc, Map<String, Object> purchaseCost, Map<String, Object> expenseAccount)

Creates an Item. The Item object represents any product or service that is sold or purchased. Inventory items are not currently supported. For details see: Item Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
name Optional. User recognizable name of the Item.
unitPrice Optional. Monetary values of the service or product
desc Optional. User entered description for the item to further describe the details of service or product.
taxable Optional. Indicates whether the item is subject to tax.
incomeAccount Optional. Income account reference to be associated with the sales item.
itemParentId Optional. The parent item id of current item.
itemParentName Optional. Name of parent Item. This field is output only.
purchaseDesc Optional. User entered purchase description for the item to further describe the details of the purchase.
purchaseCost Optional. The monetary value of the service or product.
expenseAccount Optional. Income account reference to be associated with the purchase item.
Returns
  • The created Item.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public Payment createPayment (String accessToken, String accessTokenSecret, Map<String, Object> header, List<Map<String, Object>> lines)

Creates a Payment. The Payment object represents the financial transaction that signifies a payment from a customer for one or more sales transactions. For details see: Payment Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
header Information that pertains to the entire payment.
lines Line details of the receive payment. A receive payment can have multiple lines.
Returns
  • The created Payment.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public PaymentMethod createPaymentMethod (String accessToken, String accessTokenSecret, String name, String type)

Creates a PaymentMethod. PaymentMethod represents the method of payment for a transaction. It can be a credit card payment type or a non-credit card payment type. For details see: PaymentMethod Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
name User recognizable name for the payment method.
type Type of payment. Specifies if it is a credit card payment type or a non-credit card payment type. It must specify either of the following:
* CREDIT_CARD
* NON_CREDIT_CARD
Returns
  • The created PaymentMethod.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public SalesReceipt createSalesReceipt (String accessToken, String accessTokenSecret, Map<String, Object> header, List<Map<String, Object>> lines)

Creates a SalesReceipt. The Payment object represents the financial transaction that signifies a payment from a customer for one or more sales transactions. For details see: SalesReceipt Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
header Groups the elements that are common to the SalesReceipt transaction.
lines Groups the line items for the sales receipt.
Returns
  • The created SalesReceipt.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public SalesTerm createSalesTerm (String accessToken, String accessTokenSecret, String name, Integer dueDays, Integer discountDays, String discountPercent, Integer dayOfMonthDue, Integer dueNextMonthDays, Integer discountDayOfMonth, String dateDiscountPercent)

Creates a SalesTerm. The SalesTerm object represents the terms under which a sale is made. SalesTerm is typically expressed in the form of days due after the goods are received. There is an optional discount part of the sales term, where a discount of total amount can automatically be applied if payment is made within a few days of the stipulated time. For details see: SalesTerm Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
name Specifies the user recognizable name for the salesterm.
dueDays Number of days from the delivery of goods or services till the payment is due. If DueDays is specified, only DiscountDays and DiscountPercent can be additionally specified.
discountDays Optional. Number of days for which the discount is applicable, if the payment is made within these days. This value is used only when DueDays is specified.
discountPercent Optional. Percentage of discount that is available against a price, if paid within the days specified by DiscountDays. This value is used only when DueDays is specified.
dayOfMonthDue Payment must be received by the day of the month specified by DayOfMonthDue. This value is used only when DueDays is not specified.
dueNextMonthDays Optional. Payment due next month if issued that many days before the DayOfMonthDue. This value is used only when DueDays is not specified.
discountDayOfMonth Optional. Discount applies if paid before that day of month. This value is used only when DueDays is not specified.
dateDiscountPercent Optional. Percentage of discount that is available against a price, if paid before DiscountDayofMonth. This value is used only when DueDays is not specified.
Returns
  • The created SalesTerm.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public Vendor createVendor (String accessToken, String accessTokenSecret, String name, String givenName, String middleName, String familyName, String dBAName, String showAs, List<Map<String, Object>> webSites, String taxIdentifier, String acctNum, Boolean vendor1099, List<Map<String, Object>> emails, List<Map<String, Object>> phones, List<Map<String, Object>> addresses)

Creates a Vendor. The Vendor object represents the buyer from whom you purchase any service or product for your organization. For details see: Vendor Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
name Optional. Specifies the full name of the vendor. If the FullName is specified, then GivenName, MiddleName, and FamilyName values are ignored.
givenName Specifies the given name or first name of a person. GivenName is a required field only if Name is not sent in the request. If a Name is sent, then the GivenName field is optional.
middleName Optional. Specifies the middle name of the vendor. A person can have zero or more middle names.
familyName Optional. Specifies the family name or the last name of the vendor.
dBAName Optional. Specifies the "Doing Business As" name of the vendor.
showAs Optional. Specifies the name of the vendor to be displayed.
webSites Optional. Valid URI strings. Specifies the vendor's Web site.
taxIdentifier Optional. Specifies the Tax ID of the person or the organization. This is a Personally Identifiable Information (PII) attribute.
acctNum Optional. Specifies the account name or the account number that is associated with the vendor.
vendor1099 Optional. Specifies that the Vendor is an independent contractor, someone who is given a 1099-MISC form at the end of the year. The "1099 Vendor" is paid with regular checks, and taxes are not withheld on the vendor's behalf.
emails Optional. Valid email. Specifies the vendors's email addresses.
phones Optional. Specifies the phone numbers of the vendor. QBO allows mapping of up to 5 phone numbers but only one phone number is permitted for one device type.
addresses Optional. Specifies the physical addresses.
Returns
  • The created Vendor.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public void deleteObject (String accessToken, String accessTokenSecret, EntityType type, Map<String, Object> id, String syncToken)

Deletes an object.

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
type EntityType of the object.
id Id which is assigned by Data Services when the object is created.
syncToken Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public Iterable findObjects (String accessToken, String accessTokenSecret, EntityType type, String queryFilter, String querySort)

Lazily retrieves Objects For details see: Vendor Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
type EntityType of the object.
queryFilter String with a filter format (see details). Each type of object to be retrieved, has a list of attributes for which it can be filtered (See this list following the link in the details of the documentation of the create or update method of that object).
querySort String with a sort format (see details). Each type of object to be retrieved, has a list of attributes for which it can be sorted (See this list following the link in the details of the documentation of the create or update method of that object).
Returns
  • Iterable of the objects to be retrieved.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public String getBaseUri ()

public String getConsumerKey ()

Returns the consumerKey.

Returns
  • with the consumerKey.

public String getConsumerSecret ()

Returns the consumerSecret.

Returns
  • with the consumerSecret.

public Object getObject (String accessToken, String accessTokenSecret, EntityType type, Map<String, Object> id)

Retrieve objects by ID.

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
type EntityType of the object.
id Id which is assigned by Data Services when the object is created.
Returns
  • The object.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public String getRealmId ()

Returns the realmId.

Returns
  • with the realmId.

public void init ()

public void setBaseUri (String baseUri)

Parameters
baseUri

public void setConsumerKey (String consumerKey)

Sets the consumerKey.

Parameters
consumerKey With the consumerKey.

public void setConsumerSecret (String consumerSecret)

Sets the consumerSecret.

Parameters
consumerSecret With the consumerSecret.

public void setRealmId (String realmId)

Sets the realmId.

Parameters
realmId With the realmId.

public Account updateAccount (String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, String name, String desc, AccountDetail subtype, String acctNum, String openingBalance, Date openingBalanceDate, Map<String, Object> accountParentId)

Updates an Account The Account object represents the accounts that you keep to track your business. Account is a component of a chart of accounts, and is part of a ledger. You can use Account to record the total monetary amount that is allocated for a specific use. Specify all the parameters for the object, not just the new or changed elements. If you omit an element, it is removed from the object by the update operation. For details see: Account Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
id Id which is assigned by Data Services when the object is created.
syncToken Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.
name User-recognizable name for the account. This name must be unique. When you create a company, you get some default accounts. If you want to create an account, you must provide an account name that does not match the name of any default account.
desc Optional. User-entered description of the account. This description helps the book keepers or accountants to decide which journal entries should be posted to this account.
subtype Detailed classification of the account that specifies the use of this account. The accepted values are defined in QboAccountDetailTypeEnum.
acctNum Optional. User-specified account number that help the user to identify the account within the chart of accounts and decide what should be posted to the account.
openingBalance Optional. Opening balance amount when you create a new balance sheet account.
openingBalanceDate Optional. Date of the opening balance amount when creating a new balance sheet account.
accountParentId Optional. If the account is a subaccount, AccountParentId is used to store the ID of the parent account.
Returns
  • The updated Account.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public Bill updateBill (String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, Map<String, Object> header, List<Map<String, Object>> lines)

Updates a Bill The Bill object represents an expense to the business. Specify all the parameters for the object, not just the new or changed elements. If you omit an element, it is removed from the object by the update operation. For details see: Bill Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
id Id which is assigned by Data Services when the object is created.
syncToken Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.
header Information on the financial transaction of the Bill.
lines Information about a specific good or service purchased for which the payment is demanded as a part of the bill. A bill can have multiple lines.
Returns
  • The created Bill.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public BillPayment updateBillPayment (String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, Map<String, Object> header, List<Map<String, Object>> lines)

Updates a BillPayment BillPayment represents the financial transaction of payment of bills that the business owner receives from a vendor for goods or services purchased from the vendor. QBO supports bill payments through a credit card or a bank account. Specify all the parameters for the object, not just the new or changed elements. If you omit an element, it is removed from the object by the update operation. For details see: BillPayment Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
id Id which is assigned by Data Services when the object is created.
syncToken Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.
header Header information about the BillPayment.
lines Specifies the line details for the bill payment. A bill payment can have multiple lines.
Returns
  • The updated BillPayment.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public CashPurchase updateCashPurchase (String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, Map<String, Object> header, List<Map<String, Object>> lines)

Updates a CashPurchase. CashPurchase represents an expense to the business as a cash transaction. Specify all the parameters for the object, not just the new or changed elements. If you omit an element, it is removed from the object by the update operation. For details see: CashPurchase Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
id Id which is assigned by Data Services when the object is created.
syncToken Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.
header Information about the financial transaction of the entire CashPurchase.
lines List of lines. Information about a specific good or service purchased for which the payment is demanded as a part of the CashPurchase.
Returns
  • The updated CashPurchase.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public Check updateCheck (String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, Map<String, Object> header, List<Map<String, Object>> lines)

Updates a Check. The Check object represents an expense to the business paid as a check transaction. Specify all the parameters for the object, not just the new or changed elements. If you omit an element, it is removed from the object by the update operation. For details see: Check Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
id Id which is assigned by Data Services when the object is created.
syncToken Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.
header Financial Transaction information that pertains to the entire CheckHeader.
lines List of lines. Information about a specific good or service purchased for which the payment is demanded as a part of the check.
Returns
  • The updated Check.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public CreditCardCharge updateCreditCardCharge (String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, Map<String, Object> header, List<Map<String, Object>> lines)

Updates a CreditCardCharge. The CreditCardCharge object represents an expense to the business as a credit card charge transaction. CreditCardCharge must have the total expense equal to the total expense of line items. Specify all the parameters for the object, not just the new or changed elements. If you omit an element, it is removed from the object by the update operation. For details see: CreditCardCharge Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
id Id which is assigned by Data Services when the object is created.
syncToken Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.
header Financial Transaction information that pertains to the entire CreditCardChargeHeader.
lines List of lines. Information about a specific good or service purchased for which the payment is demanded as a part of the CreditCardCharge purchase.
Returns
  • The updated CreditCardCharge.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public Customer updateCustomer (String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, String name, String givenName, String middleName, String familyName, String suffix, String dBAName, String showAs, List<Map<String, Object>> webSites, Map<String, Object> salesTermId, String salesTaxCodeId, List<Map<String, Object>> emails, List<Map<String, Object>> phones, List<Map<String, Object>> addresses)

Updates a Customer. The Customer object represents the consumer of the service or the product that your business offers. QBO allows categorizing the customers in a way that is meaningful to the business. Specify all the parameters for the object, not just the new or changed elements. If you omit an element, it is removed from the object by the update operation. For details see: Customer Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
id Id which is assigned by Data Services when the object is created.
syncToken Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.
name Optional. Specifies the full name of the customer. If the Name is specified, then GivenName, MiddleName, and FamilyName values are ignored.
givenName Specifies the given name or first name of a person. GivenName is a required field only if Name is not sent in the request. If a Name is sent, then the GivenName field is optional.
middleName Optional. Specifies the middle name of the person. A person can have zero or more middle names.
familyName Optional. Specifies the family name or the last name of the customer.
suffix Optional. Suffix appended to the name, Jr., Sr., etc.
dBAName Optional. Specifies the "Doing Business As" name of the customer.
showAs Optional. Specifies the name of the vendor to be displayed.
webSites Valid URI strings. Specifies the customers's Web sites.
salesTermId Optional. Specifies the default sales term ID that is to be associated with the customer.
salesTaxCodeId QBO only supports the customers being taxable or not, so if this field is "1", the job is taxable. If the field value is null, the job is not taxable. All other values are invalid.
emails Optional. Valid email. Specifies the customers's email addresses.
phones Optional. Specifies the phone numbers of the customer. QBO allows mapping of up to 5 phone numbers but only one phone number is permitted for one device type.
addresses Optional. Specifies the physical addresses.
Returns
  • The updated Customer.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public Estimate updateEstimate (String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, Map<String, Object> header, List<Map<String, Object>> lines)

Updates an Estimate. The Estimate object represents a proposal for a financial transaction from a business to a customer for goods or services proposed to be sold, including proposed pricing. It is also known as quote. Specify all the parameters for the object, not just the new or changed elements. If you omit an element, it is removed from the object by the update operation. For details see: Estimate Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
id Id which is assigned by Data Services when the object is created.
syncToken Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.
header Financial transaction information that pertains to the entire Estimate.
lines Information about a specific good or service for which the estimate is being issued.
Returns
  • The updated Estimate.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public Invoice updateInvoice (String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, Map<String, Object> header, List<Map<String, Object>> lines)

Updates an Invoice. The Invoice object represents an invoice to a customer. Invoice could be based on salesterm with invoice and due dates for payment. Invoice supports tax, but as of now shipping charges are not supported. Invoice can be printed and emailed to a customer. Specify all the parameters for the object, not just the new or changed elements. If you omit an element, it is removed from the object by the update operation. For details see: Invoice Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
id Id which is assigned by Data Services when the object is created.
syncToken Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.
header Provides information that pertains to the entire Invoice.
lines Information about a specific good or service for which the Invoice is being issued.
Returns
  • The updated Invoice.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public Item updateItem (String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, String name, Map<String, Object> unitPrice, String desc, Boolean taxable, Map<String, Object> incomeAccount, Map<String, Object> itemParentId, String itemParentName, String purchaseDesc, Map<String, Object> purchaseCost, Map<String, Object> expenseAccount)

Updates an Item. The Item object represents any product or service that is sold or purchased. Inventory items are not currently supported. Specify all the parameters for the object, not just the new or changed elements. If you omit an element, it is removed from the object by the update operation. For details see: Item Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
id Id which is assigned by Data Services when the object is created.
syncToken Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.
name Optional. User recognizable name of the Item.
unitPrice Optional. Monetary values of the service or product
desc Optional. User entered description for the item to further describe the details of service or product.
taxable Optional. Indicates whether the item is subject to tax.
incomeAccount Optional. Income account reference to be associated with the sales item.
itemParentId Optional. The parent item id of current item.
itemParentName Optional. Name of parent Item. This field is output only.
purchaseDesc Optional. User entered purchase description for the item to further describe the details of the purchase.
purchaseCost Optional. The monetary value of the service or product.
expenseAccount Optional. Income account reference to be associated with the purchase item.
Returns
  • The updated Item.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public Payment updatePayment (String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, Map<String, Object> header, List<Map<String, Object>> lines)

Updates a Payment. The Payment object represents the financial transaction that signifies a payment from a customer for one or more sales transactions. Specify all the parameters for the object, not just the new or changed elements. If you omit an element, it is removed from the object by the update operation. For details see: Payment Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
id Id which is assigned by Data Services when the object is created.
syncToken Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.
header Information that pertains to the entire payment.
lines Line details of the receive payment. A receive payment can have multiple lines.
Returns
  • The updated Payment.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public PaymentMethod updatePaymentMethod (String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, String name, String type)

Updates a PaymentMethod. PaymentMethod represents the method of payment for a transaction. It can be a credit card payment type or a non-credit card payment type. Specify all the parameters for the object, not just the new or changed elements. If you omit an element, it is removed from the object by the update operation. For details see: PaymentMethod Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
id Id which is assigned by Data Services when the object is created.
syncToken Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.
name User recognizable name for the payment method.
type Optional. Type of payment. Specifies if it is a credit card payment type or a non-credit card payment type.
Returns
  • The updated PaymentMethod.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public SalesReceipt updateSalesReceipt (String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, Map<String, Object> header, List<Map<String, Object>> lines)

Updates a SalesReceipt. The Payment object represents the financial transaction that signifies a payment from a customer for one or more sales transactions. Specify all the parameters for the object, not just the new or changed elements. If you omit an element, it is removed from the object by the update operation. For details see: SalesReceipt Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
id Id which is assigned by Data Services when the object is created.
syncToken Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.
header Groups the elements that are common to the SalesReceipt transaction.
lines Groups the line items for the sales receipt.
Returns
  • The updated SalesReceipt.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public SalesTerm updateSalesTerm (String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, String name, Integer dueDays, Integer discountDays, String discountPercent, Integer dayOfMonthDue, Integer dueNextMonthDays, Integer discountDayOfMonth, String dateDiscountPercent)

Updates a SalesTerm. The SalesTerm object represents the terms under which a sale is made. SalesTerm is typically expressed in the form of days due after the goods are received. There is an optional discount part of the sales term, where a discount of total amount can automatically be applied if payment is made within a few days of the stipulated time. Specify all the parameters for the object, not just the new or changed elements. If you omit an element, it is removed from the object by the update operation. For details see: SalesTerm Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
id Id which is assigned by Data Services when the object is created.
syncToken Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.
name Specifies the user recognizable name for the salesterm.
dueDays Number of days from the delivery of goods or services till the payment is due. If DueDays is specified, only DiscountDays and DiscountPercent can be additionally specified.
discountDays Optional. Number of days for which the discount is applicable, if the payment is made within these days. This value is used only when DueDays is specified.
discountPercent Optional. Percentage of discount that is available against a price, if paid within the days specified by DiscountDays. This value is used only when DueDays is specified.
dayOfMonthDue Payment must be received by the day of the month specified by DayOfMonthDue. This value is used only when DueDays is not specified.
dueNextMonthDays Optional. Payment due next month if issued that many days before the DayOfMonthDue. This value is used only when DueDays is not specified.
discountDayOfMonth Optional. Discount applies if paid before that day of month. This value is used only when DueDays is not specified.
dateDiscountPercent Optional. Percentage of discount that is available against a price, if paid before DiscountDayofMonth. This value is used only when DueDays is not specified.
Returns
  • The updated SalesTerm.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.

public Vendor updateVendor (String accessToken, String accessTokenSecret, Map<String, Object> id, String syncToken, String name, String givenName, String middleName, String familyName, String dBAName, String showAs, List<Map<String, Object>> webSites, String taxIdentifier, String acctNum, Boolean vendor1099, List<Map<String, Object>> emails, List<Map<String, Object>> phones, List<Map<String, Object>> addresses)

Updates a Vendor. The Vendor object represents the buyer from whom you purchase any service or product for your organization. Specify all the parameters for the object, not just the new or changed elements. If you omit an element, it is removed from the object by the update operation. For details see: Vendor Especification

Parameters
accessToken The oauth access token
accessTokenSecret The oauth secret token
id Id which is assigned by Data Services when the object is created.
syncToken Optional. Integer that indicates how many times the object has been updated. Before performing the update, Data Services verifies that the SyncToken in the request has the same value as the SyncToken in the Data Service's repository.
name Optional. Specifies the full name of the vendor. If the FullName is specified, then GivenName, MiddleName, and FamilyName values are ignored.
givenName Specifies the given name or first name of a person. GivenName is a required field only if Name is not sent in the request. If a Name is sent, then the GivenName field is optional.
middleName Optional. Specifies the middle name of the vendor. A person can have zero or more middle names.
familyName Optional. Specifies the family name or the last name of the vendor.
dBAName Optional. Specifies the "Doing Business As" name of the vendor.
showAs Optional. Specifies the name of the vendor to be displayed.
webSites Optional. Valid URI strings. Specifies the vendor's Web site.
taxIdentifier Optional. Specifies the Tax ID of the person or the organization. This is a Personally Identifiable Information (PII) attribute.
acctNum Optional. Specifies the account name or the account number that is associated with the vendor.
vendor1099 Optional. Specifies that the Vendor is an independent contractor, someone who is given a 1099-MISC form at the end of the year. The "1099 Vendor" is paid with regular checks, and taxes are not withheld on the vendor's behalf.
emails Optional. Valid email. Specifies the vendors's email addresses.
phones Optional. Specifies the phone numbers of the vendor. QBO allows mapping of up to 5 phone numbers but only one phone number is permitted for one device type.
addresses Optional. Specifies the physical addresses.
Returns
  • The updated Vendor.
Throws
QuickBooksRuntimeException when there is a problem with the server. It has a code and a message provided by quickbooks about the error.