Fetch Records by ID from Quickbooks

Table of Contents

 Overview

The intuit.quickbooks.getRecordById() task is used to get records from any of the supported modules in your QuickBooks account, by specifying the unique ID of the record.  For example, you can get a customer record from the Customer module in quiockbooks 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

 Syntax

<quickbooksResponse> = intuit.quickbooks.getRecordById(<quickbooksConnectionName>, <quickbooksModuleName>,<quickbooksCompanyId> , <recordId>);

where, 
<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.
Refer the Quickboks API Guide for the attributes to be specified for each module.

 Example

A sample script to get 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 Form Actions block.  

//returns the record with the specified id
getIdResponse = intuit.quickbooks.getRecordById("Zoho", "Customer", "1241802285", id);
info getIdResponse

Note

  • You can add the script directly to the editor area by selecting Free-flow scripting link displayed on the top-right corner of the script builder ( or ) use the drag-and-drop functionality in Script Builder.

 Response Format

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

{
“Customer":"{" ShipAddr":"{" Line3":"123 street",
"Long":"-122.0960826",
"Line2":"Building 1",
"Line1":"Intuit",
"Lat":"37.4306346",
"Id":"7"
}","PreferredDeliveryMethod":"Email",
"BalanceWithJobs":0,
"DisplayName":"Henry",
"FullyQualifiedName":"Henry",
"BillWithParent":false,
"Job":false,
"Active":true,
"MetaData":"{"CreateTime":"2014-08-01T02:29:29-07:00",
"LastUpdatedTime":"2014-08-01T02:35:45-07:00"
}","Taxable":false,
"BillAddr":"{"Long":"-77.02225539999999",
"Line1":"450 7th StreetnWashington DC",
"Lat":"38.8958239",
"Id":"6"
}","domain":"QBO",
"SyncToken":"1",
"PrintOnCheckName":"Hudson",
"CurrencyRef":"{"name":"Indian Rupee",
"value":"INR"
}","Id":"5",
"FamilyName":"Hudson",
"Balance":0,
"sparse":false
}","time":"2014-08-07T03:14:33.762-07:00"
}

If for some reason, the execution fails, the response will be in the following format.

ERROR RESPONSE - For Invalid Parameter Name

{
"Error":"[{
"Detail":"Property Name:Can not instanti specified is unsupported or invalid",
"Message":"Request has invalid or unsupported property",
"code":"2010"
}]"
}

 Using Script Builder

To add the script using the drag-n-drop functionality in Script Builder,

  1. Select the Form from your Dashboard page
  2. Select the required Form Action from Settings - Workflow.
  3. Click on Script Builder from the top-right cormer of the page.
  4. Drag and drop the call function in the editor box. 
  5. Select Integration tasks
  6. Select Service as Quickbooks.
  7. Select Function as Get Record By IDs.
  8. Select the Connection Name to connect with Quickbooks. Click on +Create to create a new connection or create a new connection from the Setup - Connections page
  9. Select the required Module Name.
  10. Specify the unique Company ID of your Quickbooks account. Refer CompanyId for more information.
  11. Specify the ID of the record to be fetched from Quickbooks.
  12. Specify the response variable that will hold the response returned by Quickbooks.
  13. Click on Done to insert the call function task.


The response variable will contain the response returned by Quickbooks in list format.