Transaction Command CSV
The Transaction Command import file allows the transaction of released orders through the operations of a Scheduling Order. To help describe the feature, this is an example rope of four operations:
10
R1
8:00 AM
11:00 AM
20
C1
11:00 AM
1:00 PM
2:00 PM
30
R2
2:00 PM
3:30 PM
Shipping
3:30 PM
4:30 PM
4:30 PM
Each operation is uniquely identified by a Sequence number, and each have Start and End Date values. Buffered resources also have a Receive Date.
When transacting, partial or full quantities can be entered in any transactional order. In addition, notes can be associated with any operation. Any released, non-closed order can be transacted.
File Format
The file format contains both required and optional fields, with required indicated by the ⭐
The first three fields identify the scheduling order and operation for the entry. Note that the very last operation, Shipping or Completion, is indicated with a -1 for OperationSequenceNumber.
OrderNumber ⭐
text(50)
The identifier of the Scheduling Order
Location ⭐
text(32)
The location of the Scheduling Order
OperationSequenceNumber ⭐
integer
The unique identifier for an operation in the rope
EntryDate
datetime
Optional date/time value in the timezone for the location; if not provided, the instance timezone for the location will be used
EntryType ⭐
text
A text command, see below
Quantity
decimal
Optional quantity as a decimal value, when supplied must be zero or greater
IsLastBatch
boolean
Optional indicator should the the operation be completed for receive, start or complete
BackfillPrevious
bool
Optional flag to backfill all previous operations and mark them as "last batch", both this field and IsLastBatch must be set to true for this feature to be engaged
Notes
text(255)
Optional notes and a free-form reason code value
Entry Type Commands
These are the available commands when performing transactions:
receive_qty
Quantity must be >= 0 and for buffered resources only
start_qty
Quantity must be >= 0
complete_qty
Quantity must be >= 0
reason_code
move_to_inventory
On the final buffer only
move_out_of_inventory
On the final buffer only
When the command is applied the EntryDate field is first consulted. If no value is provided, then the current date/time value at the location's timezone is used.
Usage Example
Any number of commands for the same OrderNumber / Location can be imported. Only released and non-closed orders can be transacted, otherwise an error is reported.
Using the rope above as an example and a order quantity of 100, these could be some transactions for a single order (just the relevant columns are shown):
10 / R1
start_qty
100
true
10 / R1
complete_qty
50
false
20 / C1
receive_qty
50
false
10 / R1
complete_qty
45
true
20 / R1
receive_qty
45
true
20 / C1
start_qty
95
true
These steps perform the following actions:
After being released, the full quantity of 100 is started on R1
The first 50 of that quantity is partially completed on R1
That quantity of 50 is partially received into the buffer of C1
The operation at R1 is fully completed with a quantity of 45 and a loss of 5
The quantity of 45 is fully received into 45
The current order quantity of 95 is fully started at C1
Backfill Feature
This interface also allows optional backfilling. In this context, backfilling means marking all the previous steps as complete the current quantity provided. As noted above, for this to work both the IsLastBatch and BackfillPrevious need to be set to true for a single line in the import file.
Error Reporting
Errors will be reported in the following cases:
Attempting to transact an order that has not been released
Attempting to transact an order that is closed, with the exception of
reason_codeAttempting to transact an operation that is already marked as "last batch"
All other transactions will respond with no error.
Last updated