Timeslice Timesheet Overlap Check
Find time entries that overlap, the hours counted twice and gaps in each day of a timesheet.
How it works
Checks a timesheet table for entries that overlap each other (time counted twice), shows each overlapping pair with the shared minutes, compares tracked time with the time actually covered per day and, if you like, lists gaps longer than a set number of minutes.
- Entries are sorted by start; a sweep keeps the entries still running and reports every pair whose times intersect (start of the later one before the end of the earlier one). Touching entries (one ends at 10:00, the next starts at 10:00) do not overlap.
- Per day, the tracked time is the plain sum of all entries; the covered time is the length of their union. The difference is time counted more than once. Entries over midnight are split at midnight.
- Gaps are the empty stretches between covered blocks on the same day (before the first and after the last entry do not count).
Sources
Part of Timeslice
-
Timeslice Time tracker & timesheets
Track time on your own tasks, see where it went in charts and share a read-only report.
How to use the Timeslice Timesheet Overlap Check
Find time entries that overlap in a timesheet, see how much time is counted twice per day and list the gaps between entries.
What it is for
When you start a new timer without stopping the old one, or add an entry by hand afterwards, two entries can cover the same minutes. Every report then counts that time twice, and an invoice comes out too long. The Overlap Check reads a timesheet table, lists every pair of overlapping entries with the shared time, and shows per day how much was tracked against how much time the entries actually cover. Optionally it also lists the gaps between entries, handy for finding the hour you forgot to record.
Worked example
The first example is a sprint day with seven entries, including a deploy from 22:30 to 01:15 and a monitoring entry from 00:30 to 01:00 the next night. The summary: 3 overlapping pairs in 7 entries: 1:00 h counted twice (11:00 h tracked, 10:00 h actually covered).
The pairs table names each entry by its line in the table:
- Line 3, Relevance tests 09:45–12:15, and line 4, Code review 12:00–12:30, share 12:00–12:15: 15 minutes.
- Line 5, Ranking weights 13:15–16:45, and line 6, Bug fixing 16:30–17:30, share 15 minutes.
- Line 7, Deploy, and line 8, Monitoring, share 00:30–01:00 on 7 November: 30 minutes.
Per day, 5 November shows 7:45 tracked but 7:15 covered. The second example sets Also list gaps of at least 30 minutes and finds the lunch break 12:30–13:15.
A custom run with Design 09:00–10:30, Call 10:15–11:00 and a night with Deploy 23:00–01:00 and Night support 00:30–02:00 finds 2 pairs and 0:45 h counted twice: 15 minutes on 5 November and 30 minutes after midnight on the 6th.
How to read the result
- Tracked is the plain sum of all entries — what a simple report would show.
- Covered is the time during which at least one entry ran. The difference is Counted twice.
- Shared from and Shared to show the overlapping part of a pair; Minutes is its length.
- Entries over midnight are split at midnight, so the overlap shows on the day it happened.
- When three entries overlap at once, each pair is listed, so the minutes in the pairs table can add up to more than Counted twice.
Tips and common mistakes
- Use the line numbers to find the entries in your spreadsheet: line 1 is the header row.
- Entries that touch — one ends at 12:15, the next starts at 12:15 — do not overlap.
- Not every overlap is a mistake: a call during a long build can be real parallel work. Decide per pair, then shorten, split or merge.
- The same table works in the Timesheet Summary afterwards, once the overlaps are fixed.
- In Timeslice, the list on the Track tab marks overlapping entries and the entry dialog warns before saving one.
FAQ
Which columns are needed?
A date, a start and an end time. Task and note columns are optional but make the pairs easier to recognise.
Can it check entries with durations only?
No. Without a start time there is nothing to compare, so such rows are skipped and named in a warning.
Does it fix the overlaps?
No, it only reports them. You decide which entry to change.
Guide last updated:
For scripts and AI agents
- JSON API:
POST https://timesliceoverlapcheck.usefulweb.app/api/v1/calculate(same calculation as this page) - Interface description: OpenAPI 3.1 · AI guide: llms.txt
- MCP server (Streamable HTTP):
https://timesliceoverlapcheck.usefulweb.app/mcp· tool nametimeslice_overlap_check
Example request
curl -s -X POST https://timesliceoverlapcheck.usefulweb.app/api/v1/calculate \
-H 'content-type: application/json' \
-d '{"entries":"date,start,end,task,note\n2026-11-05,09:30,09:45,Stand-up,\n2026-11-05,09:45,12:15,Relevance tests,\n2026-11-05,12:00,12:30,Code review,started before lunch\n2026-11-05,13:15,16:45,Ranking weights,\n2026-11-05,16:30,17:30,Bug fixing,hotfix\n2026-11-06,22:30,01:15,Deploy,over midnight\n2026-11-07,00:30,01:00,Monitoring,"}'