856 Advanced Shipment Notice

Entities

Below is a summary of the entities queried from NetSuite to populate the data in the 856.

Item Fulfillment Query Fields

NetSuite Query FieldItemFulfillment Class PropertyDescription
item_fulfillment.idinternalIdInternal ID of the item fulfillment record
item_fulfillment.tranidtranIdTransaction ID (document number)
item_fulfillment.entitycustomerIdCustomer internal ID
order.idsalesOrderIdSales order internal ID
order.tranidsalesOrderNumberSales order transaction number
order.otherrefnumpurchaseOrderNumberCustomer's purchase order number
item_fulfillment.custbody_orderful_department_numberdepartmentNumberDepartment number
item_fulfillment.trandateshipDateDate of the item fulfillment
item_fulfillment.custbody_orderful_documentorderfulTransactionIdOrderful transaction ID

Shipping Address

NetSuite Query FieldShippingAddress PropertyDescription
transactionshippingaddressbook.internalidaddressBookIdAddress book internal ID
transactionshippingaddress.countrycountryCountry
transactionshippingaddress.addr1addr1Address line 1
transactionshippingaddress.citycityCity
transactionshippingaddress.statestateState/province
transactionshippingaddress.zipzipPostal code
transactionshippingaddress.addresseeaddresseeAddressee name
transactionshippingaddress.attentionattentionAttention line
transactionshippingaddress.addrphoneaddrphonePhone number
edi_address.store_edi_id || edi_address.store_namestoreNumberStore number/identifier
edi_address.dc_edi_id || edi_address.dc_name || item_fulfillment.custbody_orderful_ship_dc_numberdcNumberDistribution center number

Shipping Details

NetSuite Query FieldShippingDetails PropertyDescription
item_fulfillment.custbody_shiphawk_carrier_service || shipitem.itemidshipMethodShipping method
shipping_lookup.custrecord_orderful_service_scac || customrecord_orderful_shipping_carrier.custrecord_orderful_carrier_scaccarrierSCACCodeCarrier SCAC code
item_fulfillment.custbody_orderful_pro_numberproNumberPRO number (carrier tracking)
item_fulfillment.custbody_orderful_bol_numberbillOfLadingBill of lading number
item_fulfillment.custbody_orderful_itf_transit_daystransitDaysTransit days
item_fulfillment.custbody_orderful_edi_routingediRoutingEDI routing information
item_fulfillment.custbody_orderful_edi_serviceediServiceCodeEDI service code
item_fulfillment.custbody_orderful_edi_carrierediCarrierNameEDI carrier name

Ordered Line Item

NetSuite Query FieldOrderedLineItem PropertyDescription
idlineInternalIdInternal ID of the transaction line
item_internal_iditemInternalIdInternal ID of the inventory item
transaction_idtransactionIdInternal ID of the transaction (sales order)
itemiditemIdItem ID/name (external identifier)
upccodeupcCodeUPC code of the item
skuskuSKU (vendor part number)
memodescriptionLine item description/memo
quantityorderedQuantityQuantity ordered (absolute value)
auto_pack_units_per_cartonautoPackUnitsPerCartonUnits per carton for auto-packing
custcol_orderful_line_refpurchaseOrderLineRefPurchase order line reference
units or orderful_unitsunitsUnit of measure (converted to EDI format)
orderful_item_identifiersitemIdentifiersJSON string of item identifiers (parsed)
orderful_kit_refkitRefReference to kit this item belongs to
orderful_kit_identifierskitIdentifiersJSON string of kit identifiers (parsed)
orderful_kits_countkitsCountNumber of kits
orderful_store_numberstoreNumberStore number

Warehouse Address

NetSuite Query FieldWarehouseAddress PropertyDescription
location_internal_idlocationInternalIdInternal ID of the location
warehouse_code or warehouse_namewarehouseCodeWarehouse code (falls back to name)
warehouse_namewarehouseNameWarehouse name
main_address_countrycountryCountry
main_address_addr1addr1Address line 1
main_address_citycityCity
main_address_statestateState/province
main_address_zipzipPostal code
main_address_addresseeaddresseeAddressee name
main_address_attentionattentionAttention line
main_address_phoneaddrphonePhone number

Return Address

NetSuite Query FieldReturnAddress PropertyDescription
return_address_id-Return address ID (Used to determine if it exists)
location_internal_idlocationInternalIdInternal ID of the location
warehouse_code or warehouse_namewarehouseCodeWarehouse code (falls back to name)
warehouse_namewarehouseNameWarehouse name
return_address_countrycountryCountry
return_address_addr1addr1Address line 1
return_address_citycityCity
return_address_statestateState/province
return_address_zipzipPostal code
return_address_addresseeaddresseeAddressee name
return_address_attentionattentionAttention line
return_address_phoneaddrphonePhone number


Carton

NetSuite Query FieldCarton Class PropertyDescription
customrecord_orderful_carton.idinternalIdInternal ID of the carton record
customrecord_orderful_carton.namenameName of the carton
customrecord_orderful_carton.custrecord_orderful_carton_fulfillmentitemFulfillmentIdItem fulfillment internal ID
customrecord_orderful_carton.custrecord_orderful_carton_lengthlengthLength of the carton
customrecord_orderful_carton.custrecord_orderful_carton_widthwidthWidth of the carton
customrecord_orderful_carton.custrecord_orderful_carton_heightheightHeight of the carton
customrecord_orderful_carton.custrecord_orderful_carton_weightweightWeight of the carton
customrecord_orderful_carton.custrecord_orderful_carton_is_palletisPalletWhether the carton is a pallet (T/F)
customrecord_orderful_carton.custrecord_orderful_carton_palletparentPalletIdParent pallet ID if this carton is on a pallet
customrecord_orderful_carton.custrecord_orderful_carton_custom_serialserialNumberCustom serial number
customrecord_orderful_carton.custrecord_orderful_carton_trackingtrackingNumberTracking number
customrecord_orderful_carton.custrecord_orderful_carton_tierstiersNumber of tiers (for pallets)
customrecord_orderful_carton.custrecord_orderful_carton_blocksblocksNumber of blocks (for pallets)
customrecord_orderful_carton.custrecord_orderful_carton_sscc18ssccSerial Shipping Container Code

Packed Item

NetSuite Query FieldPackedItem PropertyDescription
customrecord_orderful_shipped_item.idinternalIdInternal ID of the shipped item record
customrecord_orderful_shipped_item.custrecord_orderful_shipped_itemitemInternalIdItem internal ID
customrecord_orderful_shipped_item.custrecord_orderful_shipped_quantitypackedQuantityQuantity of the item packed

Carton (Analytics Dataset)

Dataset Column LabelCarton Class PropertyDescription
FulfillmentitemFulfillmentIdItem fulfillment internal ID
CartoninternalIdCarton identifier
Itemitems[].itemInternalIdItem internal ID
Quantityitems[].packedQuantityQuantity of the item packed
LengthlengthLength of the carton
WidthwidthWidth of the carton
HeightheightHeight of the carton
WeightweightWeight of the carton
IsPalletisPalletWhether the carton is a pallet
ParentparentPalletIdParent pallet ID
SerialserialNumberSerial number
TrackingtrackingNumberTracking number
TierstiersNumber of tiers (for pallets)
BlocksblocksNumber of blocks (for pallets)
SSCCssccSerial Shipping Container Code
Lotitems[].lotSerialNumberLot or serial number of the item
Expirationitems[].expirationDateExpiration date of the item

856 Field Mapping

Below is a summary of how all the current fields are mapped from the above entities into an outbound 856.


Header Information

LevelOrderful FieldNetSuite FieldNotes
Headersender.isaId{{NetSuite: ISA or Test ISA}}Interchange sender ID
Headerreceiver.isaId{{NetSuite: Partner ISA or Test ISA}}Interchange receiver ID
Headertype.name-Fixed value: 856_SHIP_NOTICE_MANIFEST
Headerstream{{NetSuite Mode}}Test or Production

Beginning Segment (BSN)

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0]beginningSegmentForShipNoticetransactionSetPurposeCode'00'Hardcoded
TransactionSets[0]beginningSegmentForShipNoticeshipmentIdentificationitemFulfillments[0].tranid
TransactionSets[0]beginningSegmentForShipNoticedateformat(currentDate, DateTimeFormat.yyyyMMdd)currentDate = new Date()
TransactionSets[0]beginningSegmentForShipNoticetimeformat(currentDate, DateTimeFormat.HHmmss)currentDate = new Date()
TransactionSets[0]beginningSegmentForShipNoticehierarchicalStructureCode'0001'

Date/Time Reference (DTM at Header Level)

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0]DTMdateTimeQualifierOrderful.DateTimeQualifier.ShippedValue = '011'
TransactionSets[0]DTMdateformat(shipDate, DateTimeFormat.yyyyMMdd)shipDate = itemFulfillments[0].trandate

Shipment Level (HL "S")

Note: There may be multiple item fulfillments associated with an 856. Everywhere in the shipment level that itemFulfillment is referenced, the code uses the first item fulfillment found. This is because it is assumed that every item fulfillment associated with an 856 has the same shipping information.

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]HLhierarchicalIDNumber'1'Fixed value "1" for shipment level
TransactionSets[0].Hl_Loop[]HLhierarchicalLevelCode'S'Fixed value "S" for shipment level

Shipment Carrier Details (TD1)

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightpackagingCodePackagingCode.Pallet || PackagingCode.CartonValue is “PLT” or “CTN”
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightladingQuantitypallets.length.toString() || packs.length.toString()Pallets or packs retrieved from carton info
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightweightQualifierWeightQualifier.GrossWeight“G”
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightweightcarton.weight
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightunitOrBasisForMeasurementCodeUnits.Pounds“LB”
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightvolumesum of carton.length * carton.width * carton.heightFor every carton
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightunitOrBasisForMeasurementCode1Units.Inches“IN”

Shipment Carrier Routing Information (TD5)

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]carrierDetailsRoutingSequenceTransitTimeroutingSequenceCode“B”Fixed value "B"
TransactionSets[0].Hl_Loop[]carrierDetailsRoutingSequenceTransitTimetransportationMethodTypeCodeTransportationMethodType.Motor_Common_CarrierFixed value "M"
TransactionSets[0].Hl_Loop[]carrierDetailsRoutingSequenceTransitTimeroutingshippingLookup?.name || itemFulfillment.shippingDetails?.ediRouting || itemFulfillment.shippingDetails?.shipMethod || ''
TransactionSets[0].Hl_Loop[]carrierDetailsRoutingSequenceTransitTimeshipmentOrderStatusCodeShipmentStatus.Ship_CompleteFixed Value “CC”
TransactionSets[0].Hl_Loop[]carrierDetailsRoutingSequenceTransitTimetransitDirectionCodeTransactionDirection.Seller_to_BuyerFixed Value “SB”
TransactionSets[0].Hl_Loop[]carrierDetailsRoutingSequenceTransitTimetransitTimeDirectionQualifier“SD”Only if shipping details has transitDays
TransactionSets[0].Hl_Loop[]carrierDetailsRoutingSequenceTransitTimetransitTimeitemFulfillment.shippingDetails.transitDays.toString()
TransactionSets[0].Hl_Loop[]carrierDetailsRoutingSequenceTransitTimeserviceLevelCodeshippingLookup?.serviceLevelCode || itemFulfillment.shippingDetails?.ediServiceCode || ShippingService.GroundFallback Value is “CG”
TransactionSets[0].Hl_Loop[]carrierDetailsRoutingSequenceTransitTimeidentificationCode{{NetSuite: EDI Shipping Lookup - CARRIER.SCAC}}SCAC code
TransactionSets[0].Hl_Loop[]carrierDetailsRoutingSequenceTransitTimeidentificationCodeQualifierIdentificationCodeQualifier.SCACFixed value "2"

Shipment Reference Information (REF at Shipment Level)

Note: Up to 3 instances of the referenceInformation segment are mapped, depending on values existing for bill of lading and pro number.

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]referenceInformationreferenceIdentificationQualifierTrackingReferenceQualifier.Warehouse“WH”
TransactionSets[0].Hl_Loop[]referenceInformationreferenceIdentificationorderedItems[0].warehouseAddress.warehouseCode
TransactionSets[0].Hl_Loop[]referenceInformationreferenceIdentificationQualifierTrackingReferenceQualifier.Bill_of_Lading_Number“BM” (only if shippingDetails.billOfLading is populated)
TransactionSets[0].Hl_Loop[]referenceInformationreferenceIdentificationthis.shippingDetails.billOfLadingOnly if shippingDetails.billOfLading is populated
TransactionSets[0].Hl_Loop[]referenceInformationreferenceIdentificationQualifierTrackingReferenceQualifier.Carrier_Reference_Number“CN” (only if shippingDetails.proNumber is populated)
TransactionSets[0].Hl_Loop[]referenceInformationreferenceIdentificationthis.shippingDetails.proNumberOnly if shippingDetails.proNumber is populated

Date/Time Reference (DTM at Shipment Level)

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]dateTimeReferencedateTimeQualifierDateTimeQualifier.Shipped"011"
TransactionSets[0].Hl_Loop[]dateTimeReferencedateformat(itemFulfillment.shipDate ?? new Date(), DateTimeFormat.yyyyMMdd)Actual ship date
TransactionSets[0].Hl_Loop[]dateTimeReferencedateTimeQualifierDateTimeQualifier.Estimated_Delivery ("017")Only if shipDate and transitDays exist
TransactionSets[0].Hl_Loop[]dateTimeReferencedateitemFulfillment.shipDate + itemFulfillment.transitDays

Shipment FOB Related Instructions (FOB)

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]FOBRelatedInstructionsshipmentMethodOfPaymentCodeShipmentMethodOfPaymentCode.Collect“CC”
TransactionSets[0].Hl_Loop[]FOBRelatedInstructionslocationQualifierLocation.Destination“DE”
TransactionSets[0].Hl_Loop[]FOBRelatedInstructionsdescription““(hardcoded as an empty string)

Party Identification (N1 loop at Shipment Level) - Warehouse Address

Note: First iteration of N1_loop uses the warehouse address that is joined to the Ordered Item.

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[].N1_loop[]partyLocationaddressInformationorderedItems[0].warehouseAddress.addr1
TransactionSets[0].Hl_Loop[].N1_loop[]geographicLocationcityNameorderedItems[0].warehouseAddress.city
TransactionSets[0].Hl_Loop[].N1_loop[]geographicLocationstateOrProvinceCodeorderedItems[0].warehouseAddress.state
TransactionSets[0].Hl_Loop[].N1_loop[]geographicLocationpostalCodeorderedItems[0].warehouseAddress.zip
TransactionSets[0].Hl_Loop[].N1_loop[]geographicLocationcountryCodeorderedItems[0].warehouseAddress.country
TransactionSets[0].Hl_Loop[].N1_loop[]geographicLocationlocationIdentifierorderedItems[0].warehouseAddress.country
TransactionSets[0].Hl_Loop[].N1_loop[]geographicLocationlocationQualifier“CC”
TransactionSets[0].Hl_Loop[].N1_loop[]partyIdentificationentityIdentifierCodeEntityIdentifier.Ship_From“SF”
TransactionSets[0].Hl_Loop[].N1_loop[]partyIdentificationnameorderedItems[0].warehouseAddress.warehouseName
TransactionSets[0].Hl_Loop[].N1_loop[]partyIdentificationidentificationCodeQualifierIdentificationCodeQualifier.Buyer_Assigned“92”
TransactionSets[0].Hl_Loop[].N1_loop[]partyIdentificationidentificationCodeorderedItems[0].warehouseAddress.warehouseCode

Party Identification (N1 loop at Shipment Level) - Shipping Address

Note: Second iteration of N1_loop uses the shipping address that is attached to the item Fulfillment.

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[].N1_loop[]partyLocationaddressInformationitemFulfillment.shippingAddress.addr1
TransactionSets[0].Hl_Loop[].N1_loop[]geographicLocationcityNameitemFulfillment.shippingAddress.city
TransactionSets[0].Hl_Loop[].N1_loop[]geographicLocationstateOrProvinceCodeitemFulfillment.shippingAddress.state

Order Level (HL "O")

Note: One iteration of the Order Level loop is created per item fulfillment with cartons. orderedLineItems represents the items belonging to the fulfillment which this instance is created from.


Order Hierarchical Level

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]hierarchicalLevelhierarchicalIDNumbershipment hierarchicalID number + 1Incremental counter
TransactionSets[0].Hl_Loop[]hierarchicalLevelhierarchicalParentIDNumbershipment hierarchicalIDReference to parent HL
TransactionSets[0].Hl_Loop[]hierarchicalLevelhierarchicalLevelCode“O”Fixed value "O" for order level

Purchase Order Reference (PRF)

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]purchaseOrderReferencepurchaseOrderNumberitemFulfillment.purchaseOrderNumber

Order Carrier Details

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightpackagingCodePackagingCode.Pallet || PackagingCode.Carton“PLT” or “CTN” based on type
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightladingQuantitypallets.length.toString() || packs.length.toString()Based on carton information
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightweightQualifierWeightQualifier.GrossWeight“G”
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightweightcarton.weight
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightunitOrBasisForMeasurementCodeUnits.Pounds“LB”
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightvolumesum of carton.length * carton.width * carton.heightFor every carton
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightunitOrBasisForMeasurementCode1Units.Inches“IN”

Reference Information (REF at Order Level)

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]referenceInformationreferenceIdentificationQualifierOrderful.ReferenceQualifier.Internal_Vendor_Number“IA” (Vendor ID qualifier)
TransactionSets[0].Hl_Loop[]referenceInformationreferenceIdentification{{NetSuite: customer config: custentity_orderful_vendor_number}}Vendor number
TransactionSets[0].Hl_Loop[]referenceInformationreferenceIdentificationQualifierOrderful.ReferenceQualifier.Department“DP” (Department qualifier)
TransactionSets[0].Hl_Loop[]referenceInformationreferenceIdentificationcustentity_orderful_department_reference || 850 BDO.transaction.departmentNumberFrom customer configuration or 850
TransactionSets[0].Hl_Loop[]referenceInformationreferenceIdentificationQualifierOrderful.ReferenceQualifier.Vendor_Order_Number“VN” (Vendor order number qualifier)
TransactionSets[0].Hl_Loop[]referenceInformationreferenceIdentificationitemFulfillment.salesOrderNumber

Order Level N1 Loop

Note: This is only populated if either an item in the item fulfillment has a store number, or if the item fulfillment itself has a store number.

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[].N1_loop[]partyIdentificationentityIdentifierCodeEntityIdentifier.Mark_For“Z7”
TransactionSets[0].Hl_Loop[].N1_loop[]partyIdentificationnameitemsInFulfillment[0].storeNumber || itemFulfillment.shippingAddress.storeNumberPrioritizes storeNumber from line items
TransactionSets[0].Hl_Loop[].N1_loop[]partyIdentificationidentificationCodeQualifierIdentificationCodeQualifier.Buyer_Assigned“92”
TransactionSets[0].Hl_Loop[].N1_loop[]partyIdentificationidentificationCodeitemFulfillment.shippingAddress.storeNumber

Tare Level (HL "T")

Hierarchical Details

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]hierarchicalLevelhierarchicalIDNumberOrder level ID + 1Incremental counter
TransactionSets[0].Hl_Loop[]hierarchicalLevelhierarchicalParentIDNumberID of Parent Order LevelReference to parent HL
TransactionSets[0].Hl_Loop[]hierarchicalLevelhierarchicalLevelCode“T”Fixed value "T" for tare level

Tare Carrier Details (TD1)

Note: Up to two iterations of carrierDetailsQuantityAndWeight array depending on whether there are pallets and/or packs present in the shipment.

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightpackagingCodePackagingCode.Pallet || PackagingCode.Carton“PLT” or “CTN” based on type
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightladingQuantitypallets.length.toString() || packs.length.toString()Based on carton information
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightweightQualifierWeightQualifier.GrossWeight“G”
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightweightcarton.weight
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightunitOrBasisForMeasurementCodeUnits.Pounds“LB”
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightvolumesum of carton dimensionsIterates for pallets and packs
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightunitOrBasisForMeasurementCode1Units.Inches“IN”

Marks and Numbers (MAN at Tare Level)

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]marksAndNumbersInformationmarksAndNumbersQualifierMarksAndNumbersQualifier.SSCC_18_and_Application_Identifier_Target“GM”
TransactionSets[0].Hl_Loop[]marksAndNumbersInformationmarksAndNumberspallet.ssccPallet serial number
TransactionSets[0].Hl_Loop[]marksAndNumbersInformationmarksAndNumbersQualifierMarksAndNumbersQualifier.Carrier_Assigned_Package_Id“CP”
TransactionSets[0].Hl_Loop[]marksAndNumbersInformationmarksAndNumberspallet.trackingNumberPallet serial number

Pallet Type and Load Characteristics

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]palletTypeAndLoadCharacteristicspalletTierspallet.tiers?.toString()
TransactionSets[0].Hl_Loop[]palletTypeAndLoadCharacteristicspalletBlockspallet.blocks?.toString()

Pack Level (HL "P")

Hierarchical Details

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]hierarchicalLevelhierarchicalIDNumberIf Pallet HL generated, pallet ID + 1, otherwise orderId + 1Incremental counter
TransactionSets[0].Hl_Loop[]hierarchicalLevelhierarchicalParentIDNumberID of Parent Pallet, or Order Level if not using PalletsReference to parent HL
TransactionSets[0].Hl_Loop[]hierarchicalLevelhierarchicalLevelCode“P”Fixed value "P" for pack level

Pack Carrier Details (TD1)

Note: Up to two iterations depending on whether pallets and/or packs are present. This carrier details segment only represents the details in a single carton.

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightpackagingCodePackagingCode.Pallet || PackagingCode.Carton“PLT” or “CTN” based on type
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightladingQuantitypallets.length.toString() || packs.length.toString()Based on carton information
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightweightQualifierWeightQualifier.GrossWeight“G”
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightweightcarton.weight
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightunitOrBasisForMeasurementCodeUnits.Pounds“LB”
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightvolumesum of carton.length * carton.width * carton.heightFor every carton
TransactionSets[0].Hl_Loop[]carrierDetailsQuantityAndWeightunitOrBasisForMeasurementCode1Units.Inches“IN”

Pack Carrier Routing Information (TD5)

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]carrierDetailsRoutingSequenceTransitTimeroutingSequenceCode-Fixed value "B"
TransactionSets[0].Hl_Loop[]carrierDetailsRoutingSequenceTransitTimetransportationMethodTypeCodeTransportationMethodType.Motor_Common_CarrierFixed value "M"
TransactionSets[0].Hl_Loop[]carrierDetailsRoutingSequenceTransitTimeroutingitemFulfillment.shippingDetails?.shipMethod || ''Empty unless populated
TransactionSets[0].Hl_Loop[]carrierDetailsRoutingSequenceTransitTimeshipmentOrderStatusCodeShipmentStatus.Ship_CompleteFixed value “CC”
TransactionSets[0].Hl_Loop[]carrierDetailsRoutingSequenceTransitTimetransitDirectionCodeTransactionDirection.Seller_to_BuyerFixed value “SB”
TransactionSets[0].Hl_Loop[]carrierDetailsRoutingSequenceTransitTimetransitTimeDirectionQualifier-“SD” (only if transitDays is populated)
TransactionSets[0].Hl_Loop[]carrierDetailsRoutingSequenceTransitTimetransitTimeitemFulfillment.shippingDetails.transitDays.toString()Only if transitDays is populated
TransactionSets[0].Hl_Loop[]carrierDetailsRoutingSequenceTransitTimeserviceLevelCodeShippingService.GroundFixed value “CG”
TransactionSets[0].Hl_Loop[]carrierDetailsRoutingSequenceTransitTimeidentificationCode{{NetSuite: EDI Shipping Lookup - CARRIER.SCAC}}SCAC code
TransactionSets[0].Hl_Loop[]carrierDetailsRoutingSequenceTransitTimeidentificationCodeQualifierIdentificationCodeQualifier.SCACFixed value "2"
TransactionSets[0].Hl_Loop[]carrierDetailsRoutingSequenceTransitTimecountryCodeitemFulfillment.shippingAddress.country

Marks and Numbers (MAN at Pack Level)

Note: First instance of this segment is populated if carton.sscc is populated, second instance is populated if carton.trackingNumber is populated.

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]marksAndNumbersInformationmarksAndNumbersQualifierMarksAndNumbersQualifier.SSCC_18_and_Application_Identifier_TargetValue "GM" (SSCC-18 qualifier)
TransactionSets[0].Hl_Loop[]marksAndNumbersInformationmarksAndNumberscarton.ssccPackage serial number
TransactionSets[0].Hl_Loop[]marksAndNumbersInformationmarksAndNumbersQualifierMarksAndNumbersQualifier.Carrier_Assigned_Package_IdValue "CP" (Tracking number qualifier)
TransactionSets[0].Hl_Loop[]marksAndNumbersInformationmarksAndNumberscarton.trackingNumberCarrier tracking number

Reference Information (REF at Pack Level)

Note: Empty array.


Date Time Reference (Pack Level)

Note: Empty array.


Item Level (HL "I")

Hierarchical Details

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]hierarchicalLevelhierarchicalIDNumber{{Incremental ID}}Incremental counter, Pack level ID + other item level index in pack + 1 if sending with Packs
TransactionSets[0].Hl_Loop[]hierarchicalLevelhierarchicalParentIDNumber{{ID of Parent Pallet or Pack}}Reference to parent HL
TransactionSets[0].Hl_Loop[]hierarchicalLevelhierarchicalLevelCode“I”Fixed value "I" for item level

Item Identification (LIN)

Note: This segment is populated either using kit information or item information. ProductServiceIdQualifiers are copied from the ordered items if they exist, otherwise they are populated with the item's UPC and SKU. These values come from the PO1 loop from the originating 850.

Example:

{
  "productServiceId": "15242",
  "productServiceIdQualifier": "UP",
  "productServiceId": "92818523",
  "productServiceIdQualifier": "SK"
}

 


Item Identification (LIN)

Note: These fields would be populated into the itemIdentification segment.

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]itemIdentificationassignedIdentificationorderedItems[0].kitIdentifiers.assignedIdentificationorderedItems[0].purchaseOrderLineRef || orderedItems[0].itemId.toString()
TransactionSets[0].Hl_Loop[]itemIdentificationproductServiceIDQualifierorderedItems[0].kitIdentifiers.productServiceIdQualifierProductServiceQualifier.Vendor_Number (“VN”)
TransactionSets[0].Hl_Loop[]itemIdentificationproductServiceIDorderedItems[0].kitIdentifiers.productServiceIdorderedItem.itemId.toString()
TransactionSets[0].Hl_Loop[]itemIdentificationproductServiceIDQualifier1orderedItems[0].kitIdentifiers.productServiceIdQualifier1ProductServiceQualifier.UPC (“UP”)
Only used if orderedItem.upcCode is populated
TransactionSets[0].Hl_Loop[]itemIdentificationproductServiceID1orderedItems[0].kitIdentifiers.productServiceId1orderedItem.upcCode
Only used if orderedItem.upcCode is populated
TransactionSets[0].Hl_Loop[]itemIdentificationproductServiceIDQualifier2orderedItems[0].kitIdentifiers.productServiceQualifier2ProductServiceQualifier.SKU (“SK”)
Only used if orderedItem.sku is populated
TransactionSets[0].Hl_Loop[]itemIdentificationproductServiceID2-orderedItem.sku
Only used if orderedItem.sku is populated
TransactionSets[0].Hl_Loop[]itemIdentification... (more pairs)-Potentially more productServiceId<int> and productServiceIdQualifier<int> pairs

Item Detail Shipment (SN1)

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]itemDetailShipmentassignedIdentificationkitIdentifiers.assignedIdentification || orderedItems[0].itemId.toString()
TransactionSets[0].Hl_Loop[]itemDetailShipmentnumberOfUnitsShippedpackedKitsCount || packedItems[0].packedQuantity
TransactionSets[0].Hl_Loop[]itemDetailShipmentunitOrBasisForMeasurementCodeUnits.Each“EA”
TransactionSets[0].Hl_Loop[]itemDetailShipmentquantityorderedItems[0].kitsCount || orderedItems[0].orderedQuantity
TransactionSets[0].Hl_Loop[]itemDetailShipmentunitOrBasisForMeasurementCode1Units.Each“EA”
TransactionSets[0].Hl_Loop[]itemDetailShipmentlineItemStatusCodeAcknowledgementStatusCode.Item_Accepted“IA”

Subline Item Detail (SLN)

Note: Only populated if Kits are being used, one instance per item associated with the kit. Similar to the itemIdentification segment, this will bring in productServiceIdQualifier / productServiceId pairs from the PO1 loop in the original 850.

LevelEDI SegmentEDI ElementOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]sublineItemDetailSLN01assignedIdentificationorderedItem.itemIdentifiers?.assignedIdentification || orderedItem.purchaseOrderLineRef || ''
TransactionSets[0].Hl_Loop[]sublineItemDetailSLN04quantitypackedItem.packedQuantity / packedKitsCountpackedKitsCount is the total number of kits in the shipment, so this references the number of items in a single kit.
TransactionSets[0].Hl_Loop[]sublineItemDetailSLN0501unitOrBasisForMeasurementCodeUnits.Each“EA”
TransactionSets[0].Hl_Loop[]sublineItemDetailSLN09productServiceIDQualifierProductServiceQualifier.Vendor_Number (“VN”)Note that these productServiceIdQualifiers and productServiceIds will only be populated if their corresponding values exist. Additionally, they will be overridden if there are productServiceIds and productServiceIdQualifiers attached to the items (taken from 850 PO1 loop).
TransactionSets[0].Hl_Loop[]sublineItemDetailSLN10productServiceIDorderedItem.itemId
TransactionSets[0].Hl_Loop[]sublineItemDetailSLN11productServiceIDQualifier1ProductServiceQualifier.UPC (“UP”)
TransactionSets[0].Hl_Loop[]sublineItemDetailSLN12productServiceID1orderedItem.upcCode
TransactionSets[0].Hl_Loop[]sublineItemDetailSLN13productServiceIDQualifier2ProductServiceQualifier.SKU
TransactionSets[0].Hl_Loop[]sublineItemDetailSLN14productServiceID2orderedItem.sku
TransactionSets[0].Hl_Loop[]sublineItemDetail...(more incrementing productServiceId<int> and productServiceIdQualifier<int> pairs)-Potentially more productServiceId<int> and productServiceIdQualifier<int> pairs depending on items assigned identifiers.

Purchase Order Reference

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]purchaseOrderReferencepurchaseOrderNumberitemFulfillment.purchaseOrderNumber

Item Physical Details

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]itemPhysicalDetailspack“1”Hardcoded “1”

Product Item Description

Note: Only populated if orderedItems[0].description has a value.

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]productItemDescriptionitemDescriptionTypeCode“F”Hardcoded “F”
TransactionSets[0].Hl_Loop[]productItemDescriptionproductProcessCharacteristicCode“08”Hardcoded “08”
TransactionSets[0].Hl_Loop[]productItemDescriptiondescriptionorderedItems[0].description

Reference Information

Note: Empty Array


Marks and Numbers Information

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0].Hl_Loop[]marksAndNumbersInformationitemDescriptionTypeCodeMarksAndNumbersQualifier.Mutually_Defined“ZZ”
TransactionSets[0].Hl_Loop[]marksAndNumbersInformationmarksAndNumberspack.trackingNumberHardcoded “08”

Date/Time Reference (DTM at item level)

Note: Empty Array


Transaction Totals (CTT) - Header level

LevelEDI SegmentOrderful FieldNetSuite FieldNotes
TransactionSets[0]transactionTotalsnumberOfLineItemshlLoop.length
TransactionSets[0]transactionTotalshashTotalgetTotalUnitsFromCartons(cartons)Sum of all packed quantities amongst all items within cartons in the entire 856.