About transfer order
About Transfer Order
A Transfer Order is similar to a customer facing Sales Order, but is an internal order to move items or goods between locations. Transfer Orders allow for fulfillment and tracking of the goods being shipped and allows for a receiving process at the destination. The Transfer Order creation or processing functions in NetSuite, work in conjunction with the Advanced Inventory Application to allow information to be pulled and pushed between the two systems.
Functional Process
In NetSuite, the transfer order is created to moved items or goods from one location to another location. The locations represent actual physical locations such as warehouses, third party logistics, or retail establishments. The transfer order created in NetSuite is based on criteria sent to the database. The Transfer Order is ready to be fulfilled. The receiving team receives the order through the receiving process. When a transfer order is fulfilled, the inventory related to the order moves into a different category within the departing location. The inventory quantity for each item shows as In Transit. The inventory quantity for item shows as On Order for the receiving location. Once the receiving location completes the item receipt process, the inventory quantities for each item show as On Hand at the receiving location.
Note:For further information concerning order fulfillment or receiving, refer to the Item Fulfillment documentation.
Environment Considerations
To ensure optimal communication between the NetSuite interface and the Advanced Inventory app, refer to the following recommendations for the Transfer Order - Location to Location feature.
-
Transfer orders must be fulfilled and received in order for the inventory to reflect accurately in the system.
-
The Advanced Inventory app holds and batches data for the transactions, and passes the transactional data to NetSuite in batches through the RESTlet calls. However, the process can be modified to allow single threading of orders as required by the customer. The advantage of batching over single threading is that batching requires fewer calls to the NetSuite system, reducing latency concerns that may be present when using single threaded calls and transaction process. The batch is processed, when the user connects or reconnects to the NetSuite system via the Advanced Inventory interface. The processed batch creates an item fulfillment record and sets the status on the item fulfillment to correspond with the desired status state (picked, packed, shipped) requested by the customer.
Record definitions
The following table provides the names and definitions for fields associated with the Transfer Orders feature.
Name | Internal ID | Type | nlapiSubmitField | Required |
---|---|---|---|---|
Handling Cost | althandlingcost | currency | FALSE | FALSE |
Shipping Cost | altshippingcost | currency | FALSE | FALSE |
Class | class | select | FALSE | FALSE |
createddate | datetime | FALSE | FALSE | |
Created From | createdfrom | select | FALSE | FALSE |
Currency | currency | select | FALSE | FALSE |
Currency | currencyname | text | FALSE | FALSE |
Currency Symbol | currencysymbol | text | FALSE | FALSE |
Custom Form | customform | select | FALSE | TRUE |
Department | department | select | FALSE | FALSE |
Employee | employee | select | FALSE | FALSE |
Nexus | entitynexus | select | FALSE | FALSE |
Exchange Rate | exchangerate | currency2 | FALSE | TRUE |
ExternalId | externalid | text | FALSE | FALSE |
Firmed | firmed | checkbox | FALSE | FALSE |
FOB | fob | text | FALSE | FALSE |
Handling Cost | handlingcost | currency | FALSE | FALSE |
Base Currency | isbasecurrency | checkbox | FALSE | FALSE |
lastmodifieddate | datetime | FALSE | FALSE | |
Tracking # | linkedtrackingnumbers | text | FALSE | FALSE |
From Location | location | select | FALSE | FALSE |
Memo | memo | text | TRUE | FALSE |
Nexus | nexus | select | FALSE | FALSE |
Status | orderstatus | select | FALSE | TRUE |
Return Tracking # | returntrackingnumbers | text | FALSE | FALSE |
Shipping Address Line 1 | shipaddr1 | text | FALSE | FALSE |
Shipping Address Line 2 | shipaddr2 | text | FALSE | FALSE |
Shipping Address Line 3 | shipaddr3 | text | FALSE | FALSE |
Ship To | shipaddress | address | FALSE | FALSE |
Shipping Addressee | shipaddressee | text | FALSE | FALSE |
Ship To Select | shipaddresslist | select | FALSE | FALSE |
Shipping Attention | shipattention | text | FALSE | FALSE |
Shipping Address City | shipcity | text | FALSE | FALSE |
Ship Complete | shipcomplete | checkbox | FALSE | FALSE |
Shipping Address Country | shipcountry | text | FALSE | FALSE |
Ship Date | shipdate | date | FALSE | FALSE |
Shipping address is residential | shipisresidential | text | FALSE | FALSE |
Shipping Method | shipmethod | select | FALSE | FALSE |
shipoverride | text | FALSE | FALSE | |
Shipping Phone | shipphone | text | FALSE | FALSE |
shippingaddress | summary | FALSE | FALSE | |
Shipping Cost | shippingcost | currency | FALSE | FALSE |
Shipping Cost Overridden | shippingcostoverridden | text | FALSE | FALSE |
Shipping Address State | shipstate | text | FALSE | FALSE |
Shipping Address Zip Code | shipzip | text | FALSE | FALSE |
Source | source | text | FALSE | FALSE |
Status | status | text | FALSE | FALSE |
statusRef | text | FALSE | FALSE | |
Subsidiary | subsidiary | select | FALSE | TRUE |
Subtotal | subtotal | currency | FALSE | FALSE |
Total | total | currency | FALSE | FALSE |
Additional Tracking # | trackingnumbers | text | FALSE | FALSE |
Date | trandate | date | FALSE | TRUE |
Order # | tranid | text | FALSE | FALSE |
To Location | transferlocation | text | FALSE | TRUE |
Create a Transfer Order record
To create a transfer order, refer to the following example.
Example Using DSI_RecordCreate
{ "recordcategory": "transaction", "create": [{ "mc_user": "Roland.Deschain@gunslinger.com", "recordtype": "transferorder", "location": "", "transferlocation": "3", "subsidiary":"1", "sublists": [{ "sublistid": "item", "lines": [{ "nvpair": [{ "columnid": "item", "newvalue": "2240" },{ "columnid": "quantity", "newvalue": "1" }] }] }] }] }
Create an edit a Transfer Order record
To create an edit a transfer order record, refer to the following example.
Example Using DSI_RecordCreate
{ "recordcategory": "transaction", "create": [{ "mc_user": "Roland.Deschain@gunslinger.com", "recordtype": "transferorder", "location": "", "transferlocation": "3", "subsidiary":"1", "sublists": [{ "sublistid": "item", "lines": [{ "nvpair": [{ "columnid": "item", "newvalue": "2240" },{ "columnid": "quantity", "newvalue": "1" }] }] }] }] } Edit a transfer order Example Using DSI_RecordUpdate { "internalid": "21156", "recordtype": "transferorder", "tranid": "", "mc_user": "Cadet.Stimpy@dsiglobal.com", "updatefields": [{ "fieldid": "memo", "newvalue": "Updated from REST" }], "updatecolumns": [{ "sublistid": "item", "subrecordname":"inventorydetail", "lines": [{ "line": "1", "remove": "", "nvpair": [{ "columnid": "quantity", "newvalue": "4" }], "subrecord": [{ "subrecordid": "inventorydetail", "nvpair": [{ "columnid": "quantity", "value": "4" }], "sublists": [{ "sublistid": "inventoryassignment", "lines": [{ "linenum": "1", "remove": "", "nvpair": [{ "columnid": "quantity", "value": "2" },{ "columnid": "inventorynumber", "value": "L-Alpha1" }] },{ "linenum": "2", "remove": "", "nvpair": [{ "columnid": "quantity", "value": "2" },{ "columnid": "inventorynumber", "value": "L-Alpha2" }] }] }] }] }] }] }
NetSuite application activity
In NetSuite, the user will utilize the create Transfer Orders process to access the Transfer Order form. The user will enter information into the associated form and select to create the Transfer Order.
The NetSuite user navigates to the desired Transfer Order to initiate the fulfillment process. The Item Fulfillment is a transformative process, therefore, the fulfillment must use the Transfer Order as fulfillments and may not be created as independent transactions.
Once the Transfer Order is shipped, the order appears to be in transit at the originating location and on order at the receiving location. Once the order is received at the final destination, the NetSuite would select the associated Transfer Order and process an Item Receipt from the Transfer Order transaction. Since the receipt step is a transformative process, the Transfer Order must be used to complete the process.
Process a Transfer Order
The Transfer Order is a standalone transaction and does not require a base transaction. When a user enters information into the Advanced Inventory app, the data is stored and segmented into to batch files. The batch files are then transmitted to NetSuite via predefined connectors. NetSuite accepts the batched data and creates the Transfer Order.
However, Transfer Orders should only be created for the quantity of items that are available in inventory. Transfer Orders do not allow partial fulfillment or partial receipt, soi a Transfer Order is created with a deficit of inventory, the order cannot be fulfilled or received.
The following steps provide a generic outline of the fulfillment process from the Advanced Inventory app on a device through the NetSuite interface.
-
The end user logs into the applicable Advanced Inventory App on a device.
-
If the user does not select or deselect any lines or changes quantities, the process will assume all lines are to be fulfilled and the item fulfillment will match the base transaction upon NetSuite upload.
-
The user enters transfer order details.
-
The transfer order data is saved/stored in the device.
-
The data is batched and transmitted to NetSuite through the Advanced Inventory NetSuite connectors.
-
NetSuite receives and uploads the batched data.
-
NetSuite creates the Transfer Order.
-
If successful, the transfer order is created and the ID is returned to the user.
-
If not successful, the user will receive an error code, message and index response of what failed if available.
-
Create processing complete.
-
The user is prompted in Advanced Inventory App for Transfer Order to fulfill.
-
The user selects order(s) and follows steps in App.
-
The user completes data input.
-
The information is sent to NetSuite.
-
NetSuite completes item receipt process.
The transfer order is complete.
Error codes
The following list defines the error codes that are possible when using the Item Fulfillment feature.
Communication Error
A user will receive this error if the communication between the Advanced Inventory Interface and the NetSuite Interface fails and should allow the user to restart the process.
Input Error
A user will receive this error if the input data has been entered incorrectly or the record did not create and should allow the user to restart the process.
Not Found Error
A user will receive this error if the input data is not found during request or processing.
Interface activity when processing Transfer Orders
The following information describes the interface activity when the Transfer Orders feature is processed.
DSI interface activity
The Advanced Inventory Interface is designed to prompt a user utilization a mobile device to enter variables to create and process transfer orders without having to log into NetSuite. The Advanced Inventory Interface is designed to process transactions as they are completed or to hold the transactions until the user connects to the NetSuite Interface again. The Advanced Inventory Interface provides the user with the following options/input capabilities and captures the following data points.
NetSuite interface activity
When user connects to the NetSuite Interface, the data that has been stored is transmitted into the databae which creates and processes Transfer Order transactions.
When the user connects to the NetSuite Interface, the Advanced Inventory Interface will perform the following actions.
-
Log the Advanced Inventory Interface user into NetSuite using the assigned and stored NetSuite user login information.
-
Accept the input data that the user has stored within the Advanced Inventory Interface.
-
Upload the data and create the corresponding NetSuite Transaction(s).
-
Send a success or error message response to the user.
-
Provide the user with the transaction ID(s) created during the process via communication protocols with the Advanced Inventory Interface.
Validate that the Transfer Order has processed
When transfer order transaction is completed in NetSuite, transaction records are created with unique transaction ID information.
To validate that the record processed and is accurate, complete the following steps on a device.
-
Log into the Advanced Inventory app on a device.
-
Enter the Transfer Order information following Advanced Inventory App prompts.
-
Submit the Transfer Order.
-
The Advanced Inventory App user fulfills Transfer Order.Expected ResultThe order(s) will be shipped.
-
The receiver uses the Advanced Inventory app to receive the orders.Expected ResultThe order receipt information is transmitted to NetSuite and Item Receipts are created.
Note:The Advanced Inventory App processes the batch to NetSuite and the Transfer Order is created.
The order is complete.
Loading...
There was a problem loading this topic