To show time in and out in Attendance instead of only the date

Currently the Attendance module only tracks full or half days. I wish to use the Attendance to show the time that the Attendance was signed. This should also allow to to track the time when my staff signed in.

And…is it possible for users to sign twice for attendance? One to sign in. One to sign out.

Hi,
You customize these things. For that you can add field ‘Time In’ and ‘Time Out’ on “Attendance Form”.
For that

  1. Go to Customize form
  2. Select Form Type- Attendance
    3.Add New Row-
    Label=Time In
    Type=Time

same For “Time Out”
4.Update form.

in your respective hooks.py file write code

doc_events = {
"Attendance": {
        "validate": "custom_methods.time_validation"
}
}

And create your own .py file for writing method(i.e custom_methods.py)
put validation like-

@frappe.whitelist()
def time_validation(doc, method):
    if not doc.time_out or not doc.time_in:
        frappe.throw("Enter Time In and Time Out")
    if doc.time_out < doc.time_in:
        frappe.throw("'Time Out' should be greater than 'Time In'")
2 Likes

Thanks @shraddha!