At times you would face a problem, where you mark an attendance, and it is considered in the previous day.
There is nothing wrong with the system, it is because of your attendance shift configuration.
In every Attendance Shift, there is a concept of "Start of Day". By default, and in normal scenarios, this would be 12:00 AM. What it means is that all the punches marked after this time, would be considered in the current day and any punch before this time would be considered in the previous day.
Let's consider an example, with the below configuration of the shift.
Shift Timings: 9:00 - 18:00
Start of Day: 6:00
Now, if any employee who comes in early and marks the attendance at 8:15, would be considered in the same day.
Similarly, if s/he marks a punch at 5:55, then it would be considered in the previous day.
Also, in case an employee stays back late and marks the punch at 12:30 AM, then also, it would be considered in the previous day.
For managing the shifts, kindly refer to: https://hawkhr.thedocs.in/98/Attendance-shifts