On the left, the workorder reporting screen shows by default all completed pieces of material from the last 36 hours. You can change the time range and reload completed material inside the "Workorder Settings" card. For each piece of material it shows the completed time and part type. If you click on a row, more details about the part will be shown, including the log of all events related to this piece of material. The pencil icon on each piece of completed material allows you to edit the serial and workorder.
On the right, the unfilled workorders are shown (see below for the settings on where workorders are loaded from). For each unfilled workorder, the workorder ID, priority, due date, and planned quantity are shown. Also, the count of the number of pieces of material assigned to this workorder is shown. By clicking on a workorder row, you can view more details. The serials of all parts assigned to the workorder are shown, plus the accumulated machining and labor time for the workorder.
Each workorder has a checkbox on the left. By selecting one or more workorders, a button "Mark As Filled" will appear at the top of the card. By clicking on the "Mark As Filled" button, all the selected workorders will be reported to the ERP system as filled. (See below for more details on the reporting format.) Note that OrderLink does not require the planned and completed counts to match; if needed, you can mark a workorder as filled before it has the full count to clean up old workorders, or assign more parts to a workorder if for example some part had to be scrapped. Having said that, if this happens frequently, you should investigate why the part counting is incorrect. An occasional workorder where OrderLink or the operators lost the count is suboptimal but easily recovered from, but a recurring part counting issue should be investigated.
Workorder settings are shared with the bookings, and therefore come in two possible modes.
Workorders can be loaded from CSV files. Since this setting is shared with the bookings, the workorders and bookings CSV files must all live in the same directory (typically on a network share).
workorders.csv file contains all the workorders. OrderLink treats this file as read-only
and never edit or update it. It can either be edited manually or generated as an export from the ERP.
Id,DueDate,Priority,Part,Quantity 12345,2017-10-29,100,part1,50 98765,2017-10-31,100,part2,77
Id column is the workorder identifier and should be unique and never
reused. The due date and priority are used by OrderLink to help sort the
workorders for filling. A single workorder can have more than one part in it, in
which case two parts should be on separate lines with the same workorder
Since OrderLink treats the
workorders.csv file as read-only, when a workorder is filled OrderLink instead creates a file named
after the workorder ID into the
filled-workorders folder. For example, if you click the "Mark As Filled" button with the workorder
selected, Orderlink will create a file
filled-workorders\12345.csv with the following contents:
CompletedTimeUTC,ID,Part,Quantity,Serials,Active Load (minutes),Active Machine (minutes),Elapsed Load (minutes),Elapsed Machine (minutes) 2016-11-05T03:44:52Z,12345,part1,44,serial1;serial2,105,107,201,210
There will be one row per part, with the following columns:
ID: The workorder ID, which also matches the filename.
Part: The part name. There is one row per part type.
Serials: All the serials which were assigned to this workorder. The serials are separated by a semicolon.
Active time: There is an active time column for both load and machining. The active time comes from the flexibility plan and is the expected time the load/unload operation takes or the expected cycle time. The active time is added for all pieces of material assigned to the workorder.
Elapsed time: There is an elapsed time column for both load and machining. For load, the elapsed time is the wall clock time between the pallet arriving at the load station and the operator pressing the ready button. For machining, the elapsed time is the wall clock time between cycle start and cycle stop, so therefore includes any program interruptions.
See the whitepaper for some discussion on how to turn the active and elapsed time into a cost estimate of the workorder.
The workorders loaded by OrderLink are everything in
workorders.csv except the workorders in the
If you are manually editing
workorders.csv, typically the best method is to just delete entirely the
filled-workorders folder and then manually edit the
workorders.csv to be exactly the unfilled
workorders that you want to view inside OrderLink. If instead the
workorders.csv file is
being exported from the ERP, you should also create an ERP task which imports the
filled-workorders CSVs. Indeed, once OrderLink creates a file in the
folder, this file can be imported into the ERP to mark the workorder as filled inside the ERP and also use the active
and elapsed time to estimate the cost of the workorder. Then, the next time
the unfilled workorders are exported into the
workorders.csv file, the filled workorders should be
missing because the ERP marked them that way. The CSV in the
filled-workorders folder should then be deleted so that
the size of the folder does not grow over time (OrderLink never edits or deletes any
The custom plugin must be a .NET Framework DLL which implements the
the BlackMaple.SeedOrders project. For more details on the
exact API and an example C# implementation, see the BitBucket SeedOrders project.