Deluge Help

Update a Record in Quickbooks

Table of Contents


The intuit.quickbooks.update() task is used to update a record from any of the supported modules in your QuickBooks account, by specifying the unique ID of the record. For example, you can update a customer record from the Customer module in quickbooks with the given record ID. To connect Zoho Creator with QuickBooks, create a new connection from the Setup - Connections page.

 Supported Modules

  • Customer
  • Vendor
  • Item
  • Invoice
  • Account
  • Employee
  • Department


<quickbooksResponse> = intuit.quickbooks.update(<quickbooksConnectionName>, <quickbooksModuleName>,<quickbooksCompanyId> , <recordId>, <syncToken>, <paramValues>.);

<quickbooksResponse> is the map variable returned by Quickbooks as response. It contains the details of the fetched record.
<quickbooksConnectionName> referes to the connection name used to connect Zoho Creator with Quickbooks. Create a new connection from the Setup - Connections page.
<quickbooksModuleName> refers to the module name in Quick Books from where the record is fetched.
<quickbooksCompanyId> refers to the unique ID generated by Quickbooks for each account. You can find this under Your Company -> Account and Settings -> Billing & Subscription -> Company Id in your Quickbooks account.
<recordId> is the ID in Quickbooks based on which the record related to the ID is fetched.
<synToken> is the version number of the unique record id.
<paramValues> is the map variable that holds the key value pairs of the attributes to be updated
Refer the Quickboks API Guide for the attributes to be specified for each module.


A sample script to update a record from the Quickbooks customer module with a given record ID, is given below. You can execute this script from a Zoho Creator form by adding it to the required workflow section.

//get records with the specified criteria
searchResponse = intuit.quickbooks.searchRecords("Zoho", "1241802285", "SELECT * FROM Customer where DisplayName ='Henry'");

queryResponse = ((getResponse).get("QueryResponse")).toMap();
queryResponseList = queryResponse.get("Customer").toJSONList();
for each x in queryResponseList
y = x.toMap();
id = y.get("Id");
synToken = y.get("SyncToken");
//get record by id
getIdResponse = intuit.quickbooks.getRecordById("Zoho", "Customer", "1241802285", id);

param = map();
param.put("FamilyName", "HenryPaul");
updateResponse = intuit.quickbooks.update("Zoho", "Customer", "1241802285", id, synToken, param);
info updateResponse;

 Response Format

The response returned by Quickbooks will be in the format given below.

“Customer":"{" ShipAddr":"{" Line3":"123 street",
"Line2":"Building 1",
"Line1":"450 7th StreetnWashington DC",
"CurrencyRef":"{"name":"Indian Rupee",

If for some reason, the execution fails, the response will be in the following format.
ERROR RESPONSE - For Invalid Parameter Name

"Detail":"Property Name:Can not instanti specified is unsupported or invalid",
"Message":"Request has invalid or unsupported property",

Share this post : FacebookTwitter

Still can't find what you're looking for?

Write to us: