Hi @Anonymous,
Apologies, I missed that part of your requirement. No, the current proposed solution doesn't meet that requirement.
It just concatenates the Microsoft ID with the Current fiscal year. So, taking the examples of your screenshot the IDs would be:
2021-687
2021-677
2022-661
2022-679
If you want to reset you probably want to introduce a couple of additional columns to make this a bit easier. I would add a YearID and FiscalYear column to your list (both are of type number in my example). With a Get Items you could retrieve the latest item of the current Fiscal Year. Based on that you can determine the correct YearID and update the item.
Below is an example of that approach.
1. Add a Initialize a variable of type Integer, I called it NewRegNumber.
2. Add a Get Items action with the following filter query:
FiscalYear eq @{if(greaterOrEquals(int(utcNow('MM')), 10), add(int(utcNow('yyyy')),1), utcNow('yyyy'))}
I also sorted on Created descending and used a Top Count 1.

3. Add a Condition. Check if a the Get Items results are empty. If this is the case this means you have to reset and it is a new Fiscal Year.
4. Add a Set a variable action in the If Yes. Set it to 1 because it is a reset.
5. Add a second Set a variable action. Use the following expression to get the latest YearID from the get items:
int(outputs('Get_items')?['body/value'][0]['YearID'])
6. Add an increment variable to increase the YearID by one.

7. Add an Update item action outside the condition action.
Use the following expression to update the New Registration number:
if(greaterOrEquals(int(utcNow('MM')), 10), concat(add(int(utcNow('yyyy')),1), '-', string(variables('NewRegNumber'))), concat(utcNow('yyyy'), '-', string(variables('NewRegNumber'))))
Use the variable for the YearID field
Use the following expression for the FiscalYear field:
if(greaterOrEquals(int(utcNow('MM')), 10), add(int(utcNow('yyyy')),1), utcNow('yyyy'))
