How to convert your bank accounts to IBAN and avoid errors in 2026
2026-02-23
In the day-to-day running of any business, converting an old account to IBAN is much more than a simple administrative task. It is, in fact, a key piece in making sure your collections and payments run smoothly, avoiding the rejections and delays that are so frustrating and that, in the end, cost you money and affect your cash flow.
Why converting to IBAN correctly is vital for your business health

Within the Single Euro Payments Area (SEPA), the IBAN (International Bank Account Number) is the ID of bank accounts. A single wrong digit in that code can cause real chaos, and that is no exaggeration. It goes beyond a mere nuisance and can destabilise your company’s operations.
Consider a real situation. You send the direct debit batch to collect your clients’ monthly instalments. But it turns out that 10% of those accounts were converted to IBAN with errors. What happens? The bank returns those operations, the money does not arrive when you expected it and, to make matters worse, you are charged fees for each failed transaction. A disaster.
The real impact of errors when converting to IBAN
These failures, which at first glance seem minor, trigger a domino effect that eats up time and resources you can ill afford. Suddenly your admin team has to call each affected client, ask for the correct details and re-issue the collections one by one.
The problems that a bad conversion can cause are more serious than they look: * Gaps in cash flow: You are counting on income that never arrives, which throws your cash flow out of line and makes it harder to pay suppliers or salaries. * Unexpected costs: Bank return fees add up and, without you realising, reduce your profits. * Poor image: A client who sees a direct debit returned because of your error may think you are unprofessional, and trust is very hard to win back. * Paperwork and wasted time: All the time spent firefighting could be spent on tasks that actually grow the business.
In practice, a miscalculated IBAN is not just an error in a database, it is a closed door to your collections. For an SME that manages hundreds of direct debits, having a reliable conversion process is as crucial as the sale itself.
The need for a tool you can trust
For SMEs, accountancy firms or admin departments, relying on manual conversions or flimsy tools is playing Russian roulette. The key is to use a system that guarantees correct data from the start.
Validating IBANs before generating any payment file is not optional; it is a must if you want to sleep soundly. To find out more, we recommend reading our article on the importance of using a SEPA file validator.
Taking the task of converting to IBAN seriously, in bulk and accurately, is ultimately a direct investment in your company’s financial health and efficiency.
How an IBAN is calculated and validated by hand (and why you should know)
Before you start using automatic tools, it is essential to understand how an IBAN is built and validated. It gives you real control. When you know the logic behind the calculation, you can audit conversions, pinpoint the source of an error and fix issues without depending on software. Trust me, this knowledge saves you when something does not add up.
Converting an old Client Account Code (CCC) to IBAN is not magic; it is based on a very precise, internationally standardised mathematical algorithm. This process ensures that each IBAN is unique and verifiable, which minimises the transaction errors we all worry about.
The anatomy of a Spanish IBAN
First things first: a Spanish IBAN always has 24 characters. No more, no less. This fixed structure is the first and most basic validation rule. If you come across one that does not meet this, you can discard it.
These 24 characters are arranged in a very specific way. Below we break down the structure so you can see how each part of the old CCC fits into the new IBAN format.
| Component | Position | Length | Description |
|---|---|---|---|
| Country code | 1-2 | 2 letters | Identifies the account’s country. For Spain, it is always ES. |
| IBAN check digits | 3-4 | 2 digits | Calculated using the Modulo 97 algorithm. They are the key to validation. |
| Bank code | 5-8 | 4 digits | Part of the old CCC that identifies the bank. |
| Branch | 9-12 | 4 digits | The branch where the account was opened, also from the CCC. |
| CCC check digits | 13-14 | 2 digits | The internal check digits that the original account already had. |
| Account number | 15-24 | 10 digits | The actual account number. |
As you can see, the IBAN is nothing more than the traditional CCC with an international “prefix” that makes it unique and verifiable across the whole SEPA area.
The algorithm trick: Modulo 97
The method for calculating those two IBAN check digits is based on the Modulo 97 algorithm. Although the name sounds a bit technical, the idea is simple: a mathematical operation is performed on all the digits of the account and the result must always be 1 for it to be valid.
If you want to convert a CCC to IBAN yourself, these are the steps. We will use an example CCC: 2100 0418 45 0200051332.
- Reorder the parts: First, place the 20 digits of the CCC. Then add the country code (ES) and two zeros (00). The string would look like this:
21000418450200051332ES00. - Convert letters to numbers: Now we need to “translate” the country code. Each letter has a numeric value (
Eis14andSis28). After substituting, our string becomes this large number:21000418450200051332142800. - Apply Modulo 97: Divide that long number by 97. We are not interested in the result of the division, but the remainder.
- Calculate the final digits: Now subtract that remainder from 98. The result gives you your two check digits. Note! If the result is a single digit (e.g. 7), you must add a zero in front so there are always two (07).
Following our example, when we divide 21000418450200051332142800 by 97, the remainder we get is 10.
We do the final calculation: 98 - 10 = 88. There we have it! The check digits are 88.
So the full IBAN is ES88 2100 0418 45 0200051332.
This manual process not only helps you understand the internal logic, it is also a very useful skill for quickly checking a suspicious account or doing a one-off conversion without opening any application.
What if we do it with an Excel formula?
For occasional conversions, your admin team does not need to do these calculations by hand. A simple Excel formula can automate the process for a specific account.
Imagine you have the CCC split across three cells:
* A1: Bank and branch (8 digits, e.g. 21000418)
* B1: CCC check digits (2 digits, e.g. 45)
* C1: Account number (10 digits, e.g. 0200051332)
You can use the following formula in another cell to get the full IBAN instantly:
="ES"&TEXT(98-MOD(VALUE(A1&B1&C1&"142800"),97),"00")&A1&B1&C1
This formula does exactly the same steps we saw with the Modulo 97 algorithm: it joins the CCC parts with the numeric code for “ES00”, calculates the remainder of the division by 97 and builds the final IBAN. It is a very practical way to avoid manual calculation errors in day-to-day work.
Even so, for much deeper validation, especially if you have doubts about an IBAN’s integrity, it is best to use specialised tools. To find out more, you can read about all the checks performed by our online IBAN validator to ensure maximum reliability.
Having this grounding in manual calculation lets you understand the results from automatic tools much better and gives you the autonomy to audit financial information that is critical for your business.
Bulk conversion: the definitive step for managing your payments
When your list of bank accounts runs into hundreds, or even thousands, manual conversion is simply not a viable option. For SMEs, advisory firms and finance departments that deal with large volumes of data in Excel or CSV files every day, trying to convert to IBAN each account one by one is a recipe for disaster.
It is not just about the time lost, which is very valuable. The real danger is the risk of human error, which grows with every new row.
A simple slip when typing a number or an Excel formula dragged incorrectly on a sheet with 500 rows can have serious consequences. A single incorrect IBAN is enough for the bank to reject an entire batch of payments or collections. That means return fees, a lot of admin work to find the fault and, worse still, payment delays. Now multiply that by several potential errors, and the impact on cash flow becomes unsustainable.
From chaotic files to flawless batches
Put yourself in the shoes of an advisory firm that manages payroll for several companies. At the end of each month, it receives an Excel from each client with their employees’ details: name, amount and their old CCC account. Its job is to generate a SEPA XML file to order the transfers. If they do it by hand, they face a slow, error-prone process that can delay salary payments. And a delay like that seriously damages the relationship with any client.
This is where a bulk conversion tool changes the game completely. A platform like GenerateSEPA is designed for exactly this. It lets you upload those files directly — whether Excel, CSV or even older banking formats like the AEB 34 ledger — and automate the whole process from end to end.
The workflow is as simple as it is effective: you enter the CCC, the tool applies the calculation and you get a validated, secure IBAN, ready to use.

The big advantage of automating is reliability. It removes the human risk of manual calculation and ensures that every IBAN generated is correct.
Column mapping: the key to making everything work on its own
Once you upload your file, you reach the most important step: column mapping. It is an intuitive process that basically means telling the tool which column in your Excel corresponds to each piece of data the SEPA file needs. It is like giving it the instructions.
For example: * Account holder name: You tell it to take it from column “B”. * Account number (CCC or IBAN): You indicate that the bank details are in column “E”. * Transaction amount: You map column “F”, which contains the amounts. * Reference: You assign column “G” for the description (e.g. “Payroll January 2026”).
Once you have done this simple mapping, the platform does the rest. It validates each account, converts it to IBAN if it is an old CCC and organises all the information according to the strict rules of the SEPA XML format. The result is a perfect file, ready to upload to your online banking with complete confidence that it will not throw any errors.
Bulk conversion is not just about going faster; it is a quality control strategy. Automating this process reduces operational errors to practically zero and frees your team to focus on tasks that add more value.
This level of efficiency is essential today. According to a recent study, an impressive 82% of Spaniards are considering changing bank in 2026, tired of unclear fees and security issues. For SMEs, who are often frustrated with banking apps that do not work well, being able to generate SEPA batches without errors becomes a competitive advantage. If you are interested, you can read more about these trends in the full study on banking habits.
Beyond Excel: bringing old AEB formats to life
There are still many companies, especially those working with older management systems (ERPs), that generate files in formats standardised by the Spanish Banking Association (AEB). You will certainly have heard of ledgers 19, 32 or 58. Although they were the standard in their day, they are now incompatible with SEPA systems.
Modern conversion tools solve this problem too. They let you upload these legacy files and transform them directly into the SEPA XML format that banks require. This closes the technology gap and allows companies with legacy software to keep operating smoothly and in line with regulation, without having to invest in costly system upgrades.
Automate conversion in your systems with an API
For technical teams and companies that handle a large volume of transactions, real optimisation goes beyond uploading a file. The goal is full automation: a system where human intervention is minimal and reliability is maximum. This is exactly where an API comes in, allowing your internal systems to convert to IBAN and validate accounts in real time, without anyone having to press a single button.
Integrating a conversion API, like GenerateSEPA’s, directly into your ERP, CRM or your own application takes financial management to another level. You stop depending on manual processes or the heavy task of exporting and importing files. Conversion simply becomes another function of your software.
What do you gain by integrating an API?
Moving from the web interface to a direct connection with your systems via an API gives you very clear advantages that you will notice day to day, both in efficiency and security. The difference is huge.
- Real-time data consistency: Every time a new bank account is recorded in your system, it is validated and converted to IBAN on the spot. This cuts off any chance of incorrect data staying in your database.
- No more manual intervention: No more uploading and downloading files. Workflows run on their own, freeing your team to focus on higher-value tasks instead of repetitive, error-prone work.
- Unlimited scalability: Has your volume of operations shot up? No problem. An API is designed to handle thousands of requests without breaking a sweat, so your operations can grow without friction.
Integrating an API is not just a technical improvement; it is a strategic decision that hardens your financial infrastructure. You move from a reactive model (fixing errors) to a proactive one (preventing them at the source).
A practical example with a JSON API
Imagine this scenario: a client enters their IBAN in your application. Instead of saving it as-is and waiting for a bulk validation later, your system could make an instant call to the API to check it on the spot.
With an API like GenerateSEPA’s, implementation is fairly straightforward. You typically only need to send a request to a specific endpoint, including the data you want to process and your key for authentication.
Here is a very simple example of what a call to validate an IBAN might look like using Python, a language commonly used in backend development:
import requests import json
api_key = “YOUR_API_KEY_HERE” iban_to_validate = “ES8821000418450200051332”
url = “https://api.generatesepa.com/v1/validate-iban”
headers = { “Authorization”: f”Bearer {api_key}”, “Content-Type”: “application/json” }
data = { “iban”: iban_to_validate }
response = requests.post(url, headers=headers, data=json.dumps(data))
if response.status_code == 200: result = response.json() if result.get(“isValid”): print(f”The IBAN {iban_to_validate} is valid.”) else: print(f”The IBAN is not valid: {result.get(‘message’)}”) else: print(f”API call error: {response.status_code}”)
This short piece of code sends the IBAN to the API and receives an immediate JSON response telling you whether it is valid or not. The same principle applies to converting a CCC to IBAN or even processing a full file programmatically. You can learn more about how to transform files in our article on the SEPA converter.
Automation and real-time validation are more crucial than ever. European regulation has tightened security, requiring banks to verify that the account holder’s name and IBAN match on transfers. This measure, which is being consolidated from October 2025, aims to curb fraud that was once common, such as identity impersonation on invoices. Integrating a robust API ensures you meet these requirements and protect every transaction you make. If you want to go deeper, you can read more about changes to bank transfers in the EU.
In short, connecting your systems to an API is the most solid way to ensure that every piece of bank data you handle is correct from the moment it enters your system.
Protect your data and comply with regulation when managing bank accounts

Working with bank data, such as when you need to convert to IBAN the accounts of clients or employees, is a sensitive task. It goes far beyond a simple technical operation; it involves a major responsibility in terms of security and regulatory compliance. We must not forget that every account number is sensitive personal data, protected by laws as strict as the General Data Protection Regulation (GDPR).
A security slip, however small it may seem, can not only cause financial loss but also damage your company’s reputation and lead to serious penalties. That is why how you manage this process is as crucial as the result you get.
The hidden risk of free online converters
When you are in a hurry, it is very tempting to search on Google and use the first free tool that appears. But that immediate convenience can have a high long-term cost. Most of these free services offer no guarantee about what they do with the information you entrust to them.
Have you stopped to think what happens to those account numbers once you enter them?
- Uncontrolled storage: You have no idea whether that data is stored, where, for how long or what it might be used for in the future.
- Unencrypted communications: Often the information travels over the network with no encryption, leaving it exposed to anyone with bad intentions who might intercept it.
- Sale of data to third parties: In the worst case, the tool could be a simple front for collecting financial data and selling it to the highest bidder.
Data security is not an optional extra, it is a fundamental pillar. Entrusting bank information to an unknown platform is like giving the keys to your business to a stranger.
The figures speak for themselves. Cybercriminals have the financial sector in their sights. In fact, cyberattacks in Spain saw a worrying 26% increase in 2025, and banking was the main target, bearing 34% of all attacks. In this context, theft of confidential data soared by 171%, with many cases directly linked to fraudulent access through poorly protected IBANs. You can read more about these statistics in this analysis on the alarming rise in cyberattacks in Spain.
How to tell if a platform for converting to IBAN is truly secure
In the face of uncertainty around free tools, professional services like GenerateSEPA start from the opposite philosophy: security first. When choosing a solution to convert to IBAN, it is vital to ensure it meets essential minimum security standards.
Here is a checklist of what you should require from any provider that will touch your financial data:
- End-to-end encryption: All information, both when you upload it and while it is processed on their systems, must be protected with strong encryption protocols such as TLS.
- Automatic deletion policy: A serious platform must guarantee that your files are deleted from their servers automatically and within a very short time. At GenerateSEPA, for example, all data you upload is completely deleted in just 10 minutes. No trace is left.
- Secure hosting: The servers where data is processed must be in data centres with top-level security certifications, such as ISO 27001. If they are also in the European Union, you ensure GDPR compliance.
- Transparency on regulatory compliance: The company behind the tool must clearly explain how it complies with data protection laws, detailing its privacy policies and how it treats the information.
Choosing a solution that incorporates these measures is not just good business practice. It is a direct investment in peace of mind and business continuity. After all, protecting your clients’ and your company’s data is protecting your most valuable asset.
We answer your questions about converting to IBAN
Even with the best tools and guides, questions always come up in day-to-day work. That is normal. Here we have gathered the most frequent questions we receive, with direct, to-the-point answers so you do not waste a second.
What do I do if a CCC is missing a digit?
It is a classic. You receive a client’s or employee’s details and, when you check them, you notice that the old Client Account Code (CCC) is missing a digit. In this scenario, the answer is simple: it is impossible to calculate the correct IBAN.
The reason is purely mathematical. The algorithm that generates the IBAN, known as Modulo 97, needs all 20 digits of the CCC to calculate the two check digits that go right after the country code. If just one is missing, the whole string is corrupted and the result will be wrong. Trying to guess it is a recipe for disaster.
The only real solution? Contact the account holder and ask them to confirm the full number. When it comes to banking, there are no shortcuts.
My converter says the IBAN is valid, but the bank returns it
This is one of the most frustrating situations. You run an account through a validator, it says the format is correct (length, structure, check digits…), but when you send the batch, the bank rejects it. What happened?
An IBAN can be mathematically perfect and yet not correspond to a real, active bank account. Structural validation only tells you that the number could exist, not that it actually exists.
This usually happens for several reasons:
- The account no longer exists: The holder closed it some time ago.
- The account is blocked or inactive: It may have restrictions that prevent it from receiving payments.
- The original CCC had an error: Even if it had 20 digits, perhaps one digit was wrong from the start.
To minimise this problem, the ideal is to use tools that, as well as checking structure, verify whether the bank and branch associated with that IBAN exist. Even so, the only definitive confirmation that an account is 100% active lies with the holder’s bank.
Is an IBAN the same as a SWIFT or BIC code?
No, not at all. It is crucial to be clear about the difference, because they serve completely different purposes in the financial world.
- The IBAN (International Bank Account Number) identifies a specific bank account of a person or company. It is like the exact address of a mailbox.
- The SWIFT/BIC (Bank Identifier Code) identifies a bank anywhere in the world. It is the address of the post office building, not the mailbox.
Imagine you are sending a letter. The IBAN would be the recipient’s flat and door number, while the SWIFT/BIC is the address of the building. For international transfers you need both. However, for operations within the SEPA area (direct debits, euro transfers…), the IBAN is the only code that matters.
Why should I be wary of a free online converter?
The temptation to use a free web tool to get by is strong, we know. But when we are talking about bank data, the security risk is even greater. Most of these free services offer no guarantee about how they will treat the information you enter.
When you use a converter of this kind, you risk your clients’ or employees’ account numbers being stored without your permission, shared with third parties or, in the worst case, ending up in the wrong hands after a security breach. Handling financial data demands a level of protection that these websites cannot offer, leaving you exposed to operational and legal problems.
At GenerateSEPA, we believe that efficiency and security can go hand in hand. That is why we have built a platform that lets you convert your files to SEPA XML in bulk, with automatic validation and maximum protection for your data. Simplify your financial management and forget about errors that cost time and money.
Try GenerateSEPA free for 7 days and see how easy it is to have your batches ready in minutes.