I agree that you need to look at why there is continual mistakes - is it because the current system is confusing for some people/not clear enough/not got enough safe guards?
I have worked in many retail areas in my time - in some places it was so easy to cash up, because the system was fool proof, and if a mistake was made then it was easy to source. In other plces it has been hit and miss, and just down to the ability of the employee - as a result, because I was good at it I ended up doing it most nights!
You may need to look at the expectations you are placing on the staff and give training if needed. If you feel that there is really no excuse for this, then retraining is necessary. after that you are then in a position to look at changing the contract or moving them. Are they in any probationary period, or up for review?
what about a compromise - if the staff member has done everything they should have, int he manner they should have, and there is a descrepancy which is not necessarily of their doing, is there any way to sort it in the morning (maybe open another till if possible?) is it really so busy first thing that you could not leave it til the morning to sort it out? I think often when employees are headed for the door, you are wasting your time trying to get them to focus on rectifiying a mistake.
Or as someone else suggested, tell them you will need them to stay back to resolve the issues, but that this time will be given back to them - but I would give it as an extra break or longer lunch the next day - not as time off, because then they may use this to their advantage, stay late often, just to get a few hours extra holiday!