Brian Dunning's FileMaker Custom Functions

AnnuallySerial ( AEfield ; digit )

Autoenter a serial number that increments annually

  Average rating: 4.3 (32 votes) Log in to vote

Daniele Raybaudi   Daniele Raybaudi - Show more from this author

Share on Facebook Share on Twitter

  Sample input:
AnnuallySerial ( id ; 2 )
AnnuallySerial ( id ; 4 )
  Sample output:

  Function definition: (Copy & paste into FileMaker's Edit Custom Function window)

This custom function can be used for:

1) Autoenter a serial number that increments annually
2) the format of the serial number is essentially: YYYY##
3) the serial number may have how many digits (#) you choosed

The Auto-Enter field must be setted to always evaluate;
the custom function isn't recursive, so you can use it as a simple calc;
the custom function will work only with FMP8 and above.



ravi   ravi, Lund, Sweden
Aug 24, 2013
I am trying to get a unique serial ID which resets every year in the format (201301 - 201302... 201401 so on). But when I tried this code above I am getting the ID as 201301, 2013001, 20130001 and so on) can you help me here to get this right.
Thank you
Ryan Thorpe   Ryan Thorpe, Vanguard Research & Title Services, Inc.
Jan 17, 2014
If you're using server, changing the year string to:

year = Year ( Get ( CurrentHostTimeStamp ));

will help prevent individual machines from providing an incorrect year.
Mack Chan   Mack Chan, Malaysia
Mar 2, 2014
Let ([
todayyear = Year (Get (CurrentDate));
todaymonth = Month (Get (CurrentDate));
lastID = GetNthRecord ( AEfield ; Get (TotalRecordCount ) -1);
lastMth = Left (lastID ; 2) ];

Right ( "0" & todayyear;2) & Right ( "0" & todaymonth; 2 )
& Case(
todaymonth ≠ lastMth or Right ( lastId ; digit ) = 10^digit -1; Right ( 10^digit ; digit-1 ) & "1";
SerialIncrement ( Right ( lastID ; digit ) ; 1 )

Why my answer is like that after I create the script.When I trigger new record, the answer like below.

Daniele Raybaudi   Daniele Raybaudi, ACI
Mar 3, 2014
Maybe that you haven't unchecked the box: "do not evaluate if..." in the options of your auto-enter field.

Log in to post comments.


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

Support this website.

This library has been a free commmunity resource for FileMaker users and developers for 15 years. It receives no funding and has no advertisements. If it has helped you out, I'd really appreciate it if you could contribute whatever you think it's worth:

Under construction. Email me your wish list for improvements.