เครื่องมือสร้างและตรวจสอบ IBAN - ข้อมูลการทดสอบทางการเงิน
สร้าง IBAN ที่ถูกต้องสำหรับการทดสอบหรือตรวจสอบ IBAN ที่มีอยู่ได้ทันที รองรับ 10 ประเทศในยุโรปด้วยการตรวจสอบ MOD 97 เหมาะสำหรับการทดสอบและพัฒนาซอฟต์แวร์ทางการเงิน
เครื่องมือสร้างและตรวจสอบ IBAN
เอกสารประกอบการใช้งาน
เครื่องมือสร้างและตรวจสอบ IBAN
IBAN (หมายเลขบัญชีธนาคารระหว่างประเทศ) คือรหัสมาตรฐานที่ใช้ระบุบัญชีธนาคารสำหรับการชำระเงินระหว่างประเทศ เครื่องมือนี้สร้าง IBAN สำหรับทดสอบแบบสุ่มที่มีรูปแบบถูกต้องสำหรับสิบประเทศในยุโรป และตรวจสอบว่า IBAN ที่มีอยู่ถูกต้องหรือไม่โดยใช้สูตรตรวจสอบ MOD 97 ที่ธนาคารใช้
IBAN คืออะไร?
ก่อนมี IBAN แต่ละประเทศใช้รูปแบบหมายเลขบัญชีธนาคารของตนเอง การชำระเงินข้ามพรมแดนมักล้มเหลว เพราะหมายเลขที่ถูกต้องในประเทศหนึ่งอาจไม่มีความหมายในอีกประเทศหนึ่ง องค์การระหว่างประเทศว่าด้วยการมาตรฐาน (ISO) จึงสร้างมาตรฐาน IBAN คือ ISO 13,616 เพื่อแก้ปัญหานี้ IBAN ทุกหมายเลขมีรหัสประเทศและเลขตรวจสอบสองหลัก ซึ่งช่วยให้คอมพิวเตอร์ตรวจจับข้อผิดพลาดจากการพิมพ์ได้เกือบทั้งหมดก่อนส่งการชำระเงิน
IBAN มีสามส่วน ได้แก่
- รหัสประเทศ: ตัวอักษรสองตัว เช่น
DEสำหรับเยอรมนี หรือGBสำหรับสหราชอาณาจักร - เลขตรวจสอบ: ตัวเลขสองหลักที่คำนวณด้วยสูตร MOD 97 ซึ่งอธิบายไว้ด้านล่าง
- หมายเลขบัญชีธนาคารพื้นฐาน (BBAN): ส่วนที่กำหนดเฉพาะสำหรับแต่ละประเทศ โดยปกติมีรหัสธนาคาร บางครั้งมีรหัสสาขา และมีหมายเลขบัญชี
IBAN มีความยาวได้สูงสุด 34 อักขระ แต่ IBAN ของประเทศส่วนใหญ่ในยุโรปมีความยาวตั้งแต่ 16 ถึง 28 อักขระ ความยาวและโครงสร้างภายในขึ้นอยู่กับประเทศนั้นทั้งหมด IBAN ของเยอรมนีมี 22 อักขระ ส่วนของฝรั่งเศสมี 27 อักขระ
โครงสร้าง IBAN แยกตามประเทศ
| ประเทศ | ความยาว | โครงสร้าง | ตัวอย่าง |
|---|---|---|---|
| เยอรมนี (DE) | 22 | DE2!n8!n10!n | DE89370400440532013000 |
| สหราชอาณาจักร (GB) | 22 | GB2!n4!a6!n8!n | GB29NWBK60161331926819 |
| ฝรั่งเศส (FR) | 27 | FR2!n5!n5!n11!c2!n | FR1420041010050500013M02606 |
| สเปน (ES) | 24 | ES2!n4!n4!n1!n1!n10!n | ES9121000418450200051332 |
| อิตาลี (IT) | 27 | IT2!n1!a5!n5!n12!c | IT60X0542811101000000123456 |
| เนเธอร์แลนด์ (NL) | 18 | NL2!n4!a10!n | NL91ABNA0417164300 |
| สวิตเซอร์แลนด์ (CH) | 21 | CH2!n5!n12!c | CH9300762011623852957 |
| ออสเตรีย (AT) | 20 | AT2!n5!n11!n | AT611904300234573201 |
| เบลเยียม (BE) | 16 | BE2!n3!n7!n2!n | BE68539007547034 |
| โปแลนด์ (PL) | 28 | PL2!n8!n16!n | PL61109010140000071219812874 |
ในคอลัมน์โครงสร้าง n หมายถึงตัวเลข a หมายถึงตัวอักษร และ c หมายถึงตัวอักษรหรือตัวเลข ตัวเลขหน้าตัวอักษรแต่ละตัวระบุจำนวนอักขระที่ส่วนนั้นใช้ ตัวอย่างเช่น 4!a6!n8!n ในรูปแบบของสหราชอาณาจักรหมายถึงตัวอักษรสี่ตัว ตามด้วยตัวเลขหกหลัก แล้วตามด้วยตัวเลขแปดหลัก
วิธีคำนวณเลขตรวจสอบ IBAN (สูตร MOD 97)
เลขตรวจสอบคำนวณด้วยอัลกอริทึมจาก ISO 7064 ซึ่งเรียกว่า MOD 97-10 หากต้องการสร้างเลขตรวจสอบสำหรับ IBAN ใหม่ ให้ทำดังนี้
- เขียน BBAN ตามด้วยรหัสประเทศ และตามด้วยตัวยึดตำแหน่ง
00 - แทนที่ตัวอักษรแต่ละตัวด้วยตัวเลข: A = 10, B = 11 และเพิ่มขึ้นตามลำดับจนถึง Z = 35 ส่วนตัวเลขคงเดิม
- อ่านผลลัพธ์ทั้งหมดเป็นตัวเลขยาวหนึ่งชุด แล้วหาเศษที่เหลือเมื่อหารด้วย 97
- นำเศษนั้นไปลบออกจาก 98 ผลลัพธ์คือเลขตรวจสอบสองหลัก หากผลลัพธ์เป็นเลขหลักเดียว ให้เติมศูนย์นำหน้า
สูตรคือ check digits = 98 − (N mod 97) โดย N คือสตริงตัวเลขที่สร้างขึ้นในขั้นตอน 1 และ 2
ตัวอย่าง: การคำนวณเลขตรวจสอบสำหรับ IBAN ของเยอรมนี
ใช้รหัสธนาคารเยอรมัน 37040044 และหมายเลขบัญชี 0532013000
- BBAN + ประเทศ +
00:370400440532013000+DE+00=370400440532013000DE00 - แทนที่ตัวอักษร: D = 13, E = 14 ดังนั้นสตริงจะกลายเป็น
370400440532013000131400 - เมื่อนำตัวเลขดังกล่าวหารด้วย 97 จะเหลือเศษ 9
- 98 − 9 = 89
เลขตรวจสอบคือ 89 ดังนั้น IBAN ที่เสร็จสมบูรณ์คือ DE89370400440532013000
วิธีตรวจสอบ IBAN
หากต้องการตรวจสอบว่า IBAN ที่มีอยู่ถูกต้องหรือไม่ กระบวนการจะทำในทิศทางตรงกันข้าม
- ลบช่องว่างทั้งหมด แล้วเลื่อนอักขระสี่ตัวแรก (รหัสประเทศและเลขตรวจสอบ) ไปไว้ท้ายสตริง
- แทนที่ตัวอักษรแต่ละตัวด้วยตัวเลขโดยใช้กฎเดียวกัน คือ A = 10 ถึง Z = 35
- หาเศษที่เหลือเมื่อหารตัวเลขที่ได้ด้วย 97
- IBAN จะถูกต้องก็ต่อเมื่อเศษที่เหลือเท่ากับ 1
กฎเดียวนี้ตรวจจับข้อผิดพลาดทั่วไปจากการป้อนข้อมูลได้เกือบทั้งหมด รวมถึงตัวเลขผิดหนึ่งหลักหรือตัวเลขสองหลักสลับตำแหน่งกัน เพราะการเปลี่ยนอักขระใด ๆ มักทำให้เศษที่เหลือเปลี่ยนไป
ก่อนตรวจสอบด้วย MOD 97 เครื่องมือนี้ยังตรวจสอบด้วยว่ารหัสประเทศเป็นรหัสที่รู้จักหรือไม่ IBAN มีความยาวตรงตามที่ประเทศนั้นกำหนดหรือไม่ และตัวอักษรกับตัวเลขปรากฏเฉพาะในตำแหน่งที่รูปแบบของประเทศอนุญาตหรือไม่ การตรวจสอบแต่ละรายการจะแสดงข้อความแสดงข้อผิดพลาดของตนเอง จึงระบุปัญหาเฉพาะจุดได้แทนการแสดงผลทั่วไปว่า “ไม่ถูกต้อง”
การใช้เครื่องมือ
แท็บ Generator: เลือกประเทศจากเมนูแบบเลื่อนลง แล้วคลิก “Generate IBAN” เครื่องมือจะสร้าง BBAN แบบสุ่มตามรูปแบบที่ถูกต้องของประเทศนั้น คำนวณเลขตรวจสอบที่สอดคล้องกัน และแสดงผลพร้อมรายละเอียดของแต่ละส่วน ปุ่ม “Copy to clipboard” จะคัดลอก IBAN ที่เสร็จแล้ว
แท็บ Validator: พิมพ์หรือวาง IBAN โดยมีหรือไม่มีช่องว่างก็ได้ เครื่องมือจะตรวจสอบขณะพิมพ์และแสดงว่า IBAN ถูกต้องหรือไม่ สำหรับ IBAN ที่ถูกต้อง เครื่องมือจะแสดงรหัสประเทศ เลขตรวจสอบ รหัสธนาคาร รหัสสาขา (หากรูปแบบของประเทศนั้นมี) และหมายเลขบัญชี
เนื่องจากรหัสประเทศอยู่ในอักขระสองตัวแรก เครื่องมือตรวจสอบจึงไม่จำเป็นต้องให้เลือกประเทศด้วยตนเอง แต่จะอ่านรหัสและใช้กฎที่ตรงกันโดยอัตโนมัติ
ทุกอย่างทำงานในเบราว์เซอร์ ไม่มีการส่ง IBAN ไปยังเซิร์ฟเวอร์หรือจัดเก็บไว้ที่ใด
เหตุผลที่เครื่องมือนี้มีประโยชน์สำหรับการทดสอบ
ซอฟต์แวร์ที่จัดการการชำระเงินต้องใช้ข้อมูลทดสอบที่ทำงานเหมือน IBAN จริง แต่ไม่ผูกกับบัญชีจริง สตริงตัวเลขสุ่มมักไม่ผ่านการตรวจสอบ MOD 97 ดังนั้นการทดสอบที่สร้างจากข้อมูลดังกล่าวอาจล้มเหลวด้วยเหตุผลที่ไม่ถูกต้อง คือข้อมูลทดสอบไม่ดี ไม่ใช่ข้อผิดพลาดในโค้ดที่กำลังทดสอบ การสร้าง IBAN ที่มีรูปแบบถูกต้องช่วยหลีกเลี่ยงปัญหานี้ เพราะ IBAN ดังกล่าวผ่านการตรวจสอบแบบเดียวกับที่ระบบใช้งานจริงจะดำเนินการ โดยไม่มีความเชื่อมโยงกับบัญชีธนาคารจริงใด ๆ
คำถามที่พบบ่อย
IBAN ใช้ทำอะไร? ใช้ระบุบัญชีธนาคารเฉพาะบัญชีสำหรับการโอนเงินระหว่างประเทศและภายในประเทศ โดยใช้รูปแบบที่คอมพิวเตอร์ตรวจสอบข้อผิดพลาดได้ก่อนส่งการชำระเงิน
IBAN ที่เครื่องมือนี้สร้างเชื่อมโยงกับบัญชีธนาคารจริงหรือไม่? ไม่เชื่อมโยง ตัวเลขเหล่านี้เป็นตัวเลขสุ่มที่มีรูปแบบถูกต้องและผ่านการตรวจสอบ MOD 97 แต่ไม่ตรงกับบัญชีจริงใด ๆ ควรใช้เฉพาะสำหรับการทดสอบ การพัฒนา หรือการศึกษาเท่านั้น ไม่ควรใช้สำหรับการโอนเงินจริง
เหตุใด IBAN ของแต่ละประเทศจึงมีความยาวต่างกัน? แต่ละประเทศออกแบบรูปแบบหมายเลขบัญชีธนาคารพื้นฐานของตนเองก่อนที่มาตรฐาน IBAN จะรวมรูปแบบเหล่านั้นไว้ภายใต้รหัสประเทศและระบบเลขตรวจสอบเดียวกัน ISO 13,616 กำหนดความยาวสำหรับแต่ละประเทศ แต่ไม่ได้บังคับให้ทุกประเทศใช้โครงสร้างภายในแบบเดียวกัน
ช่องว่างใน IBAN มีผลหรือไม่?
ไม่มีผล โดยมักแสดง IBAN เป็นกลุ่มละสี่อักขระเพื่อให้อ่านง่าย เช่น DE89 3704 0044 0532 0130 00 แต่ช่องว่างไม่มีผลต่อการตรวจสอบ DE89370400440532013000 คือ IBAN เดียวกันเมื่อลบช่องว่างออก
เครื่องมือนี้รองรับประเทศใดบ้าง? สิบประเทศในยุโรป ได้แก่ เยอรมนี สหราชอาณาจักร ฝรั่งเศส สเปน อิตาลี เนเธอร์แลนด์ สวิตเซอร์แลนด์ ออสเตรีย เบลเยียม และโปแลนด์
IBAN แตกต่างจากรหัส SWIFT/BIC อย่างไร? รหัส SWIFT/BIC ใช้ระบุธนาคารหรือสาขาธนาคาร ส่วน IBAN ใช้ระบุบัญชีเฉพาะบัญชีหนึ่งที่ธนาคารนั้น การโอนเงินระหว่างประเทศมักต้องใช้ทั้งสองอย่าง รหัส SWIFT/BIC นำการชำระเงินไปยังธนาคารที่ถูกต้อง และ IBAN นำไปยังบัญชีที่ถูกต้อง
เอกสารอ้างอิง
- ISO 13616-1:2007 — ข้อกำหนดโครงสร้าง IBAN
- ทะเบียน IBAN ของ SWIFT — รูปแบบ IBAN อย่างเป็นทางการแยกตามประเทศ
- ISO 7064:2003 — ระบบอักขระตรวจสอบ รวมถึง MOD 97-10