Import from CSV
Upload a CSV to bulk-create or update records. Existing rows are matched by name (roles) or code (projects) and overwritten. Unknown rows are created. Phases, demand, resources, and assignments are not imported here.
Roles
Columns: name (required), description, order, active, defaultCapacity. Match key: name.
Sample CSV
name,description,order,active,defaultCapacity Project Manager,,0,true,5 Business Analyst,,1,true,2 Architect,,2,true,5 Developer,,3,true,5 QA Engineer,,4,true,5 DevOps Engineer,,5,true,5
Projects
Columns: code (required), name (required), description, priority (1–5), status (PLANNED/ACTIVE/ON_HOLD/COMPLETE/CANCELLED), constraint (ASAP/MUST_START/MUST_FINISH), constraintMonth (YYYY-MM, required unless ASAP), patternName (must match a Pattern name), startDate (YYYY-MM-DD), endDate (YYYY-MM-DD). Match key: code. If patternName + startDate + endDate are all present, phases and role demand are auto-regenerated from the pattern (replacing any existing).
Sample CSV
code,name,description,priority,status,constraint,constraintMonth,patternName,startDate,endDate PRJ-001,Customer Portal Refresh,,1,ACTIVE,MUST_START,2026-10,Full Implementation,2026-10-01,2027-09-30 PRJ-002,Vendor Assessment,,2,PLANNED,ASAP,,Assessment,2026-11-01,2027-01-31 PRJ-003,Mobile App POC,,2,PLANNED,MUST_FINISH,2027-06,Proof of Concept (POC),2026-11-01,2027-06-30 PRJ-004,Office Buildout,,3,PLANNED,ASAP,,Real Estate (IT),2026-12-01,2027-08-31
Dependencies
Columns: dependentCode (required), dependsOnCode (required), type (FS/SS/FF/SF, default FS), lagMonths (integer, may be negative), note. Match key: (dependentCode, dependsOnCode). Both project codes must already exist — import Projects first.
Sample CSV
dependentCode,dependsOnCode,type,lagMonths,note PRJ-003,PRJ-001,FS,0,Mobile depends on Portal launch PRJ-004,PRJ-002,SS,1,Legal starts one month into DWH PRJ-002,PRJ-001,FF,0,Both wrap together