01. Before you import
Shift Life imports personal roster files. It is not a general-purpose spreadsheet converter and does not select one employee from a team schedule automatically.
- Keep only your own shifts in a clear daily table.
- Include full dates with a year and unambiguous shift times.
- Spell out shift names when codes have no clear time legend.
- Download the file in Files and check that it opens before selecting it.
- Review imported dates against the source before relying on reminders or plans.
02. Choose a suitable format
| Format | Recommended layout | Important limits |
|---|---|---|
| CSV | One header row; one dated shift per row. UTF-8 is a good choice. | Use full dates and clear start/end columns. A renamed image is not a CSV. |
| XLSX | One importable personal daily table in a worksheet. Keep its column headings near the top. | Multiple candidate roster tables are ambiguous. Visual month grids, colors and rotation rules alone are not supported tables. Legacy .xls files are not .xlsx. |
| Readable daily rows with a full date, shift label and start/end times. | Text PDFs are preferable. Clear scanned daily tables can be read on-device, but OCR depends on legibility. PDFs over 100 pages are not supported. |
Direct image files, camera capture and photo-library import are not included in this version. If you have a calendar-style workbook, use a sheet containing actual daily rows rather than photographing the calendar.
03. A clear personal roster example
The following is an illustrative CSV layout. It is not an employer roster. The night shift includes an explicit next-day end date; the following recovery row starts after that shift ends.
Date,Shift,Start,End,End Date,Location
2026-11-10,Day shift,07:00,19:00,,Ward A
2026-11-11,Day off,,,,
2026-11-12,Night shift,19:00,07:00,2026-11-13,Ward A
2026-11-13,Recovery,07:00,23:59,,
2026-11-14,Day off,,,,
Download example CSV Example dates are November 2026. Adjust them in your own copy when testing future reminders or plans.
| Column | What to put in it |
|---|---|
| Date | The start date, preferably YYYY-MM-DD. |
| Shift | Day shift, Night shift, Day off, Recovery, On call or Travel. |
| Start / End | Use explicit 24-hour values such as 07:00 and 19:00. A full-day off or recovery row can leave both blank. |
| End Date | For an overnight row, include the following end date. Same-day rows can leave it blank. |
| Location | An optional note. This does not assign a time zone. |
Use an explicit end date when the end clock is earlier than or equal to the start clock. A row with missing times for a work shift or an interval longer than 24 hours is not a clear import. Avoid unnecessary employee-name columns; a repeated display name is not enough to prove that all rows belong to one person.
04. Import and check the result
- Open Home → Import roster → Choose file.
- Choose the original PDF, CSV or XLSX file. Wait for the result rather than selecting another file while it is being read.
- If a conflict prompt appears, read the replacement behavior below before choosing an action.
- Open Calendar and navigate to the dates contained in the file. A successful import for a different year will not appear in the current month.
- Compare several work shifts, days off and overnight entries with the source. Review work time zones if your roster relates to another region.
05. Duplicates and overwrite decisions
Importing the same roster again
Exact duplicates are counted as unchanged rather than copied into the calendar. A matching clock interval with different shift details can still need conflict resolution.
When a new roster conflicts with saved shifts
The app asks Overwrite conflicting shifts? Choose Overwrite and import to replace only saved shifts that conflict with the incoming roster and import the new entries. Other shifts and personal plans remain.
Choose Cancel to leave the calendar unchanged. Overwriting cannot be undone inside the app, so check the new source carefully first.
A conflict inside the file
Overlapping rows within the incoming file are a different issue. Correct the source table and retry; confirming overwrite is not a way to repair an internally inconsistent file.
06. If the file cannot be imported
| What you see or notice | What to try |
|---|---|
| Could not open the file | Open it in Files, download it locally, then select it again. Check that the extension matches the real file format. |
| No supported roster table | Use a dated daily table with headers, not a color-only month grid or rotation instruction. For XLSX, put the table headings near the top. |
| Multiple people / no personal roster | Create a separate personal, name-free roster table containing only your shifts. |
| Ambiguous date | Use a four-digit year and YYYY-MM-DD dates. Avoid dates such as 03/04 without a clear order. |
| Shift code has no clear time or legend | Use explicit shift names and start/end times. Do not rely on a lone D, N or O with no explanation. |
| End day is unclear | Provide an explicit End Date for overnight rows. |
| Multiple candidate worksheets | Save a copy with one clearly importable personal daily table. |
| Overlapping or invalid rows | Correct duplicated, overlapping or incomplete time intervals in the source. |
| Scanned PDF unreadable | Use a clearer daily table or the original text PDF, CSV or XLSX. Increasing the resolution does not explain missing dates or time legends. |
A failed or cancelled import does not intentionally leave a partial set of newly imported shifts. If the result still looks unexpected, keep the source file and contact support with a redacted example.
Get help with an import