Skip to main content

Inbound Shipment flow error



  • Chris Bidleman Integration Solutions Director

    Hi Dipayan,

    The inbound shipment record is tricky to work with. You have to remember it is a container for different purchase orders and the various line items that can be on the inbound shipment record. Even NetSuite classifies this record as "other" and not a transaction.

    To receive an inbound shipment you will want record type = "receive inbound shipment" and your operation will be "add". You mappings should include:

    1. Receiving location (name)
    2. Inbound shipment (ideally this should be the internal ID of the inbound shipment record)
    3. Date (delivery date and make sure to set the date format masking and right time zone)
    4. Vendor (optional)
    5. Items : Receive = true or false (use handlebar expression: {{#compare ActualQuantityReceived "!=" 0}}"T"{{else}}"F"{{/compare}})
    6. Items : quantity to be received (actual quantity received. NOTE: NetSuite does not allow over receipts. This will error out if you try to over receive)
    7. Items : rate (price of the items received. This could be optional)
    8. Items : ID (Don't use Items : Item. This should be marked as a key field to find existing lines. This is the line number of the item you are trying to receive and likely why you are getting a sublist error. Items may not be unique on an inbound shipment as you can have the same item on two different PO's so NetSuite need the line number (ID) to find the right line to update.  You can get this value by either doing a dynamic search for the value or you can do a lookup step before you create the receive inbound shipment to get a list of the line ID's for the open inbound shipments. Or perhaps you are already getting the line ID from the vendor so that would be a standard mapping).

    Good luck. I hope this helps.

  • Dipayan Samanta
    Celigo University Level 4: Legendary

    Thank you chris. But I am lost in Item lookup.I used the below lookup

    PIA+1+79920001xx:SA'  //vendor item code
    IMD+F++:::Polarshine xxxxxx xxxxx :1L'

    But still getting a sublist error. Please advise.

    Another question arrived, how this DESADV got to know for which sales order I am creating it? I mean it should match with specific sales order item details, quantity..right?

  • Kate Larson Community moderator Principal Technical Writer
    Celigo University Level 3: Master

    Hi Dipayan Samanta,

    Thanks for posting this to the community. If you need additional help, my recommendation is that you sign up for an office hours session where one of our solution consultants can provide guidance.

  • Martin Jahn Channel Partner
    Celigo University Level 1: Skilled

    Documentation is tough all around but here is what worked and allowed me to receive partial quantities on lines and selectively receive lines as well in my integration flow based on the lines passed in the source data:

    1. Date -> set as needed
    2. Inbound Shipment (Field ID:internalid) -> set to internal id of the Inbound Shipment you want to receive
    3. Items : Replace All Lines -> hard code to "true" so only the lines you pass are added to the receipt
    4. Items : Quantity to be Received -> the qty to receive
    5. Items : Receive -> hard code to "true' if all your source data lines have qty to be received
    6. Items : Item (InternalId) -> I needed to do a look up from the SKU (item name) passed by my external application
    7. Items : ID -> this is the line key from the Inbound Shipment (Items - Line Id is the field when doing a Saved Search on Inbound Shipments)

    I also added a custom record import as my first step to track the External ID's of the submitted 'Receive Inbound Shipment' to prevent duplicates being processed as there is no 'Receive Inbound Shipment' record created (it is essentially a virtual record that ultimately creates item receipts).

    Happy Integrating to you all!


Please sign in to leave a comment.