Understanding how International Bank Account Numbers (IBANs) work is key for doing business across Europe. They show up on invoices, payroll runs, checkout pages, and cross-border transfers, and if you get them wrong, payments fail. If you're operating in or with countries such as the Netherlands, you should know how IBANs are structured, validated, and used. Below, you'll find a detailed guide explaining how IBANs work and how to use them correctly in a real-world business context.
What's in this article?
- What is an IBAN?
- How are IBANs used in the Netherlands?
- How does a Dutch IBAN work?
- When do I need to use an IBAN?
- How can I validate or calculate an IBAN?
- Why is the IBAN system important for businesses in the Netherlands?
- How can I avoid IBAN-related payment issues?
What is an IBAN?
An IBAN is a standardised way to identify a bank account internationally. It's used in addition to a standard bank account number to identify the account, and it's written in a globally recognised format. Depending on the country, an IBAN can be up to 34 characters long.
The IBAN standard started in Europe and now includes 88 countries across Europe, the Middle East, the Caribbean, and beyond. Before IBANs, every country had its own account number formats, which made cross-border payments slow, prone to errors, and more difficult to trace.
IBANs don't replace local account numbers; they contain them in a format that tells banks exactly where to send money. In regions such as the US, Canada, or most of Asia, banks don't use IBANs internally, but if you're sending money to a country that uses them, you'll need to provide the recipient's number.
How are IBANs used in the Netherlands?
In the Netherlands, the IBAN system is the foundation of both domestic and international bank transfers. That shift came as part of the Single Euro Payment Area (SEPA) migration, which brought eurozone countries under a single payment standard designed to make sending money across borders simpler. Here's what that means in practice:
- IBANs are now standard: The IBAN is the default account format for international transfers, as well as local ones. When a customer in Utrecht pays a local business, they use an IBAN. When that business pays a supplier in Spain, they'll use it as well.
- Legacy Dutch account numbers are now part of the IBAN system: These legacy numbers, known as rekeningnummers, still exist, but they have been integrated into the IBAN system. Today, there's no separate domestic format – it's all IBAN, by design.
As a result, Dutch IBANs show up everywhere. Employers use IBANs to pay salaries. They're how customers pay utility bills. IBANs are what you, as a business owner, enter into accounting software or share with overseas clients. If you're sending or receiving money in euros from a Dutch account, you must use an IBAN.
BICs or SWIFT codes
You'll sometimes see Business Identifier Codes (BICs) or Society for Worldwide Interbank Financial Telecommunication (SWIFT) codes referenced alongside IBANs. These identify the bank and branch involved in a transaction, kind of like a postal code for your bank. In most cases, especially within the Netherlands or the broader eurozone, you don't need to worry about BICs anymore. The IBAN contains enough information – including the bank's identifier – for payment systems to pull the correct BIC automatically.
Since 2016, SEPA rules have allowed banks to process euro-denominated payments using just the IBAN. While BICs still exist in the background, especially for higher-value or non-euro international payments, the IBAN is sufficient for most payments in the Netherlands.
How does a Dutch IBAN work?
Every country that uses IBANs follows a specific number structure. In the Netherlands, that structure is 18 characters long. If you see an IBAN such as NL91 ABNA 0417 1643 00, here's how to break it down:
- NL: This tells you it's a Dutch account.
- 91: These are the two control digits used to validate the number.
- ABNA: This is the four-letter bank code, and in this case, it identifies the bank ABN AMRO. A few common Dutch bank codes are INGB (ING Bank), RABO (Rabobank), and SNSB (SNS Bank).
- 0417164300: This is the 10-digit account number.
What makes the IBAN system reliable
The control digits (i.e. the two numbers right after the country code) are calculated using an algorithm that verifies whether the IBAN was entered correctly. If someone mistypes even one digit, the validation will likely fail, and the system will flag the error before the transfer goes out.
This self-check makes the IBAN system less prone to human error. It is part of most online banking platforms, accounting software, and payments systems.
When do I need to use an IBAN?
It's mandatory to use IBANs for all euro payments across the SEPA region and for international transfers with many other countries. They're used for everything from vendor payouts and expense reimbursements to salary payments and government filings. You'll need to use an IBAN when:
- Sending money to Europe or any country that uses IBANs
- Sending money within Europe
- Making domestic payments within SEPA countries
- Collecting payments via SEPA Direct Debit
- Getting paid by a customer based in Europe or any country that uses IBANs
If both the sending and receiving banks are in countries that don't support IBAN, such as the US, China, or Japan, you'll use other identifiers, such as local account numbers, routing codes, SWIFT codes, or BICs. But whenever a payment involves at least one IBAN country, the IBAN is required.
How can I validate or calculate an IBAN?
Most banks and payment providers run an IBAN validation check automatically when you enter the number to ensure the IBAN entered is in the correct format. But if you want to verify one manually, use an online IBAN validation tool to check the length, country structure, and verify the control digits.
During the SEPA transition, European banks offered IBAN calculators that could create the full IBAN from old local account numbers and corresponding bank identifiers. Many Dutch banks still provide this service for customers, switching accounts or updating systems.
Just make sure you're using a reputable source for the service, such as the bank itself or a well-established financial platform – especially when you're entering sensitive data.
Best practices
- Always check the IBAN's length: Each country has a fixed IBAN length (e.g. 18 characters in the Netherlands, 22 in Germany, 27 in France). If the number is too short or long, that's an immediate red flag.
- Spacing doesn't matter, but characters do: IBANs are often written in blocks of four for readability, but when entering one into a form, you usually omit the spaces. Either way, the underlying characters must be correct.
- Don't assume validation equals accuracy: A valid IBAN might still belong to the wrong person. Always verify with the recipient, especially for large transfers.
Why is the IBAN system important for businesses in the Netherlands?
IBAN is important infrastructure for businesses in the Netherlands. It's how payments move across Europe, how invoices are paid, and how one-way businesses comply with EU payment regulations. Here's why the system matters.
It unlocks access to the European market
All euro payments within the SEPA zone – which includes the 27 member states of the EU, 3 European Economic Area (EEA) countries, and multiple non-EU countries – require IBANs.
It's mandatory for euro transactions
Since 2014, Dutch businesses have been required to use IBANs for all euro-denominated credit transfers and direct debits, even within the Netherlands.
It reduces payment failures and delays
IBANs include built-in control digits that allow banking systems to catch errors before money is sent.
It allows for more on-time payments across borders
If you send an invoice without an IBAN listed to a client in, say, Belgium or Germany, there's a good chance payment will be delayed or fail altogether. Listing your IBAN on invoices, contracts, and payment forms keeps funds moving through the system.
It enables direct debit and subscription models
If you're using SEPA Direct Debit to collect payments from customers (e.g. for a Software as a Service (SaaS) subscription or utility billing), you'll need to collect their IBANs. Stripe simplifies this process by securely handling the mandate and payment flow, but the IBAN is still the main identifier for the bank account being debited.
It keeps transaction costs low
SEPA transfers that use IBANs are typically free or very low-cost, even for cross-border payments. That's a big shift from traditional wire fees.
How can I avoid IBAN-related payment issues?
IBANs are designed to reduce errors, but problems can still arise. Many come down to human mistakes, such as typos or mismatched names. However, most issues can be prevented by following the simple practices below.
Always double-check the IBAN
It might sound obvious, but this is where many issues start. Typos are easy to make, especially with long strings of letters and numbers. Best practices include the following:
- Breaking the number into blocks of four when reading it, until a pair of digits is left (e.g. NL91 ABNA 0417 1643 00)
- Cross-checking against the original source (e.g. invoice, email, etc.)
- Copying it directly from the bank or customer relationship management (CRM) system rather than retyping it
Use validation tools
Most banking platforms automatically validate IBANs before processing payments. But if you're entering one into a system manually – or received it via email – it's worth running it through an IBAN checker. Just remember that these services can't tell you if the account is active or if it belongs to the right person – only that the IBAN is formatted correctly.
Watch for letter and number confusion
IBANs are alphanumeric. That means the letter O and number 0 are not interchangeable, which is also the case with the letter I and number 1. A common error is mistaking a bank code such as INGB for 1NGB. Always double-check the characters in an IBAN before performing a transaction.
Verify account ownership when possible
In some countries, payment systems alert you if the account name doesn't match the IBAN, but that's not a guarantee. If you're sending a large payment, confirm with the recipient, ideally through a second channel, that the IBAN is correct and belongs to them.
Be cautious with last-minute changes
If you get an unexpected email saying your supplier has "updated their bank details," stop and verify it through a known contact. Invoice fraud is common, and one altered digit in a fake IBAN can redirect funds to a fraudulent actor's account.
Keep internal systems IBAN-ready
If you're handling payments through accounting or enterprise resource planning (ERP) software, make sure your systems support full IBAN fields and validate them before initiating transfers. This helps avoid formatting errors that can cause rejections or slow reconciliation.
Act quickly if something goes wrong
If a payment bounces due to an invalid IBAN, it's usually returned to your account. But if it succeeds and goes to the wrong account (because the IBAN was valid, but incorrect), you'll need to contact your bank immediately to try to recover the funds. The longer you wait, the harder that becomes.
The content in this article is for general information and education purposes only and should not be construed as legal or tax advice. Stripe does not warrant or guarantee the accuracy, completeness, adequacy, or currency of the information in the article. You should seek the advice of a competent lawyer or accountant licensed to practise in your jurisdiction for advice on your particular situation.