{"id":6833,"date":"2026-09-03T09:51:49","date_gmt":"2026-09-03T09:51:49","guid":{"rendered":"https:\/\/www.devengo.com\/?p=6833"},"modified":"2026-09-07T14:09:06","modified_gmt":"2026-09-07T14:09:06","slug":"counterparties-explained","status":"publish","type":"post","link":"https:\/\/www.devengo.com\/en\/blog\/counterparties-explained\/","title":{"rendered":"Counterparties: What They Are and Why They Matter"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Managing recipients is a core part of your payout process. It\u2019s not just about sending money; it\u2019s about <strong>how you store, manage, and reuse the recipients you pay.<\/strong> Whether you work in tech, compliance, finance, or product, this is something you\u2019ll want to get right.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This article explores Counterparties and how Devengo\u2019s payout API simplifies recipient management while making payments more secure and reducing fraud risk.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>The problem: starting from scratch every time you pay a repeat recipient<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If your team builds or manages payments through an API, this problem has a very concrete shape. Here is what it typically looks like in code:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">POST \/payments\n{\n  \"creditor_name\": \"Acme Supplies S.L.\",\n  \"creditor_iban\": \"ES91 2100 ...\",\n  \"amount\": 15000\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">It works, and it is how most payments API integrations start. The problem is that every call resends the full account details, even when you are paying the same person again. So the more payments you send, the more that repeated work adds up.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That sounds harmless, but it adds up to real risk.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>The risk of mistakes<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Bank details typed and retyped are bank details that can be mistyped. Account numbers that travel through requests, spreadsheets, and support tickets are account numbers that can end up somewhere they should not.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>The risk of exposure&nbsp;<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Account numbers that travel through requests, spreadsheets, and support tickets are sensitive bank details that can end up somewhere they should not.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>The risk of fraud<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">A business with no record of who it normally pays has no way to notice when something looks off, like an unusual number of new payees showing up in a short window, or the same IBAN being reused for different recipients.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There is a simpler way to mitigate those risks: <strong>counterparties<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>The solution: register once, pay with an ID<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\"><strong>What is a counterparty?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A counterparty is a saved recipient record: a name and an IBAN, registered once, with a stable ID. Instead of handing over someone&#8217;s bank details every time you pay them, you register those details once, and from then on you reference that ID on every future payment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For the technical side of the team, here is what that looks like once it is in place. Your payment requests carry an ID, not a name, not an account number.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">POST \/payments\n{\n  \"counterparty_id\": \"cpt_8f2a91\",\n  \"amount\": 15000\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">In Devengo, Counterparties work as a managed address book for payers and payees in the <a href=\"https:\/\/controlpanel.devengo.com\/session\/new\" target=\"_blank\" rel=\"noopener\"><strong>Control Panel.<\/strong><\/a> The same recipient record can be used for both outgoing and incoming payments, so your team always knows who a payment is going to or came from.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ops and finance teams can browse, filter, and review registered recipients, including their name, masked IBAN, account holder, and verification status at a glance.<\/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\/2026\/09\/Control-Panel-Counterparties.mp4\"><\/video><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>The Benefits: 7 Ways Counterparties Make Payouts Better<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The benefits go further than tidier code. Better management of repeat recipients leads to simpler and safer payments:<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\">1. <strong>Register once, pay many<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Right now, every payment call in your system has to know who the recipient is and has to know how to send them money. Those are two different jobs. Onboarding a recipient (during KYC, supplier setup, contractor registration) is a one time event. Paying them is something you do repeatedly, sometimes hundreds of times.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With Counterparties, you register once on the onboarding and pay many times. Your payments API stops needing to handle raw account details on every call. It just references an ID that someone (or some system) already validated.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\"><strong>2. A single view for support and operations<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">When a recipient is just an IBAN repeated across payments, answering &#8220;what have we sent this client?&#8221; means searching through logs or transaction lists by hand. With Counterparties, every payment (sent or received) is tied to the same recipient record, so support and ops teams can pull up a client&#8217;s full payment history in one place, without digging through raw payment data.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\">3. <strong>Fewer places for a typo, or a leak, to happen<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Every time an IBAN travels through a request, a log line, a queue, or a support ticket, it is a chance for something to go wrong: a copy and paste error, an account number that ends up somewhere it should not, a name that does not quite match what is on file. Register the IBAN once, and that risk exists once, not on every payment you will ever send to that person.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\">4. <strong>A clear answer for compliance<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A managed set of counterparties also helps with compliance. Duplicate detection, reused IBAN flags, and unexpected change alerts become things you can build, instead of something you reconstruct from logs afterward. Depending on your business and your KYC and AML program, that is part of your fraud prevention obligations, not just a nice to have.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\">5. <strong>Fraud control, not just a convenience<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Inline IBANs only let you apply a fraud control at the moment of payment. Counterparties add an earlier checkpoint: the moment a recipient is registered.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In account takeover and authorized push payment (APP) fraud, the payee is typically added first and the payment follows shortly after. The same IBAN turning up across unrelated counterparty records is another common signal, often pointing to mule accounts or reused credentials. Catching either pattern at registration is cheaper, and safer. than catching it once a payment is already in motion.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\">6. <strong>Mandatory and restrictive modes: proofing your payments API<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">By default, Counterparties are optional in Devengo, at least for now. You can still pass IBANs inline if you want. But there are two options that change that calculus for some businesses.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Mandatory mode,<\/strong> where every payment must reference a registered counterparty.<\/li>\n\n\n\n<li><strong>Restrictive mode, <\/strong>where only verified counterparties can receive payments at all \u2014 a practical way for AML-obliged entities to enforce their due diligence obligations at the point of payment, not just at onboarding.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Note that you can choose either mode based on your own risk appetite, privacy requirements, or compliance needs. However, even if you&#8217;re comfortable with the default setup, Devengo may require you to use a specific mode depending on your industry or risk profile.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-medium-font-size\">7. <strong>A small change with a compounding return<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Migrating existing recipients into Counterparties is a one time task. After that, every payment you send gets simpler, not more complex: no IBAN handling on the request, no re validation, a single ID that is easier to audit, easier to reuse across systems, and easier to reason about six months from now when you are debugging a payment that went to the wrong place.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Start using Counterparties<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you are already building with Devengo, check out the <strong><a href=\"https:\/\/docs.devengo.com\/reference\/create-counterparty\" target=\"_blank\" rel=\"noopener\">API reference<\/a>, <a href=\"https:\/\/devengo.sleekplan.app\/changelog\/59541\" target=\"_blank\" rel=\"noopener\">create counterparties directly from your control panel,<\/a><\/strong> or reach out to your Devengo contact for guidance on migrating your existing recipients.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you are exploring a payout API for the first time, <strong><a href=\"https:\/\/www.devengo.com\/en\/contact\/\">contact our experts<\/a> <\/strong>and we will help you find the setup that fits your use case.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Registering an IBAN once is safer than sending it with every payment. See how Counterparties simplify recipient management in your payout API, and why that also lowers fraud risk.<\/p>\n","protected":false},"author":10,"featured_media":6907,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","inline_featured_image":false,"footnotes":"","_ppma_block_editor_authors":""},"categories":[20,16],"tags":[],"ppma_author":[15,71],"class_list":["post-6833","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-general","category-payments"],"acf":[],"authors":[{"term_id":15,"user_id":10,"is_guest":0,"slug":"molpe","display_name":"Alberto Molpeceres","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/0db5398bcf74725e9656429fe657977b2ada8520675537cb251c312ad14d47f8?s=96&d=mm&r=g","author_category":"","first_name":"Alberto Molpeceres","last_name":"COO","user_url":"","job_title":"","description":""},{"term_id":71,"user_id":16,"is_guest":0,"slug":"stephanie","display_name":"Stephanie Borrero","avatar_url":{"url":"https:\/\/www.devengo.com\/wp-content\/uploads\/2025\/09\/Logo-Devengo-3.png","url2x":"https:\/\/www.devengo.com\/wp-content\/uploads\/2025\/09\/Logo-Devengo-3.png"},"author_category":"1","first_name":"Stephanie Borrero","last_name":"Growth","user_url":"","job_title":"Growth","description":""}],"_links":{"self":[{"href":"https:\/\/www.devengo.com\/en\/wp-json\/wp\/v2\/posts\/6833","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devengo.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devengo.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devengo.com\/en\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devengo.com\/en\/wp-json\/wp\/v2\/comments?post=6833"}],"version-history":[{"count":25,"href":"https:\/\/www.devengo.com\/en\/wp-json\/wp\/v2\/posts\/6833\/revisions"}],"predecessor-version":[{"id":6940,"href":"https:\/\/www.devengo.com\/en\/wp-json\/wp\/v2\/posts\/6833\/revisions\/6940"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devengo.com\/en\/wp-json\/wp\/v2\/media\/6907"}],"wp:attachment":[{"href":"https:\/\/www.devengo.com\/en\/wp-json\/wp\/v2\/media?parent=6833"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devengo.com\/en\/wp-json\/wp\/v2\/categories?post=6833"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devengo.com\/en\/wp-json\/wp\/v2\/tags?post=6833"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.devengo.com\/en\/wp-json\/wp\/v2\/ppma_author?post=6833"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}