Software Venture Consulting

FileMaker Pro downloads & Resources
FileMaker Custom Functions
FileMaker Web Viewer Examples
FileMaker Pro & Lasso Consulting
FileMaker Books
FileMaker Articles
FileMaker Error Reference

Free Web Tools
Free FileMaker Tools

Personal Pages

Shopping Cart
Shopping Cart


Free Newsletter


Privacy Policy

FileMaker is a registered trademark of FileMaker, Inc. in the U.S. and other countries.


 FileMaker Pro Custom Functions

List  |  Show Random  |  Upload  |  Add This to Your Site


Rate this function:  

  Average rating: 4.2  (35 votes)
  Discuss this Custom Function

Michael Bijnens, freelance developer

check if given iban number is correct ( EU version )

Sample Input:
CheckIBAN ( BE55000311190144 )
Sample Output:

 Then copy & paste into FileMaker Advanced's Edit Custom Function window.


Michael Bijnens - Junior FileMaker Analyst / Programmer

You can use this custom function to check if the given IBAN number is correct.
Create a calculated field ( e.g. flag_correct_IBAN ) in the same table as your IBAN field. (output of the calculation-field has to be TEXT ).


1) given IBAN : BE55000311190144
2) first 4 to the end : "000311190144" & "BE55"
3) convert each letter ( B & E ) to digits. ( A = 10 ; B = 11 ; ... Z = 35 )
4) converted : 11 & 14
5) stich it : "000311190144" & "11" & "14" & "55" = 000311190144111455
6) Mod ( IBAN ; 97 )
7) if result = 1 than its a correct IBAN number

Note: these functions are not guaranteed or supported by Please contact the individual developer with any questions or problems.

This is my Custom Function and I want to edit it


5 most recent comments | Show all 7 comments

Thanks for your response. You can rename your function to CheckIBAN_BE(IBAN) and nobody will expect another result.

If you touch it: Would be fine if also length for the chosen country is checked. So this function could be used for input-testing.

Ideal would be an Error-code as return value, e.g 1=ok, 2=length-error, 4=special Charakter in IBAN etc. We already had this: a IBAN was copied from another application into a FileMaker field (WIN), nothing to see, nothing worked, hard to find out.

Greetings Wolfgang

wwdto, munich
February 17, 2014 1:32am

Changed it to an EU version.

check_length ( check if the length of IBAN number is correct with the given country code ).

1 = correct iban ;
missing country code = if country code is missing it won't be able to check length ) ;
incorrect iban = the length is correct but the number is incorrect ;
length error = the length of IBAN is incorrect.

Grtz Michael

Michael, Belgium
February 17, 2014 2:37am

Hi Michael,

your solution does not seem to handle dutch bans correctly, probably because those have 2 sets of letterblocks (e.g. NL75INGB0005151989 ).

Perhaps something you could look into?

With Regards,

Arjen van der Ree
Amsterdam, the Neighbors

Arjen van der Ree, Amsterdam
April 09, 2014 3:07am

Thank you very much for the IBAN Checker
Have a great week

claude pirlot, Brussels
November 01, 2015 10:07am

The functions says IBAN INCORRECT when it actually is correct:
IT06 A081 4034 5200 0000 9060 829

Reason: the function assumes there are but two letters in any IBAN (Position 1 and Position 2). Any IBAN with more than these two letters are wrongly valuated as false.

You have to convert every letter into a number. There's an example in

Christoph Kaufmann, Zollikofen, Switzerland
April 13, 2016 1:47am

Make a comment about this Custom Function (please try to keep it brief & to the point). Anyone can post:

Your Name:
characters left. If you paste in more than 1500 characters, it will be truncated. Discuss the function - advertisements and other useless posts will be deleted.
Answer 0 + 1 =
Search for Custom Functions:

Custom Functions Widget
Download the Custom Function Dashboard Widget for OS X
Keep all the latest Custom Functions right at your fingertips!

Newest Custom Functions:

1. HexUUIDToNum_cf (_uuid)
  (Sat, Jun 16, 1:55pm)
2. httpResponseCode ( responseHeaders )
  (Tue, Jun 12, 10:40pm)
3. FindDuplicateCharacters ( string )
  (Fri, Jun 08, 5:01pm)
4. FieldRepetitionLast ( field ; maxRepetition )
  (Wed, Jun 06, 6:05pm)
5. CountModifiedRecords ( NameTimestampField ; StartTimestamp ; EndTimestamp )
  (Mon, May 28, 8:23am)
6. JSONArrayLength ( JSONArrayStr )
  (Fri, May 25, 7:46am)
7. interpolation (y1; y2; y3; x1; x2; x3; x1y1; x2y1; x1y2; x2y2; rnd)
  (Sat, May 19, 3:55am)
8. @JSONFormatElements ( json )
  (Tue, May 15, 3:31am)

RSS Feed of Custom Functions