Odoo Base IBAN - International Bank Account Validation

International Bank Account Number validation module for SEPA payments and secure transfers

The Base IBAN module provides validation functionality for International Bank Account Numbers (IBAN) according to ISO 13616 standard. This module ensures accuracy of bank account numbers when processing SEPA payments and international transfers.

IBAN is an international standard widely used in Europe and many other countries, helping to reduce errors in cross-border banking transactions and speed up payment processing.

IBAN Validation
SEPA Payments
International Transfers
Format Checking
Bank Verification
ISO 13616
Automation
Error Reduction

Basic Terminology

IBAN Terminology

TermVietnameseDescription
IBANSố tài khoản ngân hàng quốc tếInternational Bank Account Number per ISO 13616
SEPAKhu vực thanh toán EuroSingle Euro Payments Area
BIC/SWIFTMã ngân hàngBank Identifier Code
Check DigitsMã kiểm traTwo digits for IBAN validity verification
Country CodeMã quốc giaISO 3166-1 alpha-2 country code
BBANSố tài khoản cơ bảnBasic Bank Account Number per national rules
ValidationXác thựcVerification of IBAN structure validity
Mod-97Modulo 97IBAN check algorithm per ISO 7064

IBAN Overview

IBAN is an international bank account numbering system designed to simplify and standardize cross-border payment transactions. A valid IBAN includes:

Steps

  • 1. Country code (2 characters): E.g., DE, FR, GB, NL

  • 2. Check digits (2 digits): Calculated using Mod-97 algorithm

  • 3. Bank code: Bank identifier within the country

  • 4. Account number: Customer account number at the bank

  • 5. Length: From 15 to 34 characters depending on country


Key Features

The Base IBAN module provides IBAN validation and management features:

Steps

  • 1. Validate IBAN structure per ISO 13616 standard

  • 2. Check digits verification using Mod-97 algorithm

  • 3. Verify IBAN length per country

  • 4. Automatic formatting with spaces (every 4 characters)

  • 5. Integration with partner and bank account management

  • 6. Warning when entering invalid IBAN

  • 7. Support for all IBAN-using countries

  • 8. Automatic conversion of lowercase to uppercase


Configure IBAN for Partners

To add IBAN for partner bank accounts:

Access: Contacts → Contacts → Select partner

Steps

  • 1. Open "Accounting" or "Bank" tab

  • 2. Click "Add" in Bank Accounts section

  • 3. Enter IBAN (e.g., DE89370400440532013000)

  • 4. System automatically validates IBAN format

  • 5. Enter BIC/SWIFT code if needed

  • 6. Select bank from list or create new

  • 7. Save bank account information


Automatic IBAN Validation

The module automatically performs validation steps when entering IBAN:

Steps

  • 1. Length check: Ensure correct length per country

  • 2. Country code check: Verify ISO 3166-1 alpha-2 code

  • 3. Character check: Accept only letters and numbers

  • 4. Mod-97 calculation: Verify check digits

  • 5. Display formatting: Automatically add spaces

  • 6. Error warning: Display message if IBAN is invalid


Integration with SEPA Payments

IBAN is mandatory for SEPA payment transactions:

Steps

  • 1. SEPA Credit Transfer (SCT): SEPA transfers

  • 2. SEPA Direct Debit (SDD): SEPA direct debits

  • 3. SEPA Instant Credit Transfer: Instant transfers

  • 4. Export XML files per ISO 20022 (pain.001, pain.008)

  • 5. Automatically fill IBAN in payment orders

  • 6. Check IBAN before exporting bank files


Use Cases

The Base IBAN module is useful in scenarios:

Steps

  • 1. Payments to international suppliers in Europe

  • 2. Receiving payments from European customers

  • 3. Salary transfers to employees with IBAN accounts

  • 4. Transactions between subsidiaries in different countries

  • 5. Export payment data to banking software

  • 6. Integration with international payment gateways

  • 7. Compliance with European payment regulations


Configure Company Bank Accounts

Set up IBAN for company bank accounts:

Access: Settings → Users & Companies → Companies

Steps

  • 1. Select company to configure

  • 2. Open "Bank Accounts" tab

  • 3. Add new bank account

  • 4. Enter company IBAN

  • 5. Enter BIC/SWIFT and bank information

  • 6. Mark as default account if needed

  • 7. Use in outgoing payments and incoming receipts


IBAN Format by Country

IBAN Format Examples

CountryCodeLengthExample
GermanyDE22DE89 3704 0044 0532 0130 00
FranceFR27FR14 2004 1010 0505 0001 3M02 606
United KingdomGB22GB29 NWBK 6016 1331 9268 19
NetherlandsNL18NL91 ABNA 0417 1643 00
SpainES24ES91 2100 0418 4502 0005 1332
ItalyIT27IT60 X054 2811 1010 0000 0123 456
BelgiumBE16BE68 5390 0754 7034
SwitzerlandCH21CH93 0076 2011 6238 5295 7

Validation Error Handling

Common errors when entering IBAN and solutions:

Steps

  • 1. Incorrect length: Recheck character count per country

  • 2. Wrong check digits: Re-enter IBAN from official source

  • 3. Invalid country code: Use ISO 3166-1 alpha-2 code

  • 4. Special characters: Use only letters and numbers

  • 5. Extra spaces: System automatically removes them

  • 6. Lowercase letters: System automatically converts to uppercase


Integration with Accounting Module

IBAN is used in accounting functions:

Steps

  • 1. Vendor invoice payment: Automatically fetch IBAN from partner

  • 2. Bank reconciliation: Match transactions by IBAN

  • 3. Export payment files: Generate SEPA XML with IBAN

  • 4. Receive payments: Identify customer via IBAN

  • 5. Payment reports: Display IBAN in reports

  • 6. Transaction history: Store IBAN for each transaction


Real-world Scenario

Example 1: Vietnamese company pays German supplier

Steps

  • 1. Create purchase invoice from German supplier

  • 2. Enter supplier IBAN: DE89370400440532013000

  • 3. System validates IBAN automatically

  • 4. Create payment order from Accounting module

  • 5. Export SEPA XML file or use information for transfer

  • 6. Bank processes international payment based on IBAN


Real-world Scenario

Example 2: Multi-national company manages bank accounts

Steps

  • 1. Company has branches in Germany, France, and Netherlands

  • 2. Each branch has separate IBAN for local bank account

  • 3. Configure IBAN for each company in multi-company system

  • 4. Payments automatically use correct IBAN per company

  • 5. Separate bank reconciliation for each IBAN

  • 6. Consolidated financial reports by IBAN account


Best Practices

Steps

  • 1. Always validate IBAN before saving to system

  • 2. Request customers and suppliers provide accurate IBAN

  • 3. Store BIC/SWIFT along with IBAN for international payments

  • 4. Periodically check validity of IBANs in system

  • 5. Use IBAN instead of local account numbers when possible

  • 6. Train staff on IBAN structure and importance

  • 7. Backup IBAN data before migration or updates

  • 8. Comply with GDPR when storing banking information


Benefits of Using IBAN

Steps

  • 1. Reduce errors in international transactions

  • 2. Speed up cross-border payment processing

  • 3. Lower transaction costs with SEPA payments

  • 4. Automate payment and reconciliation processes

  • 5. Comply with European payment regulations

  • 6. Easy integration with banking systems

  • 7. Standardize bank account data

  • 8. Support international business expansion


Technical Requirements

The Base IBAN module requires:

Steps

  • 1. Odoo Base module (installed by default)

  • 2. Python library: stdnum (for IBAN validation)

  • 3. No special configuration required

  • 4. Automatically activated when installed

  • 5. Compatible with all Odoo versions from 13 onwards


Access Rights

To use IBAN functionality, users need:

Steps

  • 1. Partner view/edit rights: To manage customer/supplier IBAN

  • 2. Company management rights: To configure company IBAN

  • 3. Accounting rights: To use IBAN in payments

  • 4. No special rights required for IBAN validation