Hi there. Unfortunately there isn’t reliable way to read existing codes. Some locks do not provide that information due to security concerns (Schlage being one of the manufacturers which limits reading back codes). Some locks (like Schlage) do not allow you to reprogram existing codes (almost all locks do not allow you to program duplicate codes), so it can be very challenging to figure out what’s going on as you’ve seen.
We generally advise that folks should start with a clean slate when programming locks. You can do this by resetting the lock to factory defaults or in some cases (like Schlage or IDLock) they provide you ways to reset all existing codes. Keep in mind that you may need to reconfigure your lock after resetting it (check things like pin code lengths, mounting directions, vacation modes, one touch locking etc).
If you’re using an app like Lock User Management (LUM), it has multiple safety feature to avoid or warn you about situations like these. With the latest update, it has the ability to wipe clean ALL existing codes your lock with a click of a button. It also has the ability to check that the number if digits you’re entering in to your user codes matches up with what’s configured on your lock so you don’t run into “unexplained” rejections and errors. You can find out more details about the app here: