How to indicate received quantity mapping when creating item receipts

Hello,

I am exporting item receipt data out of a MS DB with a SQL query to transform purchase orders and create item receipts in NetSuite.

I am grouping my records by PO # with Celigo and am successfully transforming the PO to create an item receipt by indicating the PO # I set to the "Created from" field.

However, I am having difficulty indicating the actual quantity of received items on my receipts I am creating, as Celigo is always creating a receipt that indicates it has received all items

I was hoping to receive some advice on how to indicate this within my mapping correctly. I have tried a combination of approaches including mapping my correct DB field 'Quantitynormalized' and the internalid of my NS item 'NSItemInternalID'.

I believe my issues lies in the mapping for my NS item id based on info received in a Celigo Office hours call but we were unsure what syntax to use. Any help would be appreciated!

Sample Export :

Mapping :

Internal NS Fields of a fully transformed Item Receipt

In the preview in your screenshot it's strange that your item id is being mapped on the receipt header level, and not in the item>lines array. Maybe the spelling in the mapping isnt exactly what the NetSuite label is.

Can you try deleting the current mapping for itemid, adding it again using the auto-complete and try if it maps into the array then?

Try mapping the NSItem id with destination: Items : Item (Field ID: itemkey)

It seems the you typed Internal Id in the the destination field manually, because there is no autocomplete for Items : Item (InternalId). However that field doesn't exist on the item sublist of Item Receipts in NetSuite.

For mapping an inventory item by its internal ID in a line-level context, the correct field to use is:

Items : Item (Field ID: itemkey)

When you manually enter a non-existent destination field like "Items : Item (InternalId)", Celigo treats it as a header-level field (inside nlobFieldIds) instead of part of the item lines (nlobSublistIds). That’s why the item didn’t show up in the lines array.

Here's the relevant schema excerpt for the item sublist on the Item Receipt record in NetSuite — note that itemkey is the correct internal ID field:

Ethan,
Thank you for attending Office Hours yesterday and as discussed here is the solution we were referring to.

If you put in item[*].item.internalid it will let you map directly to the internalId of the item you are trying to receive against and add the quantities to that item to create a partial receipt.

Here is a video showing the working solution.
po_receipt_by_internalId

Hi all,

Apologies for the delayed response I was out for the remainder of last week.

I was able to add the corresponding mapping and accurately create a partially received receipt.

My main issue was the way I was receiving the data initially so I had to do a quick transformation to make sure items were in a sublist for each PO.

Thanks again for all your help.

1 Like