Answer
Check whether the user has Company and Site actually assigned, not just the object-level select privileges from the permission set — a permission set that correctly grants select access to the underlying tables/views still won't return row data if the user's own setup is missing a Company/Site assignment, since most accounting views filter or depend on that context. Confirming the user's Company/Site setup, not just their permission set grants, is usually what's actually incomplete in this scenario.