Here is a troubleshooting flow. 1. Verify that the user has permissions to access to the object. 2. Identify the user's role who can't see the record and note it. 3. Identify the owner's role of the record and note it. 4. Review the role hierarchy and verify these two roles are in two different branches (they should be). 5. Now you need to review the sharing rules for the object and make sure there is no rule that will grant the user access. This can also cause you to look in public groups as well. Maybe the user just got left out of a group where there is a sharing rule, or does it make sense to create a new sharing rule to grant the user access? This depends on the architecture you are trying to maintain, and applies to both ownership-based sharing rules and criteria-based sharing rules. 6. If you are using teams, should this user be on the team for that record? How are teams maintained and how did the miss occur? 7. If manual sharing is used, the user m...