Skip to main content

Importing work orders from a CSV file

File format

By default each row is one work order, and its operations are copied automatically from the matched route — so you do not list operations in the file. (To list operations yourself, see Listing operations per row below.)

Your CSV should have the following columns:

  • wo_number: the work order's unique identifier
  • component: the component's unique identifier (must already exist)
  • quantity: quantity expected

To add extra information, you can include these columns:

  • route_version: which route version of the component to use. If omitted, the component's only route is used — if it has more than one, the row errors and you must specify one.
  • issue: the component issue / revision to build. If omitted, the component's only issue is used — if it has more than one, the row errors and you must specify one.
  • due_date: due date (e.g. 2026-06-10)
  • status: planned, released, in_progress, completed or cancelled. Imported work orders default to released.
  • quantity_completed: quantity already made (a whole number)
info

Every row must reference a component (and, where the component has more than one, a route version and issue) that already exist in your organisation. Importing work orders does not create components or routes — import those first from Importing components.

Listing operations per row

Add an op column (alias op_number) to list operations explicitly instead of copying the whole route. Each row is then one operation, and rows are grouped by wo_number — the work-order fields above are read once per work order from its first row.

Each operation takes its defaults from the matching route step, and these optional columns override them:

  • op_description (alias description): operation description
  • cycle_time: cycle time in seconds (a blank cell keeps the route step's time)
  • setup_time: setup time in seconds (a blank cell keeps the route step's time)

You can list a partial set of operations — the work order gets exactly the ops you list. An operation number that isn't on the route is allowed (it just has no defaults to inherit). Listing the same op number twice for one work order is an error.

How to import

  1. Go to Work Orders, then click Import
  2. Select your CSV file
  3. Optionally tick Overwrite existing work orders (see Overwriting)
  4. Click Start Review to validate the data
  5. Check the preview — any rows that can't be matched are listed as errors
  6. Click Confirm Import once every row is valid

Matching rules

For each row the importer looks up:

  • the component by its unique identifier,
  • the route version on that component (or its only route, if unspecified),
  • the issue on that component (matched case-insensitively, or its only issue if unspecified).

If any of these can't be found, or a work order with the same wo_number already exists (and you are not overwriting), that row is reported as an error and nothing is imported until it is fixed.

Overwriting

By default a wo_number that already exists is an error. Tick Overwrite existing work orders to update them instead. Only work orders that haven't started — planned or released — can be overwritten; ones already in_progress, completed or cancelled are left untouched and reported as errors. The review screen marks an existing work order with an Update badge and a new one with a New Work Order badge.

Example

Download example CSV

wo_number,component,route_version,issue,quantity,due_date,status
WO-1001,155332,1,A,50,2026-06-10,released
WO-1002,155333,2,B,25,2026-06-12,released

Listing operations per row with an op column:

wo_number,component,quantity,op,op_description,cycle_time,setup_time
WO-1003,155332,40,10,Face Off Block,145,399
WO-1003,155332,40,20,Semi-Finish Block,150,