How do update a transfer orders fulfilled and received quantities via the API
Hi
Very new to net suite so bear with me.
We already pull transfer orders from netsuite in to our system.
I now need to update the transfer orders fulfilled quantity when we dispatch the stock through our own system and then update is received quantity when we receive the stock in on our system.
I can get the appropriate transfer order through the API but I setting the quantities on the item object and the updating the transfer order object doesn’t do anything.
Any help would be appreciated,
Steve
If you are trying to explicitly set fullfilled/received quantities, that wont work. You need to create item fulfillments/item receipts against the transfer order. Those quantities come from those linked transactions and cannot be manually set.
Chris Abbott
Hi Steve,
Which API are you referring to? SuiteTalk, REST Web Services, etc.
Thanks,
Chris
SteveRowlands
Chris
It’s the Rest Web Services.
Regards
Steve
SteveRowlands
OK, based on the answer given below, my colleague who started working on this was on the right track.
But we can’t get it to work and not sure what we are doing wrong.
Below is an extract of the relevant bits of code. We create the ItemFulfillment object and assign it a RecordRef with the interanl id of the transfer order.
The for each TransferOrderItem we create a ItemFulfillmentItem and assign that a RecordRef with the internal id of the TransferOrderItem
Set the quantity.
When we try to add the fulfillment we get Unable to find a matching line for sublist item with key: [orderLine] and value: [1].
// Creates a fulfillment for the transfer order
// netSuiteTransferOrderToPost is the TransferOrder from netsuite
ItemFulfillment toFulfillment = new ItemFulfillment()
{
createdFrom = new RecordRef()
{
internalId = netSuiteTransferOrderToPost.internalId,
type = RecordType.transferOrder,
typeSpecified = true
},
tranDate = orderUpdatedDates[netSuiteTransferOrderToPost.tranId],
tranDateSpecified = true
};
ItemFulfillmentItemList fulfillmentList = new ItemFulfillmentItemList();
List<ItemFulfillmentItem> fulfillmentListItems = new List<ItemFulfillmentItem>();
fulfillmentList.replaceAll = true;
// Loop through through the transfer order items
// netSuiteTransferOrderToPostItem is the TransferOrderItem from netsuite
// correspondingUpdateItem is from our system and corresponds to the netSuiteTransferOrderToPostItem we are trying to update
ItemFulfillmentItem ifi = new ItemFulfillmentItem()
{
orderLine = netSuiteTransferOrderToPostItem.line,
orderLineSpecified = true,
item = new RecordRef()
{
internalId = netSuiteTransferOrderToPostItem.item.internalId
}
};
ifi.quantity = (double)correspondingUpdateItem.QtyReceived;
ifi.quantitySpecified = true;
fulfillmentListItems.Add(ifi);
// finailze the fulfillment and add
fulfillmentList.item = fulfillmentListItems.ToArray();
toFulfillment.itemList = fulfillmentList;
service.NetSuiteService.add(toFulfillment);
// the add returns status isSuccess false
// the status details report: Unable to find a matching line for sublist item with key: [orderLine] and value: [1].
Thanks for looking at this.
Steve