Blog
What a total can tell you when a shift is unfinished
An incomplete record can be saved without pretending its duration is known.
What a draft preserves
A draft keeps the useful parts of an entry: its date, start time, label, notes and any other fields already entered. The missing end time remains missing. Saving the draft should not fill it with the current time or a typical finish time, because either choice would create a record the user did not provide.
What a subtotal leaves out
Suppose a completed 09:00–13:00 shift contributes four hours and a second shift starts at 14:00 with no end yet. The known completed amount is 04:00. The day’s final duration is unknown. Those statements are compatible, and the interface should show both instead of hiding the draft or labeling the known subtotal as complete.
| Record | Contribution |
|---|---|
| Complete 09:00–13:00 | 04:00 |
| Draft starts at 14:00 | Not included in completed total |
A draft and an error need different repairs
An intentionally unfinished shift needs its eventual end information. A record with an end before its start may instead contain the wrong date. Both require attention before final export, but the correction is different. Preserve the original input so the person can tell whether to complete the record or fix a mistaken field.
Keep a portable copy when needed
A local draft belongs to the current browser. It is not automatically available on a second device, and clearing site data can remove it. A versioned JSON project file is the full editable backup, including unfinished records and settings. A PDF reading copy or a CSV data extract is not the same thing.
Finish with a deliberate review
- Reopen the draft and confirm the original start date and time.
- Enter the actual end date and time rather than an expected value.
- Review dated breaks and their paid or unpaid labels.
- Check the updated day and period totals, then create the final reading or data copy.
Do not make completeness a cosmetic badge
A green save message only says that a local save succeeded. It does not prove that all rows are complete. Keep storage status and record validity separate so a saved draft can remain visibly unfinished until the necessary information is entered.