I would not use a script trigger as a change of date in your system clock can't trip any of them. Use an unstored calculation that references your Invoice dates
Let ( [ D = Last ( Invoices::ExpirationDate ) ;
T = Get ( CurrentDate ) ];
Case ( IsEmpty ( D ) ; "Visitor" ;
D > T ; "Current Member" )
) // case
) // Let
All of these functions can be looked up in Help if unfamiliar. The inequality used here will not copy/paste correctly if you try copy/pasting this expression into your database.
Thank You So Much! I learned a huge amount about Let functions getting this to work with my solution!