Skip to main content
Question

Zoho Books error: Cannot read properties of undefined (reading 'contact_id')


nzer1
Forum|alt.badge.img

I got an error in a zap and I also attach the available fields in my trigger how do I satisfy my action step?

A I recommended I upgrade to paid plan to accomplish a working zap I want to avoid this because I'm doing a trial

Did this topic help you find an answer to your question?
This post has been closed for comments. Please create a new post if you need help or have a question about this topic.

8 replies

Troy Tessalone
Forum|alt.badge.img+14

Hi ​@nzer1 

We would need to see how your Zap steps are configured in the CONFIGURE tab while in EDIT mode with the field mappings visible, along with the encountered error for the step.

 


nzer1
Forum|alt.badge.img
  • Author
  • Beginner
  • 15 replies
  • January 31, 2025

Thanks Troy I can always rely on you providing intelligent answers before we move on to your question why are not all fields in the trigger visible or available for the action step?


Troy Tessalone
Forum|alt.badge.img+14

@nzer1 

Screenshots don’t show which fields are returned from the Zap trigger step in the TEST tab for us to have context.

 

 


SamB
Community Manager
Forum|alt.badge.img+11
  • Community Manager
  • 7597 replies
  • February 13, 2025

Hi ​there, @nzer1! 👋

why are not all fields in the trigger visible or available for the action step?

Sometimes if a field doesn’t contain a value then the app won’t include it in the data that it sends to the Zap. But looking at your screenshots it looks like the error is more due to the wrong value being mapped to the Customer Name field:

5cd76c0dc36fe611bca6c1e1adaed270.png
Even though the field is called “Customer Name”, if you’ve using the Custom value option, it will expect to receive the ID number for the contact, not their name. You can learn more about this here: Add custom values to modal fields in Zaps

I’d suggest adding a Find Contact (Zoho Books) action ahead of the Create Sales Invoice action to obtain the ID for the contact, then select that for the Customer Name field instead?

Can you give that a try and let us know if that does the trick?


SamB
Community Manager
Forum|alt.badge.img+11
  • Community Manager
  • 7597 replies
  • March 6, 2025

​Hey ​@nzer1, just checking in! Did adding a Find Contact action to get the contact’s ID help to get things sorted here?

Happy to assist further if you’re still stuck at all. 🙂


nzer1
Forum|alt.badge.img
  • Author
  • Beginner
  • 15 replies
  • March 6, 2025

Thank you Sam.  re Can you give that a try and let us know if that does the trick?

I need to be honest and say that I am trying to do things in a series of two step steps I think you know why :)

I cannot see how it's possible to extract a contact ID in one zap and transfer it to another zap without it being a three step.


SamB
Community Manager
Forum|alt.badge.img+11
  • Community Manager
  • 7597 replies
  • March 7, 2025

Ah, I’m so sorry for missing that ​@nzer1

If you’re set on achieving this without using Multi-step Zaps, then you could potentially split up the workflow. 🤔 

The only way I can think of would be to store a record of the orders in an app like Zapier Tables and have a series of Zaps set up like so:

  • The first Zap would trigger when there’s a New Paid Order and use a Create Record (Zapier Tables) action to store a record of it in the table.
  • Then you have another Zap that runs when a New Record is added to the table and use the Create Customer action to add them to Zoho—in the Notes field you’d put the record ID from the New Record trigger.
  • Next, you’d have a Zap that triggers when a new customer is added in Zoho and use an Update Record action to update the record (use the record’s ID that was added to the Notes field for the customer) to store the Customer’s ID. 
  • Finally, you’d have a Zap that uses the Updated Record trigger (select the trigger field to be the one that the customer’s ID would be added to in the table) and then use a Create Sales Invoice action to create the invoice. 

The issue I can see with this approach is be that it would only work for new customers—the Create Customer action in the second Zap would likely error if it tries to create a customer that already exists. For those cases you’d need to manually update the Tables record with the customer’s ID, however once you’ve done that the fourth Zap should still run and create the invoice for you.

Do you think that approach could work for your needs here?


nzer1
Forum|alt.badge.img
  • Author
  • Beginner
  • 15 replies
  • March 7, 2025

As she wrote this I was developing a similar sequence with Google sheets but it's true as you say it doesn't differentiate a unique customer from a repeat customer. You could use orders rather than customers but then there'd be no way to later introduce a filtering system-I have to investigate the Zappia tables see what advantage they offer but somehow we have to identify unique customers. I have a nagging desire to return to my scripting days