If your company/client pays any company in another country, they will likely use IBAN (International Bank Account Number) when sending money to those accounts.
To save your Finance team a lot of hassle in checking and validating these, you can add this component to your forms and Apps to instantly validate and make sure that the account number given to them will workfirst time, every time.
After opening and saving the .msapp into your environment, Import the component into your App from that App you saved
Insert the component control into your App:
Pass in the input values (you can use either one or you can use both!) :
Then all you need is for your user to Type in IBAN and SWIFT values:
You can also responsively size this as needed (based on Height):
If you choose not to enter an IBAN Value or a SWIFT/BIC value, then the validator for that Input will not show, ie if you connected it only to the IBAN value, then only that IBAN validator row of the component will show.
So how does it do this? (in case you are interested)
- TheTick/Cross boxis dependent on the value's numericModulus by 97.
The formula for this is to move first 4 characters to end of string, then convert all characters to numbers, using A=10, B=11 ... Z=35. Modulus the numeric value by 97. Since PowerApps cannot handle integers of this length, we split the first 9 out, calculate the Mod97 of those, then add it to the beginning of the string, and then next 9 until we have 9 or less characters left. The final modulus should be equal to 1 if it is a valid IBAN number (this is regardless of country, purely numerical andwill work for all future IBAN countries)
- TheCountry checkeris based on aRegexcheck against the ISO 13616-1:2007 standard for that Country
- TheSWIFT/BIC checkeris also aRegexcheck, although it is much simpler
IBAN- an IBAN (International Bank Account Number)
SWIFTBIC- A SWIFT/BIC standardised branch code
- Text Value - this is the 'financial' format of IBAN, removed of special characters, whereas the 'web' format may contain spaces. This can be used as an exported value if you wish to provide cleanup function for IBANs
- Text Value - Local Bank account number, derived by removing the first four characters
- Text Value - The 'financial' format of SWIFTBIC, removed of special characters. 'Web' format may contain spaces.
- boolean value - true/false determined by applying the Modulus97 formula
- boolean value - true/false determined by Regex check of trimmed string
- Text Value - This is determined by using the Regex check for that country as determined by ISO 13616-1:2007
Number of Countries validated: 103 (and an additional 20 codes fall under FR, GB, FI, PT, ES countries)
I hope you find this useful, I have checked it manually against multiple IBAN codes from each country to ensure that they all validate correctly.
I know there is another IBAN component out there however it does not successfully validate all IBAN values as its formula for doing so is not based on the IBAN ISO 13616-1:2007