> ## Documentation Index
> Fetch the complete documentation index at: https://support.fieldko.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Time in Store and Attendance

> Build reports on time spent in each store compared with plan, check-in location compliance, and each rep's logged-on time and time worked.

Time in store is how long reps spend at each store, measured from check-in to check-out. Attendance shows how long each rep was logged on to the FieldKo Atlas app each day, and how much of that time was spent on visits. Use this recipe to compare actual time with plan, spot short or long visits, check where reps checked in, and review daily time worked.

FieldKo calculates **Actual Time Spent (Mins)** on each visit from its **Actual Start** and **Actual End**, and **Planned Time Spent (Mins)** from its **Planned Start** and **Planned End**. The app creates one **Attendance** record per rep per day, with **Total Time Logged On (hours)** and **Actual Time Worked (hours)**, which is the total time spent on completed visits.

## User Permissions Needed

| To do this | You need |
| - | - |
| Create, edit, and save reports | Create and Customize Reports |
| See visits in reports | FieldKo Manager Permission Set |
| See attendance in reports | FieldKo Manager Permission Set and FieldKo Native Permission Set |

## Before You Begin

Ask your admin for these report types, as described in [Report Folders, Sharing, and Custom Report Types](/platform/reports/folders-and-report-types):

* **Visits:** Primary object **Visits**, with no related objects. Ask for **Check In Compliance Reason**, **Check Out Compliance Reason**, and **Distance From Account to Checkin (km)** to be included. If you already have this report type for [call compliance](/managers/platform/recipes/call-compliance), use it.
* **Attendance:** Primary object **Attendance**.

Don't use **Visits with Survey Answers** for time reports. It has one row for every task and answer, so averages and totals of visit time come out wrong.

## What You'll Build

* **Time in Store vs Plan:** Average actual and planned minutes per visit, by rep and store grade.
* **Check-In Compliance:** Visits where the rep checked in away from the store.
* **Daily Attendance:** Each rep's logged-on hours, hours worked on visits, and the share of logged-on time spent in stores.

## Report 1: Time in Store vs Plan

### Report Type

**Visits**

### Filters

| Filter | Value |
| - | - |
| **Status** | equals **Completed** |
| **Actual Start** | **Last Week** |

### Group By

1. **Sales Representative**
2. Optional: the account's **Grade**, if your admin includes it

### Columns and Summary Formulas

Add **Account**, **Actual Start**, **Actual End**, **Actual Time Spent (Mins)**, and **Planned Time Spent (Mins)**. Summarize both time columns with **Sum** and **Average**. Then add a summary formula named `Time vs Plan`, with **Percent** formatting, that divides the sum of **Actual Time Spent (Mins)** by the sum of **Planned Time Spent (Mins)**.

Under 100% means visits are shorter than planned. FieldKo extends a visit's planned end to fit the **Estimated Time(In mins)** of its tasks, so planned time reflects the work on the visit.

### Chart Suggestion

A grouped column chart of **Average of Actual Time Spent (Mins)** and **Average of Planned Time Spent (Mins)** by **Sales Representative**.

## Report 2: Check-In Compliance

Use the **Visits** report type with these settings:

* **Filters:** **Status** equals **Completed**; **Actual Start** equals **Last Week**; **Check In Compliance Reason** not equal to (blank).
* **Group By:** **Sales Representative**.
* **Columns:** **Account**, **Actual Start**, **Check In Compliance Reason**, and **Distance From Account to Checkin (km)**.
* **Chart suggestion:** A bar chart of record count by **Sales Representative**.

**Check In Compliance Reason** is filled in when a rep checks in farther from the store than your company allows, such as "Checked in 1200 meter(s) away from Store", or when location is off ("Location is Not Enabled"). **Distance From Account to Checkin (km)** is a text field that shows `NA` when no location was captured, so you can filter on it but not average it. To set the allowed distance, see [Set Up Check-In Location Checks](/admin/call-cycles-and-visits#set-up-check-in-location-checks).

## Report 3: Daily Attendance

### Report Type

**Attendance**

### Filters

| Filter | Value |
| - | - |
| **Attendance Date** | **Last Week** |

### Group By

1. **Sales Representative**
2. Optional: **Attendance Date**

### Columns and Summary Formulas

Add **Login Time**, **Logout Time**, **Total Time Logged On (hours)**, **Actual Time Worked (hours)**, **Distance Between Login and Logout (km)**, and **Mobile App Version**. Summarize both hours columns with **Sum**. Then add a summary formula named `Time in Stores`, with **Percent** formatting, that divides the sum of **Actual Time Worked (hours)** by the sum of **Total Time Logged On (hours)**.

Use the hours fields for totals. **Total Time Logged On** and **Actual Time Worked**, without "(hours)", are text in hours:minutes:seconds, for reading on the record.

### Chart Suggestion

A stacked column chart of **Sum of Actual Time Worked (hours)** and **Sum of Total Time Logged On (hours)** by **Sales Representative**.

## Variations

* **Short visits:** In Report 1, bucket **Actual Time Spent (Mins)** into ranges such as under 10, 10–30, 30–60, and more than 60 minutes. See [Group Report Data into Buckets](https://help.salesforce.com/s/articleView?id=sf.reports_bucketing_overview.htm\&type=5) in Salesforce Help.
* **Time by visit type:** Group Report 1 by **Visit Type**.
* **Days without logout:** In Report 3, filter **Logout Time** equals (blank). **Total Time Logged On (hours)** is blank on those days.

## Tips

* **Actual Time Worked** fills in after the daily job your admin schedules runs. To update one record right away, open it and use the **Calculate Actual Time Worked** action. See [Scheduled Jobs](/admin/installation#scheduled-jobs).
* If your admin schedules automatic checkout, FieldKo completes visits left **In Progress** from an earlier day. It sets **Actual End** from the rep's last recorded location time and shows "Automated Checkout" in **Check Out Compliance Reason**. Add the filter **Check Out Compliance Reason** not equal to `Automated Checkout` when you compare reps' time in store.
* Visit and attendance times sync from the device. Data from a day worked offline appears after the rep syncs.

## See Also

* [Retail Execution Metrics](/managers/platform/retail-metrics)
* [Track Your Team's Performance](/managers/monitor-your-team)
* [Call Compliance and Strike Rate](/managers/platform/recipes/call-compliance)
* [Set Up Call Cycles, Tasks, and Visit Templates](/admin/call-cycles-and-visits)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.