Skip to main content
Question

Update a table value based on transaction in Ponto


Hello, I would like to update a table with transaction information. I connected Ponto. If a member made a payment, the balance of that member (in the table) should be updated with the transaction amount. The matching element is the name of the member. Which is in a column in a table and is contained in the transaction details. I tried creating a zap that looks for a value (name), but this seems to only allow me to check if the  table record “includes” the transaction details. This will not work as the latter has a lot more text than just the member's name. Instead, I want the zap to search the transaction details if it contains - among others - a specific name and if so, it should update the record of that member's name with the value of the transaction. I can't seem to get this configured. Help is appreciated!

Did this topic help you find an answer to your question?

5 replies

Forum|alt.badge.img+5

An ideal approach is to “extract” the member’s name from the long transaction details first and then use that extracted name to look up (and update) the corresponding table record. Since the raw transaction details include lots of text, you need to isolate the member’s name using Formatter. For example, if the details always include a phrase like “Payment from John Doe for …”, you might use a pattern such as:
Payment from ([A-Za-z\s]+) for
You’ll have to Configure the Formatter accordingly. Once you have the name sorted you can then add a “Find Record” (or Lookup) step and then add an “Update Record” step to the balance field.


Thank you so much. However, there is no consistent phase like you mentioned. The only options I see is to cross-check the exact name in the payment description with a column in a table. Any suggestion is much appreciated!


JammerS
Forum|alt.badge.img+6
  • Zapier Staff
  • 2312 replies
  • February 11, 2025

Hi ​@Penningmeester,

 

If there's no consistent phrase to extract a name from a payment description, you can still use the description to find the exact name. First, check if the full name is included in the payment description, then use a "Find Record" step to search for an exact match in your table. If the description is inconsistent, use Zapier's Formatter to split the text and extract the name. If an exact match isn't found, add a fallback mechanism like a manual check or create a new record. 

 

Let me know if you need further assistance.


Hi JammerS, thanks so much for your help. However, if I start with a the transaction trigger, the zap allows me only to set a rule containing text from the payment info. However, I want to look in the transaction description if it contains the name from a table. Please see attached: the third empty field provides only available mappings from the payment details, not the name from a table, which is what I need. Maybe I'm doing this completely wrong, but it doesn't make sense to me. 

Also, I actually want a trigger once a month (i.e. a scheduler I guess); the zap should check each month for new payments. For the records in a table that have no payment yet (empty field), a reminder email should be sent. Maybe a should find someone at Upwork that can help me with this but if you have time to advise, it's - again - appreciated!


JammerS
Forum|alt.badge.img+6
  • Zapier Staff
  • 2312 replies
  • February 13, 2025

Hi ​@Penningmeester,

 

To set up a Zap that matches transaction descriptions with names from a table and sends reminders for unpaid records starts with a 'Schedule by Zapier' trigger, then retrieves table data from Google Sheets. Use a filter to continue only if the payment field is empty. Then, trigger a 'New Transaction' action, extract the name from the transaction description using the 'Formatter' tool, and apply conditional logic (Paths) to check for name matches. If matched, update the table; if not, send a reminder email. This setup is complex, so you may need to adjust it based on your needs.

 

I hope this helps. If you have any other questions, please don't hesitate to ask.