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

 

 

 

 

 

 

Rookie Asked on July 28, 2020 in Inventory.

Hi Steve,

Which API are you referring to? SuiteTalk, REST Web Services, etc.

Thanks,

Chris

on July 28, 2020.

Chris

It’s the Rest Web Services.

Regards

Steve

 

 

on July 29, 2020.

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

 

on July 29, 2020.
Add Comment
1 Answer(s)

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.

Intermediate Answered on July 28, 2020.
Add Comment

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.
  • This site made possible by our sponsors:   Tipalti   Celigo   Limebox   Become a Sponsor