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.
Basic Terminology
IBAN Terminology
| Term | Vietnamese | Description |
|---|---|---|
| IBAN | Số tài khoản ngân hàng quốc tế | International Bank Account Number per ISO 13616 |
| SEPA | Khu vực thanh toán Euro | Single Euro Payments Area |
| BIC/SWIFT | Mã ngân hàng | Bank Identifier Code |
| Check Digits | Mã kiểm tra | Two digits for IBAN validity verification |
| Country Code | Mã quốc gia | ISO 3166-1 alpha-2 country code |
| BBAN | Số tài khoản cơ bản | Basic Bank Account Number per national rules |
| Validation | Xác thực | Verification of IBAN structure validity |
| Mod-97 | Modulo 97 | IBAN 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
| Country | Code | Length | Example |
|---|---|---|---|
| Germany | DE | 22 | DE89 3704 0044 0532 0130 00 |
| France | FR | 27 | FR14 2004 1010 0505 0001 3M02 606 |
| United Kingdom | GB | 22 | GB29 NWBK 6016 1331 9268 19 |
| Netherlands | NL | 18 | NL91 ABNA 0417 1643 00 |
| Spain | ES | 24 | ES91 2100 0418 4502 0005 1332 |
| Italy | IT | 27 | IT60 X054 2811 1010 0000 0123 456 |
| Belgium | BE | 16 | BE68 5390 0754 7034 |
| Switzerland | CH | 21 | CH93 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