I have a client database we are working on that bills based on a rate chart for AGE. The company bills for the month ahead (so currently they are sending out AUGUST invoices).
The issue I am having is that individuals that have birthday's in august should be getting billed for the next year up (so if someone turns 60 in august, they are billed as 60 for august, but if invoices are run in july it shows their age as 59).
The solution I came up with that hasn't been satisfactory so far was creating two fields:
DOB_FOR_BILLING (see first line of code snippet)
AGE_FOR_BILLING (see next line of code snippet)
basically DOB_FOR_BILLING alters their birthday to appear as */1/**** on the month BEFORE their birthday so that if invoices are run in July, all the people in august will have already "had their birthday" on july 1st. Then AGE_FOR_BILLING reflects that age for purposes of billing in the rate chart.
Please give me your insight as to if there is a better way to do this directly, or if I have a working solution here and I need to revisit the clients data to look for problems.
((Month (DOB)) -1) & "/01/" & Year (DOB)
Int((Get(CurrentDate) - DOB_FOR_BILLING )/365.25)