Membership Expiry calcuation European date format and Picking most recent transaction

Hi all, have a few bits of Airtable am trying to get to grips with. Am trying to use Airtable as part of a Fitness studio data tracking system form everything from timetable, member base payroll etc. and have a few Qs I’m struggling with!

  1. I’m trying to make a system of understanding whether a membership is active or expired in the database (either because all classes are used up or because they have expired). I have a transactions table where all transactions are recorded (i.e. a member comes to buy a package we choose them from the database, record payment, mode of payment etc.)

  2. I then have a member database table ( airtable com/shrNoMjaaw9wc3QH9 ) that records all members, and associated data (purchases, attendance etc.) but I’m having a bunch of issues with formulae

e.g. Once a package is purchased an expiry date is calculated via formulae
(note all in European format - see transactions table [transaction table view example]( airtable com/shr0N872Rkq5NcQVh )) as package purchase date + X number (where X is a look up based on package formula is

DATETIME_FORMAT(DATEADD({Date of Package Start/Activation},(VALUE(ARRAYJOIN({Package Validity}))),‘days’),‘DD-MM-YYYY’)).

Then I have multiple expiry dates if someone buys a package and want to get the most recent one and then from there see if a membership is valid or expired. Using

MAX(values)

to get the most recent expiry date just gives me 0s- I tried with mutiple formula edits but cant crack it

Then from there I’d like to get the valid expired which i would use:

IF(DATETIME_DIFF(TODAY(), {Expiry Date}, ‘days’) > 0, ‘Expired’, ‘Valid’)

Hope that makes sense - all help appreciated as I’m v lost here!!!