Sometimes logged-in user doesn't appear in windows machine inventory. What could be the issue?

If inventory is scheduled when users are not logged-in to machine, then inventory engine will not be able to fetch details of logged-in users. If inventory is scheduled while users are logged-in to machine, then inventory engine will fetch logged-in user details and present it on UI.

Please check the time of last inventory in SapphireIMS and see whether any user was logged-into specific machine during that period by checking Audit success events under eventlogs->security. You may also check last login time using below commands using command prompt -

net user [username; | findstr /B /C:“Last logon”
For user administrator -
net user administrator | findstr /B /C:“Last logon”
For domain user jhon - with domain switch
net user john /domain | findstr /C:“Last logon”