Increment base-36 strings
Japt, 13 bytes
n36 Ä s36 ù0A
Try it online! and Verify test cases
Takes input as a string
Explanation
n36 converts input to base 36
Ä +1
s36 to base 36 string
ù0A left-pad with 0 to length 10
JavaScript (ES6), 45 bytes
Saved 4 bytes thanks to @O.O.Balance
s=>(parseInt(1+s,36)+1).toString(36).slice(1)
Try it online!
Haskell, 58 bytes
d=['0'..'9']
f s=snd(span(<s)$mapM(\_->d++['a'..'z'])d)!!1
Try it online!
A very brute-force strategy: generate all the length-10 base-36 strings in order, and find the one that comes after the input in the list. Take an enormous amount of time on strings far from the start of the list.
Haskell, 60 bytes
q '9'='a'
q c=succ c
f(h:t)|any(<'z')t=h:f t|r<-'0'<$t=q h:r
Try it online!
Reads the string left to right until it reaches a character followed by a suffix of all z's, which may be empty. Increments that character, and replaces the z's with 0's.