Happy to help and want to acknowledge that I ask for things in ways maybe others do not. But you are sort of tossing stuff in without slowing down to :-) hehe break it apart for clarity and always share your flow, with a clear indication of "what" isn't working and where so we can help. :-) Just want you to get the most out of this as thousands posts and we want to help them all. Well I know for a fact Markus does :-) darn it my @'s aren't working.
Automatic Date Calculation not working
But I do not see anything related to calculated columns or flow actions or anything in this post.
Your Description
I am building a Power Automate flow to manage contract renewals using a SharePoint list.
Each contract has a Contract End Date, and two numeric fields: Renewal Notice Days and Prereview Notice Days.
Is a contract a line item in a list? is it part of multiple lists with lookups?
I want the flow to calculate notification dates by subtracting those day values from the Contract End Date.
Ok, I do see your two columns in the picture (thank you for that).
Now I want to stop there. Your request is about date calculations not working, so the assumption is we would fix it so your calculations aren't working, but the next part literally has nothing to do with that at all.
Need:
If the current date matches the calculated Renewal or Prereview notification dates, I want to send an email reminder to the person listed in the "Email PM" column (a SharePoint Person field).
I respect that you want this and have no issue, however, keep in mind that there is a better way, and also understand that if you have 10000000000 contract lines (and I truly hope you are successful and have that!!!! you haven't made a way for the flow to NOT loop through ones that you already contacted on). Meaning you are going to loop on every row for the end of time.
I do not want to use calculated columns in SharePoint; instead, I want all date math and conditions handled inside the Power Automate flow.
Suggestion: My suggestion is a different type of solution altogether.
You add 2 columns. Make them actual Date only Columns.
Now you have
Contract Start/End both dates
Renewal Days / Reminder days both numbers
I do not know when the Renewal Days and Reminder Days #'s are added, but you should either
a) have whatever puts the data in, calculate and store in the new date columns
b) have a power automate automated flow that when these # columns are populated/changed, they update the 2 new Columns
This way, on a daily basis, you only need to run a Filtered query where EITHER of those new dates (only) are either to today's date.
Instead of looping through, calculating each time and going oh ok yeap that one its a much more complex process.