Documentation · Work-structure import
Work-structure import
Settings → Projects → Import structure… accepts a JSON file. The same format is what the Odoo and NetSuite connectors produce internally.
The shape
A document names its source and lists projects. Each project has an externalId, a name, and optionally customer, projectType, billableDefault and color. Its activities each have an externalId and name, and optionally parentExternalId for a hierarchy, seq for sibling order, and dependencies with a predecessor, a link type (finish-start, start-start, finish-finish, start-finish) and lag days.
The rules
- Rows match on source and external id, never on name. Renames flow through; re-imports never duplicate.
- Optional fields only overwrite when present, so colours and billing defaults set in the app survive a re-import.
- Hierarchy is resolved in a second pass, so order in the file does not matter; an unknown or cross-project parent is an error.
- Dependencies are cycle-checked. A restructured source re-parents locally and recomputes outline codes.
- The whole import is one transaction and fully audited.
Connector guides
The app repository documents how to produce the file from Azure DevOps, Dynamics 365 Finance and Operations, Dynamics 365 Business Central, and NetSuite. For Odoo and odoo-wbs the app fetches the structure itself; see the Odoo connector.