Skip to content

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.

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.

  • 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 Name can 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 task or milestone comes 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, Open
    In progress Doing, Started, Working on it
    Blocked Stuck, On hold, Waiting
    Done Complete, Completed, Finished, Closed

    An 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: P1 to P5 are read directly. Critical, Urgent and Highest become P1, High becomes P2, Medium and Normal become P3, Low becomes P4 and Lowest becomes P5. 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-DD and Excel date cells are always read as they are, without the time of day. Dates written with /, . or - between day, month and year, such as 03/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 in Start or End starts 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, or End when Start is empty. Milestones ignore End, Planned hours and Progress, and the preview lists the values it ignored.

  • People: Assignee and Additional people are matched to the workspace’s members by email address, or by display name when only one member has that name. When Assignee names 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 an h suffix, as in 2,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.

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

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.

  • 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: .xlsx only. Only the first sheet is read, and formulas are read as the values Excel last calculated. .xls, .xlsm and .ods files, 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 '.
  • A file of up to 5 MB, and for .xlsx up to 50 MB once unpacked, 10,000 rows and 100 columns.
  • Up to 2,000 items and 5,000 dependencies per import.