Skip to main content

Manual import

Instead of entering results one operation at a time, you can upload a CSV file to record many results at once. This is useful when results are collected elsewhere (for example, in another system or a spreadsheet) and then brought into My Schedule in bulk.

Manual import is available on the Operation Table. It only appears on projects where result input is enabled (see prerequisites).

Importing a result CSV

  1. Open the Operation Table.
  2. Open the detailed menu from the toolbar (the slide-in menu on the left).
  3. In the Import section, click Import Result CSV.
  4. Choose your result CSV file. The results are recorded and the table refreshes to show the updated values.

Next to the button, Download example CSV provides a ready-made sample in the correct format.

The result CSV format

The file must be a CSV encoded in UTF-8 (with BOM). The first row is the header; each following row is one operation's result.

Code,Work_Status,Work_ResultStartTime,Work_ResultEndTime,Work_ResultObtainTime,Work_ResultMainRes,Work_ResultProgress,Work_ResultQty,Work_ResultScrap
OP001,B,2024/12/01 08:00:00,2024/12/01 10:30:00,2024/12/01 10:00:00,RES001,100,50,2
OP002,T,2024/12/01 09:00:00,,,RES002,75,25,
ColumnDescriptionFormat / allowed valuesRequired
CodeThe operation code — identifies which operation the result applies to.stringYes — rows with an empty Code are skipped.
Work_StatusThe operation's status.one of A (Scheduled), I (Released), D (Frozen), T (Started), B (Completed)No
Work_ResultStartTimeReported start time — when work actually started.YYYY/MM/DD HH:mm:ssNo
Work_ResultEndTimeReported end time — when work actually finished.YYYY/MM/DD HH:mm:ssNo
Work_ResultObtainTimeResult obtained time — when the result was recorded.YYYY/MM/DD HH:mm:ssNo
Work_ResultMainResReported main resource — the resource that actually performed the operation.string (resource code)No
Work_ResultProgressReported progress rate.number, 0100No
Work_ResultQtyReported quantity produced.numberNo
Work_ResultScrapReported scrap quantity.numberNo

See Results for what each property means.

How columns are handled

  • Column order does not matter. Columns are matched by their header name, so you can arrange them in any order. (This is unlike the user import CSV, where columns are matched by position.)
  • Unknown columns are ignored. Any column whose header is not one of the recognized names above is simply skipped, so extra columns in your export do no harm.
  • Header names must match exactly. Names are case-sensitive; surrounding spaces are trimmed.
  • Empty vs. cleared. Leave a cell empty to omit that property (the operation's existing value is left unchanged). Enter the literal text null to explicitly clear the property.
warning

My Schedule does not check that the values within a row are consistent with one another. For example, a row can set the status to Started (T) while also supplying a reported end time. Such contradictory rows are imported as-is rather than rejected, but they can cause the app to behave unexpectedly. Make sure each row's values form a coherent result before importing.