Plan file format
The Sauriq plan file is a flat table with one row per plan item. The plan Table exports it, the import dialog’s Download template writes an empty copy with two example rows, and plan import reads it back. This page describes version 1 of the format.
Columns
Section titled “Columns”The first row holds the headers. They’re always in English, whatever your language, and export writes them in this order:
| Header | Required | What it holds |
|---|---|---|
ID |
no | The item’s ID. On import, it’s only used to match Depends on references in the same file |
Name |
yes | The item’s name, up to 200 characters |
Group |
no | The item’s group, up to 200 characters |
Type |
no | task or milestone. Empty means task |
Status |
no | Planned, In progress, Blocked or Done |
Priority |
no | P1 (highest) to P5, or empty for no priority |
Assignee |
no | The member’s email address |
Additional people |
no | Members’ email addresses, separated by , |
Start |
no | YYYY-MM-DD. A milestone’s date goes here |
End |
no | YYYY-MM-DD. Empty for milestones |
Planned hours |
no | A number of hours, with . for decimals |
Progress |
no | A whole number from 0 to 100 |
Labels |
no | Labels separated by , , each up to 64 characters, at most 20 per item |
Description |
no | The item’s description, up to 5,000 characters |
Depends on |
no | The item’s upstream items, separated by ; (see below) |
The file holds plan items only. Work packages, files, comments, activity and canvas links aren’t part of it: imported items always take the work package of the plan they go into.
How import reads each column
Section titled “How import reads each column”-
Headers match whatever their case and surrounding spaces, and so do the alternative column names listed under Alternative column names. Their order doesn’t matter, and every column except
Namecan be missing. -
Text longer than the column’s limit is cut to fit, and the preview lists each cut.
-
Name: a row with an empty name is skipped and listed.
-
Type: a value other than
taskormilestonecomes in as a task and is listed. -
Status: the four values above are read directly, and so are the same labels in German and Italian. These are recognised too:
Becomes Values Planned To do,Not started,OpenIn progress Doing,Started,Working on itBlocked Stuck,On hold,WaitingDone Complete,Completed,Finished,ClosedAn empty status is Planned. Any other value is shown in the import dialog with the number of rows that use it, proposed as Planned, so you can choose what it becomes.
-
Priority:
P1toP5are read directly.Critical,UrgentandHighestbecomeP1,HighbecomesP2,MediumandNormalbecomeP3,LowbecomesP4andLowestbecomesP5. Other values are proposed as no priority, and you can change them in the dialog. Emoji and other symbols are ignored when status and priority values are matched. -
Dates:
YYYY-MM-DDand Excel date cells are always read as they are, without the time of day. Dates written with/,.or-between day, month and year, such as03/04/2026, are read in the Date order you choose in the dialog: day first or month first. The dialog proposes day first when every such date inStartorEndstarts with a number over 12, otherwise your date format setting. A two-digit year means 20xx. A date that can’t be read is left empty and listed. -
Task dates: a task with only a start or only an end is a one-day task on that date. A task whose start is after its end comes in without dates, and the preview says so. A task without dates goes to the Gantt’s Scheduling inbox.
-
Milestones: the date is
Start, orEndwhenStartis empty. Milestones ignoreEnd,Planned hoursandProgress, and the preview lists the values it ignored. -
People:
AssigneeandAdditional peopleare matched to the workspace’s members by email address, or by display name when only one member has that name. WhenAssigneenames several people, the first is the assignee and the others become additional people. Someone who isn’t a member, a name several members share, or a deactivated member is listed once in the preview with the number of rows, and those rows come in without them. Import never invites anyone. -
Planned hours: a
,decimal separator and anhsuffix, as in2,5h, are accepted. Negative or unreadable hours are left out and listed. -
Progress: a
%sign is accepted. Values below 0 or above 100 are set to 0 or 100 and listed. Progress that isn’t a number is left out and listed. -
Labels: a label that appears twice in a cell is kept once, and only the first 20 are kept.
Alternative column names
Section titled “Alternative column names”The import dialog proposes these columns for other common column names. You can change each one, or skip a column, before you import.
| Column | Also proposed for |
|---|---|
Name |
Item, Task, Title |
Assignee |
Person, Owner, Assigned to |
Start |
Start date |
End |
End date, Due, Due date, Deadline, Date |
Planned hours |
Hours, Estimate |
Progress |
% complete |
Labels |
Tags |
Description |
Notes |
Depends on |
Dependencies, Predecessors |
Depends on
Section titled “Depends on”Each entry in Depends on names one upstream item, optionally followed by the dependency type
and a lag in whole days:
| Entry | Meaning |
|---|---|
1042 |
Finish to start, no lag |
1042 FS |
The same, written out |
1043 SS+2 |
Start to start, 2 days after |
Order reagents FF-1 |
Finish to finish, 1 day before, with the upstream item named |
The types are FS, SS, FF and SF, as in the
Gantt. Entries are separated by ;, or by , when the
cell has no ;. Export writes only the type and lag when they aren’t FS with no lag, and lists
only upstream items that are in the same file.
Import finds the upstream item by the file’s ID column first, then by item name in the same file,
ignoring case. When you add rows to an existing plan, the names of that plan’s items are matched
too. A dependency is skipped, and listed in the preview, when:
- its reference matches no item, or a name matches several items;
- an item depends on itself, or the type or lag can’t be read;
- the same two items are linked twice (the first entry is kept);
- it would close a loop of dependencies (the entry that closes it, in file order, is skipped).
Imported dates aren’t rescheduled. If a dependency is broken by the dates in the file, the Gantt counts it as violated in Manual scheduling.
File details
Section titled “File details”- CSV: UTF-8, with or without a byte order mark; other files are read as Windows-1252. Fields
can be separated by
,,;or a tab. Export writes UTF-8 with a byte order mark and,. - Excel:
.xlsxonly. Only the first sheet is read, and formulas are read as the values Excel last calculated..xls,.xlsmand.odsfiles, and links to online spreadsheets, aren’t accepted. - Layout: the first non-empty row is the header and every following non-empty row is an item. Title rows above the header, or group-name rows between items, aren’t recognised.
- Formulas: export puts a
'before any cell that starts with=,+,-,@, a tab or a carriage return, so spreadsheet apps don’t run it as a formula. Import removes that'.
Limits
Section titled “Limits”- A file of up to 5 MB, and for
.xlsxup to 50 MB once unpacked, 10,000 rows and 100 columns. - Up to 2,000 items and 5,000 dependencies per import.