mine couldn't do it on their own till after age 6... we just kept showing them, telling them how we were doing it, until they got it.
It was this reason that I'm so glad I didn't have to switch Jeffrey until he could already work a booster... Damian learned it early, at age 5... but not without me holding the shoulderbelt out to keep slack in it... which was fine, when I only had one other child to get in and buckle up (Ruthie... Jeffrey would do himself), but I'd been spoiled by only having to buckle one child and then simply check and/or tighten the other two, so once he'd gotten the hang of it, I was very determined to not have Jeffrey in a booster until he either outgrew his seat, or could buckle himself.
Ruthie, being the baby, still has some issues with buckling her booster in her father's car (the female part getting too far down in the seat, forgetting to let the belt retract all the way so it is unlocked), but her brothers will help her and I just check her.
For the vivo, there are some tricks that have to be learned... teach her to worry only about the lapbelt first... get it under both armrests... then buckle... pull the shoulderbelt to tighten the lapbelt... then thread the shoulderbelt... tighten it.... if you try to put the shoulderbelt under the armrest before you snug the lapbelt, it's just a pain...
The way I taught my kids was to hold out the shoulderbelt and give them the buckle and let them get buckled... then talk them through putting the belt under the armrest... tightening, then threading the shoulderbelt, and moving all remaining slack of the shoulderbelt to the retractor.