Suggestions for ‘going back’ in a card/stepper based complex form

I'm currently working on an application that has about 7 fairly small but seperate cards/steps to complete an 'order'. It has all of the usual complexity: Conditional displaying/hiding of fields, optional cards, the ability to go back in the 'flow', as well as some specific data from previous cards having the ability to reset/change data in the later cards.

My specific issue is with my last point.

  1. When a user goes back in the flow and changes data that will affect or reset data later in the cards, should they be forced to go through all of the next cards, or should they be taken to the card that requires changes or was reset?

  2. What should happen when they change data that doesn't affect anything else? Should they be taken to the last card in the flow that is available? Or should they just be always required to go through the flow again regardless? Another option is that they be taken to the 'card they were on' but then what if they go from c -> b -> a?

Any help is appreciated and I'll add more information if needed.