Two entries can show the same person, the same issue, the same date, and the same duration. That match can be an accidental copy. It can also be real work that happened twice. Each candidate pair needs a review decision before the invoice goes out.
What a worklog record contains
Every Jira worklog carries an identifier, an author, a start date and time, and a duration in seconds (Jira Cloud REST API, issue worklogs). Jira has no built-in tool that compares entries and names duplicates. The comparison is a review task for the person who prepares the billing export.
Two limits affect the review. A restricted worklog is visible only to the group or project role that the author selected, so an export can miss it. And two entries on one day can have different created times, which helps you order them.
Find the candidates
- Export the worklogs for one billing period. Use the REST API with
startedAfterandstartedBefore, or your time tracker's period report. - Sort the export by author, issue key, work date, and duration.
- Mark each group of matching rows as a candidate. The notes do not need to match.
- Read the notes in each candidate group. Identical notes suggest a copy. Different notes suggest real work.
- Before anyone deletes an entry, ask the author about each candidate.
- Record the decision beside each candidate: keep, delete, or ask the author.
The REST API also offers an updated-worklogs feed, so a second pass can catch entries that someone edited after the first export (Get IDs of updated worklogs).
The candidate review sheet
Download the duplicate-candidate review sheet (CSV). All people, issues, and hours in the file are fictional. The sheet shows one week for one five-person team, with matches_group marking rows that share an author, issue, date, and duration.
The week totals 31.00 hours. Four groups are candidates:
| Group | Entries | Hours | Decision |
|---|---|---|---|
| Priya Shah, WEB-214, October 26 | W-4021, W-4022 | 3.00 | Delete the copy, 1.50 remains |
| Marcus Lind, OPS-88, October 26 | W-4023, W-4024 | 1.00 | Keep, the notes name two shifts |
| Priya Shah, WEB-230, October 27 | W-4027, W-4028 | 4.00 | Keep, the notes name two runs |
| Dana Osei, ACC-12, October 28 | W-4031, W-4032 | 8.00 | Ask the author first |
The confirmed duplicate removes 1.50 hours, so the week ends at 29.50 hours. The pending pair adds another 8.00 hours if the author confirms a mistake. Every number in the table comes from the rows in the CSV.
Repeated work is not duplication
A migration task can produce two real runs on one day. A daily meeting produces an entry every day. The reliable signal is context: the notes, the entry order, and the author's own account of the work. When two notes are identical and the author cannot recall the second task, treat the pair as a copy.
Where Daylight fits
Daylight keeps each entry separate. A timesheet cell can hold several worklogs, and selecting Add creates a new entry beside the others (Edit and Submit Your Timesheet). Daylight does not delete or merge candidates on its own. You review, decide, and then edit the entries.
The audit log lists every entry added, changed, or deleted, whether the change happened in Daylight or in Jira (Reports and approvals). After a submission, a change made outside Daylight shows a changes after submit tag on the submission.
Run the review before submission. Submitted and approved periods are read-only inside Daylight, and approved periods have no reopening action (Edit and Submit Your Timesheet).
Review checklist
- Export one billing period.
- Sort the rows by author, issue, work date, and duration.
- Read the notes in every matching group.
- Before you delete anything, ask the author.
- Record each decision and the corrected total.
This article uses Atlassian's published REST API documentation and Daylight's help pages, reviewed on November 4, 2026. The sample people, issues, and hours are fictional. It does not report a customer result.
Read the timesheet instructions for the cell editor, submissions, and the audit trail in one place.