Skip to main content

This post has been edited by a moderator to remove personal information. Please remember that this is a public forum and to remove any sensitive information prior to posting.

Hi,

We have configured a zap to update customer in Quickbooks.

In Step 1, we have set up a polling trigger to get data for updated customer from our application.

In Step 2, we are finding customer in the QuickBooks using Email field. Also, we have checked the option to create customer in QuickBooks if it does not exist.

In Step 3, we are calling the Update Customer Event of the QuickBooks. In this step for Id field we have passed Id received in Step 2. Other customer data received in Step 1 passed in corresponding QuickBooks fields.

This zap is working fine if we update the customer once. If we try to update the same customer again, zap is not working. Also we don't get any error.

For example: Consider we updated customer having name John Smith. First time zap runs successfully and we can see details in zap runs history.
If we updated Phone field for the same customer John Smith, zap is not executing as expected and we could not see any details in zap runs history.

Please let us know how to fix this issue.

Thank you!

Hi @Mary Britto 

 

In your application (Double Knot) it seems it only triggers once per customer. Same thing would be for Airtable trigger when record enters a view for example, the zap will only trigger once. Is there a Time Stamp field in the data ? I think this is something you should check with whomever created the private integration or with the API documents for the app. 


Hi @Mary Britto 

It looks like you’ve built that trigger custom. 
Zapier uses the id field you return as the unique identifier to know whether or not to trigger a Zap. That means, every time a customer is updated, you’ll need to return a different id. 

often, the easiest way to create a unique id that changes whenever an object is updated is to concatenate the object id with the updated timestamp. 


You can read more about deduplication here: https://help.zapier.com/hc/en-us/articles/8496260269965-Data-deduplication-in-Zaps

Here is some additional documentation on creating an updated item trigger: https://platform.zapier.com/docs/triggers#:~:text=To%20create%20an%20%E2%80%9Cupdated%20item,%2C%20item.id%20%2B%20item


Hi @Mary Britto, I see you got a few responses on possible remedies for this. Do you have anymore questions we can help you out with and is everything working okay now?


Hi @Mary Britto 

It looks like you’ve built that trigger custom. 
Zapier uses the id field you return as the unique identifier to know whether or not to trigger a Zap. That means, every time a customer is updated, you’ll need to return a different id. 

often, the easiest way to create a unique id that changes whenever an object is updated is to concatenate the object id with the updated timestamp. 


You can read more about deduplication here: https://help.zapier.com/hc/en-us/articles/8496260269965-Data-deduplication-in-Zaps

Here is some additional documentation on creating an updated item trigger: https://platform.zapier.com/docs/triggers#:~:text=To%20create%20an%20%E2%80%9Cupdated%20item,%2C%20item.id%20%2B%20item

This post has been edited by a moderator to remove personal information. Please remember that this is a public forum and to remove any sensitive information prior to posting.

Hi @GetUWired, Thank you for the answer! 
We followed your answer and now the zap is working now.

We are facing another issue related to this. 
While updating the customer if we pass blank values in some fields, though zap runs successfully blank values are not reflecting in QuickBooks.
For example: Phone = '', Mobile = '', Fax = ''

 


Please let us know your thoughts on this. Thank you!


@Mary Britto 

Correct, rarely would they be. If you pass a blank value, that value is typically omitted from the request. There are 2 ways to update customers via the QBO api. 

A sparse update: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/customer#sparse-update-a-customer

Or 

 

A full update: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/customer#full-update-a-customer 

 

A sparse update  is most likely what is built in Zapier as it would be atypical for a no code user to want fields set to null. With this type of request,  values not sent (or blank) in the request are ignored and nothing happens to them in QB. 

A full update is what you are looking to do, where values sent in the request (or omitted) are then set to null in QBO. You will need to build this action custom if you want that type of behavior in Zapier.