Have never used {CHANGE TOTAL}, it is a ticket expression so should be ok there. Just tested on my dev machine and the expression works.
However its hard to say for sure without seeing full template.
What version are you using?
Is it up to date? Check version number by restoring screen (double clicking on top left samba logo while logged in as admin) and version number is in window header
Hmmm, never done much in AMC rule like that.
All my similar rules are on payment processed event seperate for actual payment action since there are multiple routes to pay. Ie your method wouldn’t print from payment screen.
Take the print action out of your AMC rule and either make a new rule with payment processed event or if you have an open drawer rule or similar already on payment processed add it there instead.
Or like I said just test the template by printing an old ticket from ticket list of a ticket which had change first. That will show its the event timing you have used rather than your template.
So it’s you timing triggering print from AMC - it’s printing before change is calculated.
So move the print command to a payment processed rule. You can add constraint to type = cash if you want or leave it and will print on card too.