Why would a 'k' get lost in sollen? I see no regular way. An influence of "Sold" is the only option that I see, and not the other way around (as is said for Söldner, see Sold).
One source for this is Kroonen, Guus (2013) Etymological Dictionary of Proto-Germanic. The reconstructed PIE term *skel- has only a single descendant, since the Lithuanian (Balto-Slavic) term could be a loan from Germanic, thus reconstruction should be impossible. However, *skel- overlaps with *(s)kel- (the brackets indicate an s-mobile, that appears and disappears unpredictably), which overlaps semantically with *(s)ker- *(s)kelH-. The H indicates difficulty in reconstructing a specific *h_ (a laryngeal), so it's less than reasonable. The descendants are rather divergent in meaning, so the gloss "to cut; to split, separate" is just to be seen as a placeholder, but it already reminds a bit of "taking a cut", "to share". After all, the question for "sollen" is motivated by the Schulz (also Schultheiß etc), which is supposed to be cognate with sollen (and shall), and Schulden "debt, guilt", and denotes a title or function of an authority. Then a look at one item listed as descendant of *(s)kelH-, Icelandic skil shows a sense "boundary", which does remind of the origin of fine, fee, that is the border where a fine is taken (cp. finito). But the word also means understand. On the one hand this does remind me of "unterstützen" (support, cp. donation). On the other hand to cut and to decide, Ger. entscheiden are considerable, too.
Anyhow, I'm not doubting the PGem root, just the derivation of sollen.
The normal development of *sk- is to sch. Are there other such cases of lost 'k' or morphed 'sh'?