{"id":5453,"date":"2024-07-18T18:24:48","date_gmt":"2024-07-18T18:24:48","guid":{"rendered":"https:\/\/www.devengo.com\/?p=5453"},"modified":"2024-07-18T18:45:43","modified_gmt":"2024-07-18T18:45:43","slug":"how-to-persist-incoming-payments-in-google-sheets-with-no-code","status":"publish","type":"post","link":"https:\/\/www.devengo.com\/es\/blog\/how-to-persist-incoming-payments-in-google-sheets-with-no-code\/","title":{"rendered":"How to persist incoming payments in Google Sheets with no-code"},"content":{"rendered":"\n<p>At Devengo, one important lesson we&#8217;ve learned is that outgoing payments aren&#8217;t the sole focus of payments automation. Our customers spend a significant amount of time processing incoming payments: verifying the arrival of the money, updating invoices\u2019s status or initiating their business processes once the money gets in.<\/p>\n\n\n\n<p>Incoming Payments are the foundation upon which certain money flow use cases can be built. Here are some examples:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Invoice or payments reconciliation.<\/li>\n\n\n\n<li>Collection of payments from clients.<\/li>\n\n\n\n<li>Aggregation of payments methods.<\/li>\n\n\n\n<li>Validation of customers account ownership.<\/li>\n\n\n\n<li>etc.<\/li>\n<\/ul>\n\n\n\n<p>This is great, but since this is not always related to sales, may time your company doesn&#8217;t have the resources or the time for this integration. But the need is still there and In this post, we&#8217;ll explore a practical example of how you can automate your applications to react to new deposits in a bank account using the Devengo API.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Before we start<\/h2>\n\n\n\n<p>Let\u2019s review two important concepts, especially if you&#8217;re not a technical person.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Webhooks<\/h4>\n\n\n\n<p>Webhooks are notifications sent by an application via HTTP to alert\/notify other applications that something has happened. Unlike a REST API, which allows us to create or read data from an application, webhooks notify other applications of events that have occurred in real-time. You can read more in detail about the utility of webhooks <a href=\"https:\/\/www.devengo.com\/blog\/6-webhooks-best-practices\/\">in this post<\/a> or <a href=\"https:\/\/docs.devengo.com\/docs\/webhooks-getting-started\" target=\"_blank\" rel=\"noopener\">our documentation<\/a>.<\/p>\n\n\n\n<p>In this context, we are sending webhooks each time you receive a payment in your account. This webhooks will include all the related information (sender, IBAN, amount, concept, etc). <\/p>\n\n\n\n<h4 class=\"wp-block-heading\">No-code platforms<\/h4>\n\n\n\n<p>No-code platforms are applications to create new applications without writing code. There are no-code platforms to create mobile apps, e-commerce sites or games. There are a specific set of no-code platforms that are focused on enabling the connection of various independent applications very easily, without the need to write a single line of code. <\/p>\n\n\n\n<p>In this case, we&#8217;ve chosen one of this last type, called <a href=\"https:\/\/www.make.com\/en\" target=\"_blank\" rel=\"noopener\">Make.com<\/a>, but we could have chosen any other platform like <a href=\"https:\/\/n8n.io\/\" target=\"_blank\" rel=\"noopener\">n8n<\/a>, <a href=\"https:\/\/zapier.com\/\" target=\"_blank\" rel=\"noopener\">Zapier<\/a>, or other low-code platforms like <a href=\"https:\/\/yepcode.io\/\" target=\"_blank\" rel=\"noopener\">Yepcode<\/a>. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Our Automation<\/h2>\n\n\n\n<p>Today we&#8217;ll create an easy example where we log each money deposit you receive in your Devengo into a Google Sheet using webhooks and a no-code tool (as said before, <a href=\"https:\/\/www.make.com\/en\" target=\"_blank\" rel=\"noopener\">Make.com<\/a>, but you can use any other one). <\/p>\n\n\n\n<p>You could send this information to Office.com, to a database or to any other SAAS. You could also do an automation in the exact opposite direction: send a payment after a business event has been triggered. But again, today, Devengo -> Google Sheet. <\/p>\n\n\n\n<p>The process is something similar to this:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"517\" src=\"https:\/\/www.devengo.com\/wp-content\/uploads\/2024\/07\/the-proccess-1024x517.png\" alt=\"Process of incoming payment to Google Sheets\" class=\"wp-image-5454\" srcset=\"https:\/\/www.devengo.com\/wp-content\/uploads\/2024\/07\/the-proccess-1024x517.png 1024w, https:\/\/www.devengo.com\/wp-content\/uploads\/2024\/07\/the-proccess-300x152.png 300w, https:\/\/www.devengo.com\/wp-content\/uploads\/2024\/07\/the-proccess-768x388.png 768w, https:\/\/www.devengo.com\/wp-content\/uploads\/2024\/07\/the-proccess.png 1520w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li>A new deposit arrives in one of your bank accounts in Devengo.<\/li>\n\n\n\n<li>Devengo sends the incoming payment information to a webhook you have created in Make and added to your Devengo account.<\/li>\n\n\n\n<li>Make receives the information, processes it, and persists it to a configured Google Sheet.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Let\u2019s do it<\/h2>\n\n\n\n<p>Ok, enough talking, let&#8217;s start rockin&#8217;!<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Creating the Google Spreadsheet<\/h4>\n\n\n\n<p>Let\u2019s start creating the Google Spreadsheet where all the incoming payments will be registered. In this case, we are not adding the first row as the header, but you could do it if you want.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"1080\" style=\"aspect-ratio: 1920 \/ 1080;\" width=\"1920\" controls src=\"https:\/\/www.devengo.com\/wp-content\/uploads\/2024\/07\/V3-Step_0.mp4\"><\/video><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Creating a Make Scenario<\/h4>\n\n\n\n<p>Once you have created your free account in <a href=\"https:\/\/www.make.com\/en\" target=\"_blank\" rel=\"noopener\">Make<\/a>, the first step will be to create a new Scenario. Scenarios in Make are where you define the automation that connects the different applications. For this example, we will create a scenario in which we&#8217;ll add two components:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>The trigger that starts the process will be Custom Webhooks. This will create the URL you will need later to configure your Devengo account.<\/li>\n\n\n\n<li>The destination will be Google Sheets. You will need to follow a small guided process to create the connection from Make to your Google account.<\/li>\n<\/ol>\n\n\n\n<p>Once we perform a test send, we can return to finish configuring the Sheets module.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"1080\" style=\"aspect-ratio: 1920 \/ 1080;\" width=\"1920\" controls src=\"https:\/\/www.devengo.com\/wp-content\/uploads\/2024\/07\/V3-Step_1.mp4\"><\/video><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Creating a Devengo Webhook<\/h4>\n\n\n\n<p>Once we&#8217;ve created the Scenario in Make and copied the URL from the trigger component, we can add the webhook in Devengo. So we go to Devengo&#8217;s control panel and add Make&#8217;s URL in the <em>Webhooks<\/em> section. We will notify that URL when an Incoming Payment arrives. <\/p>\n\n\n\n<p>Although we can notify many intermediate steps (or <em>events<\/em> in our terminology), in this case, it&#8217;s recommended not to subscribe to all events and listen only to the final event: <strong><code>incoming_payment.confirmed<\/code><\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"1080\" style=\"aspect-ratio: 1920 \/ 1080;\" width=\"1920\" controls src=\"https:\/\/www.devengo.com\/wp-content\/uploads\/2024\/07\/V3-Step-2_1.mp4\"><\/video><\/figure>\n\n\n\n<p>In order to test the webhook, we&#8217;ll make an internal payment between two Devengo accounts to verify that Make is receiving the data. For that, you\u2019ll need to create a <a href=\"https:\/\/controlpanel.sandbox.devengo.com\/signup\" target=\"_blank\" rel=\"noopener\">Sandbox Account<\/a> and use our <a href=\"https:\/\/docs.devengo.com\/reference\/create-token-1\" target=\"_blank\" rel=\"noopener\">live API documentation<\/a>. Remember, no-code!<\/p>\n\n\n\n<p>But before creating this payment, we need to get a <a href=\"https:\/\/docs.devengo.com\/reference\/basics-authentication\" target=\"_blank\" rel=\"noopener\">Devengo Authorization Token<\/a> that we will use to our our API. <\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"1080\" style=\"aspect-ratio: 1920 \/ 1080;\" width=\"1920\" controls src=\"https:\/\/www.devengo.com\/wp-content\/uploads\/2024\/07\/V3-Step-2_0.mp4\"><\/video><\/figure>\n\n\n\n<p>Ok, once we have this token, we can create our first payment payment. This payment is required to finish the setup of the automation in Make. Once it receives a webhook, Make can define the data structure of the payment and complete the configuration of the Sheets module. Don&#8217;t forget to run the Scenario for the test to work correctly.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"1080\" style=\"aspect-ratio: 1920 \/ 1080;\" width=\"1920\" controls src=\"https:\/\/www.devengo.com\/wp-content\/uploads\/2024\/07\/V3-Step-2_2.mp4\"><\/video><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Configuring Google Sheets module<\/h4>\n\n\n\n<p>If everything has gone well, Make will have our data and it will know the format of the incoming data so we can easily map it to the columns of our Google Sheets, through its interface.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"1080\" style=\"aspect-ratio: 1920 \/ 1080;\" width=\"1920\" controls src=\"https:\/\/www.devengo.com\/wp-content\/uploads\/2024\/07\/V3-Step_3.mp4\"><\/video><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Putting all together<\/h4>\n\n\n\n<p>Finally, we can test the flow by creating a new payment between accounts to ensure that the data arrives in Sheets automatically. Don&#8217;t forget to activate the scenario in Make.<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"1080\" style=\"aspect-ratio: 1920 \/ 1080;\" width=\"1920\" controls src=\"https:\/\/www.devengo.com\/wp-content\/uploads\/2024\/07\/V3-Step_4.mp4\"><\/video><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Full video<\/h2>\n\n\n\n<p>Ok, do you need to watch all the steps in a single video? No Prob, here you are.<\/p>\n\n\n\n<figure class=\"wp-block-embed aligncenter is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"How to persist your incoming payments in Google Sheets with no-code\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/oadHdUTH-Lo?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What\u2019s Next?<\/h2>\n\n\n\n<p>Once you&#8217;ve mastered this scenario, you can try other destinations in Make that may be more useful for you. If you have an application with an API, you could even automatically send the information using the HTTP module.  The possibilities are nearly infinite!<\/p>\n\n\n\n<p>Any Ideas for your project or company? Do you need help setting up your account? <a href=\"https:\/\/www.devengo.com\/contact\/\" data-type=\"link\" data-id=\"https:\/\/www.devengo.com\/contact\/\">Send us an email<\/a> and we will be happy to help.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In applications that manage money instantly, it&#8217;s not only important to handle outgoing funds but also incoming ones so you can settle invoices or launch any other business process. In this post, we&#8217;ll explore a practical example of how you can automate your applications to react to new deposits in a bank account using the Devengo API.<\/p>\n","protected":false},"author":7,"featured_media":5455,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"footnotes":""},"categories":[69],"tags":[],"ppma_author":[9],"class_list":["post-5453","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ingenieria"],"acf":[],"authors":[{"term_id":9,"user_id":7,"is_guest":0,"slug":"ivan","display_name":"Ivan Guardado","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/c95af420757b70c1e5d8a8ae3cc42ea79d5748ae5cba704c244b30c683e20b27?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/www.devengo.com\/es\/wp-json\/wp\/v2\/posts\/5453","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devengo.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devengo.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devengo.com\/es\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devengo.com\/es\/wp-json\/wp\/v2\/comments?post=5453"}],"version-history":[{"count":19,"href":"https:\/\/www.devengo.com\/es\/wp-json\/wp\/v2\/posts\/5453\/revisions"}],"predecessor-version":[{"id":5493,"href":"https:\/\/www.devengo.com\/es\/wp-json\/wp\/v2\/posts\/5453\/revisions\/5493"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devengo.com\/es\/wp-json\/wp\/v2\/media\/5455"}],"wp:attachment":[{"href":"https:\/\/www.devengo.com\/es\/wp-json\/wp\/v2\/media?parent=5453"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devengo.com\/es\/wp-json\/wp\/v2\/categories?post=5453"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devengo.com\/es\/wp-json\/wp\/v2\/tags?post=5453"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.devengo.com\/es\/wp-json\/wp\/v2\/ppma_author?post=5453"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}