Hi Alteryx experts!
Attached sample input & output files. Excel formula included.
This process involves different reporting & maturity dates, but let's take this one as example.
I am trying to create an amortization table with variable monthly payment.

Here are the given or easy to transform fields :
Maturity Date : fixed
Rate A : fixed
Effective Annual Rate : fixed
Reporting Date : consecutive months until Maturity Date
Record ID : extend based on number of Reporting Date
Amortization Months : deduct 1 from previous value
I was able to create these fields using some multi-rows tool.

Here are the harder ones that might need iterative macro, where number of iterations depend on how many months between first Reporting Date and Maturity Date.
Opening Balance : Previous Ending Balance
Payment : not fixed across the months, depends on Opening Balance which depends on other columns.
: formula in Excel : =PMT(Effective Annual Rate, Amortization Months, -Opening Balance,0,0)
Interest Portion : Effective Annual Rate * Opening Balance
Principal Portion : Payment - Interest Portion
Additional Payment : not fixed, depends on Opening Balance
: formula in Excel =-( ( (1- Rate A)^(1/12))-1)*(Opening Balance - Principal Portion)
Ending Balance : Opening Balance - Principal Portion - Additional Payment
: Feed into next Opening Balance
repeats until Reporting Date = Maturity Date
Sample of final output :

Challenge here is multiple fields are dependent on previous rows.
Without Ending Balance, I was not able to calculate the other columns, and without the other columns, it is impossible to calculate Ending Balance.
Again, this process involves different reporting & maturity dates as well.
Looking for solution & advice with or without macro!
Thanks in advanced 