Công Cụ Tạo và Kiểm Tra IBAN - Dữ Liệu Ngân Hàng Thử Nghiệm
Tạo IBAN hợp lệ để thử nghiệm hoặc kiểm tra các IBAN hiện có ngay lập tức. Hỗ trợ 10 quốc gia Châu Âu với xác thực MOD 97. Hoàn hảo cho việc kiểm tra và phát triển phần mềm tài chính.
Trình Tạo & Kiểm Tra IBAN
Tài liệu hướng dẫn
Công cụ tạo và kiểm tra IBAN
IBAN (Số tài khoản ngân hàng quốc tế) là mã tiêu chuẩn dùng để nhận diện một tài khoản ngân hàng trong các khoản thanh toán quốc tế. Công cụ này tạo các IBAN thử nghiệm ngẫu nhiên, đúng định dạng cho mười quốc gia châu Âu, đồng thời kiểm tra một IBAN hiện có có hợp lệ hay không bằng công thức chữ số kiểm tra MOD 97 mà các ngân hàng sử dụng.
IBAN là gì?
Trước khi IBAN ra đời, mỗi quốc gia sử dụng một định dạng số tài khoản ngân hàng riêng. Các khoản thanh toán xuyên biên giới thường thất bại vì một số hợp lệ ở quốc gia này lại không có ý nghĩa ở quốc gia khác. Tổ chức Tiêu chuẩn hóa Quốc tế (ISO) đã tạo ra tiêu chuẩn IBAN, ISO 13.616, để khắc phục vấn đề này. Mỗi IBAN chứa mã quốc gia và hai chữ số kiểm tra, cho phép máy tính phát hiện hầu hết lỗi nhập liệu trước khi khoản thanh toán được gửi đi.
IBAN có ba phần:
- Mã quốc gia: hai chữ cái, chẳng hạn như
DEcho Đức hoặcGBcho Vương quốc Anh. - Chữ số kiểm tra: hai chữ số được tính bằng công thức MOD 97, được giải thích bên dưới.
- Số tài khoản ngân hàng cơ bản (BBAN): một khối dữ liệu riêng theo từng quốc gia, thường gồm mã ngân hàng, đôi khi có mã chi nhánh và số tài khoản.
IBAN có thể chứa tối đa 34 ký tự, nhưng hầu hết IBAN châu Âu có độ dài từ 16 đến 28 ký tự. Độ dài và cấu trúc bên trong hoàn toàn phụ thuộc vào quốc gia. IBAN của Đức có 22 ký tự; IBAN của Pháp có 27 ký tự.
Cấu trúc IBAN theo quốc gia
| Quốc gia | Độ dài | Cấu trúc | Ví dụ |
|---|---|---|---|
| Đức (DE) | 22 | DE2!n8!n10!n | DE89370400440532013000 |
| Vương quốc Anh (GB) | 22 | GB2!n4!a6!n8!n | GB29NWBK60161331926819 |
| Pháp (FR) | 27 | FR2!n5!n5!n11!c2!n | FR1420041010050500013M02606 |
| Tây Ban Nha (ES) | 24 | ES2!n4!n4!n1!n1!n10!n | ES9121000418450200051332 |
| Ý (IT) | 27 | IT2!n1!a5!n5!n12!c | IT60X0542811101000000123456 |
| Hà Lan (NL) | 18 | NL2!n4!a10!n | NL91ABNA0417164300 |
| Thụy Sĩ (CH) | 21 | CH2!n5!n12!c | CH9300762011623852957 |
| Áo (AT) | 20 | AT2!n5!n11!n | AT611904300234573201 |
| Bỉ (BE) | 16 | BE2!n3!n7!n2!n | BE68539007547034 |
| Ba Lan (PL) | 28 | PL2!n8!n16!n | PL61109010140000071219812874 |
Trong cột cấu trúc, n có nghĩa là một chữ số, a có nghĩa là một chữ cái, còn c có nghĩa là một chữ cái hoặc một chữ số. Số đứng trước mỗi chữ cái cho biết phần đó sử dụng bao nhiêu ký tự. Ví dụ, 4!a6!n8!n trong định dạng của Vương quốc Anh có nghĩa là bốn chữ cái, tiếp theo là sáu chữ số, rồi tám chữ số.
Cách tính chữ số kiểm tra IBAN (công thức MOD 97)
Chữ số kiểm tra được tính bằng thuật toán trong ISO 7064, được gọi là MOD 97-10. Để tạo chữ số kiểm tra cho một IBAN mới:
- Viết BBAN, tiếp theo là mã quốc gia, rồi đến giá trị giữ chỗ
00. - Thay mỗi chữ cái bằng một số: A = 10, B = 11 và tiếp tục như vậy đến Z = 35. Các chữ số giữ nguyên.
- Đọc toàn bộ kết quả như một số nguyên dài duy nhất và tìm số dư khi chia cho 97.
- Lấy 98 trừ đi số dư đó. Kết quả là hai chữ số kiểm tra. Nếu kết quả chỉ có một chữ số, thêm một số 0 ở đầu.
Công thức là: check digits = 98 − (N mod 97), trong đó N là chuỗi số được tạo ở các bước 1 và 2.
Ví dụ: tính chữ số kiểm tra cho IBAN của Đức
Lấy mã ngân hàng Đức 37040044 và số tài khoản 0532013000.
- BBAN + quốc gia +
00:370400440532013000+DE+00=370400440532013000DE00 - Thay chữ cái: D = 13, E = 14, nên chuỗi trở thành
370400440532013000131400. - Số đó khi chia cho 97 có số dư là 9.
- 98 − 9 = 89.
Chữ số kiểm tra là 89, vì vậy IBAN hoàn chỉnh là DE89370400440532013000.
Cách kiểm tra tính hợp lệ của IBAN
Để kiểm tra một IBAN hiện có có hợp lệ hay không, quy trình được thực hiện theo chiều ngược lại:
- Xóa mọi khoảng trắng và chuyển bốn ký tự đầu tiên (mã quốc gia và chữ số kiểm tra) xuống cuối chuỗi.
- Thay mỗi chữ cái bằng một số theo quy tắc từ A = 10 đến Z = 35.
- Tìm số dư khi số thu được chia cho 97.
- IBAN chỉ hợp lệ khi số dư bằng 1.
Quy tắc này phát hiện hầu hết các lỗi nhập dữ liệu phổ biến, bao gồm một chữ số sai hoặc hai chữ số bị đổi chỗ, vì việc thay đổi bất kỳ ký tự nào gần như luôn làm thay đổi số dư.
Trước khi thực hiện kiểm tra MOD 97, công cụ này cũng xác minh rằng mã quốc gia được nhận diện, IBAN có đúng độ dài yêu cầu của quốc gia đó hay không, và chữ cái cùng chữ số chỉ xuất hiện ở những vị trí mà định dạng của quốc gia cho phép. Mỗi lần kiểm tra tạo ra thông báo lỗi riêng, nên lỗi sẽ chỉ ra vấn đề cụ thể thay vì trả về kết quả chung chung là “không hợp lệ”.
Sử dụng công cụ
Thẻ Trình tạo: chọn một quốc gia từ danh sách thả xuống và nhấp vào “Tạo IBAN”. Công cụ tạo một BBAN ngẫu nhiên đúng định dạng của quốc gia đó, tính các chữ số kiểm tra tương ứng và hiển thị kết quả cùng phần phân tích các thành phần. Nút “Sao chép vào bộ nhớ tạm” sẽ sao chép IBAN hoàn chỉnh.
Thẻ Kiểm tra: nhập hoặc dán một IBAN, có hoặc không có khoảng trắng. Công cụ kiểm tra IBAN ngay khi bạn nhập và cho biết IBAN đó có hợp lệ hay không. Với IBAN hợp lệ, công cụ hiển thị mã quốc gia, chữ số kiểm tra, mã ngân hàng, mã chi nhánh (nếu định dạng của quốc gia có mã này) và số tài khoản.
Vì mã quốc gia nằm ở hai ký tự đầu tiên, trình kiểm tra không cần người dùng chọn quốc gia thủ công; công cụ đọc mã và tự động áp dụng các quy tắc tương ứng.
Mọi thao tác đều được thực hiện trong trình duyệt. Không có IBAN nào được gửi đến máy chủ hoặc lưu ở bất kỳ đâu.
Vì sao công cụ này hữu ích cho việc kiểm thử
Phần mềm xử lý thanh toán cần dữ liệu thử nghiệm hoạt động như một IBAN thật nhưng không gắn với tài khoản thực. Một chuỗi chữ số ngẫu nhiên thường không vượt qua được phép kiểm tra MOD 97, nên các bài kiểm thử dựa trên chuỗi đó có thể thất bại vì lý do sai: dữ liệu thử không hợp lệ chứ không phải lỗi trong mã đang được kiểm tra. Việc tạo một IBAN đúng định dạng tránh được vấn đề này, vì IBAN đó vượt qua cùng phép kiểm tra mà hệ thống thực tế sẽ thực hiện, nhưng không liên quan đến bất kỳ tài khoản ngân hàng thật nào.
Các câu hỏi thường gặp
IBAN được dùng để làm gì? IBAN nhận diện một tài khoản ngân hàng cụ thể cho các giao dịch chuyển tiền quốc tế và trong nước, bằng một định dạng mà máy tính có thể kiểm tra lỗi trước khi khoản thanh toán được gửi đi.
Các IBAN mà công cụ này tạo ra có liên kết với tài khoản ngân hàng thật không? Không. Đây là những số ngẫu nhiên tuân theo đúng định dạng và vượt qua phép kiểm tra MOD 97, nhưng không tương ứng với bất kỳ tài khoản thật nào. Chúng chỉ nên được dùng cho mục đích kiểm thử, phát triển hoặc giáo dục, không bao giờ dùng cho các giao dịch thực tế.
Vì sao IBAN có độ dài khác nhau ở các quốc gia khác nhau? Mỗi quốc gia đã thiết kế định dạng Số tài khoản ngân hàng cơ bản riêng trước khi tiêu chuẩn IBAN kết hợp chúng dưới một mã quốc gia và hệ thống chữ số kiểm tra thống nhất. ISO 13.616 quy định độ dài cho từng quốc gia nhưng không buộc mọi quốc gia sử dụng cùng một cấu trúc bên trong.
Khoảng trắng trong IBAN có ảnh hưởng không?
Không. IBAN thường được hiển thị thành các nhóm bốn ký tự để dễ đọc, chẳng hạn như DE89 3704 0044 0532 0130 00, nhưng khoảng trắng không ảnh hưởng đến việc kiểm tra. DE89370400440532013000 là cùng IBAN đó sau khi bỏ khoảng trắng.
Công cụ này hỗ trợ những quốc gia nào? Mười quốc gia châu Âu: Đức, Vương quốc Anh, Pháp, Tây Ban Nha, Ý, Hà Lan, Thụy Sĩ, Áo, Bỉ và Ba Lan.
IBAN khác mã SWIFT/BIC như thế nào? Mã SWIFT/BIC nhận diện một ngân hàng hoặc chi nhánh ngân hàng. IBAN nhận diện một tài khoản cụ thể tại ngân hàng đó. Các giao dịch quốc tế thường cần cả hai: mã SWIFT/BIC định tuyến khoản thanh toán đến đúng ngân hàng, còn IBAN định tuyến khoản thanh toán đến đúng tài khoản.
Tài liệu tham khảo
- ISO 13616-1:2007 — đặc tả cấu trúc IBAN.
- Sổ đăng ký IBAN của SWIFT — các định dạng IBAN chính thức theo từng quốc gia.
- ISO 7064:2003 — các hệ thống ký tự kiểm tra, bao gồm MOD 97-10.