If you are entering a punch for a user directly through Who Is In and receive an error that says something like “Failed adding punch for employee 1234 at 01/01/2019 7:00 AM, reason: Invalid pay code,” then the user is not eligible for the pay code you are submitting the punch with.
This is often an issue with the user’s default punch pay code, as you wouldn’t see a non-default pay code as an option when adding the punch directly if the user wasn’t eligible for it.
To troubleshoot this, look at the user’s punch profile to see what pay code(s) are in its Default Paycode Group. Then look at the pay codes in that pay code group to see if there is one the user should be eligible for. If there is one, then look into why that user might not be eligible for it. If there isn’t, then add a pay code the user is eligible for, and that should write to the timecard for that user’s default punches, to that pay code group.
The solution might also be to switch a user to a punch profile that uses a default punch pay code that the user is eligible for.