I suspect you'll find it is the derivation path he is using is incorrect.
I'll guess he has gone with the "standard" m/44'/0'/0' derivation path specified in BIP44 and used by hardware wallets etc... most likely used if it was done by a "library". The problem is that Electrum uses a derivation path of m/0
Both paths will generate "valid" public keys/addresses... but they'll be different.