Below is a summary of the entities queried from NetSuite to populate the data in the 856.
| NetSuite Query Field | ItemFulfillment Class Property | Description |
|---|
item_fulfillment.id | internalId | Internal ID of the item fulfillment record |
item_fulfillment.tranid | tranId | Transaction ID (document number) |
item_fulfillment.entity | customerId | Customer internal ID |
order.id | salesOrderId | Sales order internal ID |
order.tranid | salesOrderNumber | Sales order transaction number |
order.otherrefnum | purchaseOrderNumber | Customer's purchase order number |
item_fulfillment.custbody_orderful_department_number | departmentNumber | Department number |
item_fulfillment.trandate | shipDate | Date of the item fulfillment |
item_fulfillment.custbody_orderful_document | orderfulTransactionId | Orderful transaction ID |
| NetSuite Query Field | ShippingAddress Property | Description |
|---|
transactionshippingaddressbook.internalid | addressBookId | Address book internal ID |
transactionshippingaddress.country | country | Country |
transactionshippingaddress.addr1 | addr1 | Address line 1 |
transactionshippingaddress.city | city | City |
transactionshippingaddress.state | state | State/province |
transactionshippingaddress.zip | zip | Postal code |
transactionshippingaddress.addressee | addressee | Addressee name |
transactionshippingaddress.attention | attention | Attention line |
transactionshippingaddress.addrphone | addrphone | Phone number |
edi_address.store_edi_id || edi_address.store_name | storeNumber | Store number/identifier |
edi_address.dc_edi_id || edi_address.dc_name || item_fulfillment.custbody_orderful_ship_dc_number | dcNumber | Distribution center number |
| NetSuite Query Field | ShippingDetails Property | Description |
|---|
item_fulfillment.custbody_shiphawk_carrier_service || shipitem.itemid | shipMethod | Shipping method |
shipping_lookup.custrecord_orderful_service_scac || customrecord_orderful_shipping_carrier.custrecord_orderful_carrier_scac | carrierSCACCode | Carrier SCAC code |
item_fulfillment.custbody_orderful_pro_number | proNumber | PRO number (carrier tracking) |
item_fulfillment.custbody_orderful_bol_number | billOfLading | Bill of lading number |
item_fulfillment.custbody_orderful_itf_transit_days | transitDays | Transit days |
item_fulfillment.custbody_orderful_edi_routing | ediRouting | EDI routing information |
item_fulfillment.custbody_orderful_edi_service | ediServiceCode | EDI service code |
item_fulfillment.custbody_orderful_edi_carrier | ediCarrierName | EDI carrier name |
| NetSuite Query Field | OrderedLineItem Property | Description |
|---|
id | lineInternalId | Internal ID of the transaction line |
item_internal_id | itemInternalId | Internal ID of the inventory item |
transaction_id | transactionId | Internal ID of the transaction (sales order) |
itemid | itemId | Item ID/name (external identifier) |
upccode | upcCode | UPC code of the item |
sku | sku | SKU (vendor part number) |
memo | description | Line item description/memo |
quantity | orderedQuantity | Quantity ordered (absolute value) |
auto_pack_units_per_carton | autoPackUnitsPerCarton | Units per carton for auto-packing |
custcol_orderful_line_ref | purchaseOrderLineRef | Purchase order line reference |
units or orderful_units | units | Unit of measure (converted to EDI format) |
orderful_item_identifiers | itemIdentifiers | JSON string of item identifiers (parsed) |
orderful_kit_ref | kitRef | Reference to kit this item belongs to |
orderful_kit_identifiers | kitIdentifiers | JSON string of kit identifiers (parsed) |
orderful_kits_count | kitsCount | Number of kits |
orderful_store_number | storeNumber | Store number |
| NetSuite Query Field | WarehouseAddress Property | Description |
|---|
location_internal_id | locationInternalId | Internal ID of the location |
warehouse_code or warehouse_name | warehouseCode | Warehouse code (falls back to name) |
warehouse_name | warehouseName | Warehouse name |
main_address_country | country | Country |
main_address_addr1 | addr1 | Address line 1 |
main_address_city | city | City |
main_address_state | state | State/province |
main_address_zip | zip | Postal code |
main_address_addressee | addressee | Addressee name |
main_address_attention | attention | Attention line |
main_address_phone | addrphone | Phone number |
| NetSuite Query Field | ReturnAddress Property | Description |
|---|
return_address_id | - | Return address ID (Used to determine if it exists) |
location_internal_id | locationInternalId | Internal ID of the location |
warehouse_code or warehouse_name | warehouseCode | Warehouse code (falls back to name) |
warehouse_name | warehouseName | Warehouse name |
return_address_country | country | Country |
return_address_addr1 | addr1 | Address line 1 |
return_address_city | city | City |
return_address_state | state | State/province |
return_address_zip | zip | Postal code |
return_address_addressee | addressee | Addressee name |
return_address_attention | attention | Attention line |
return_address_phone | addrphone | Phone number |
| NetSuite Query Field | Carton Class Property | Description |
|---|
customrecord_orderful_carton.id | internalId | Internal ID of the carton record |
customrecord_orderful_carton.name | name | Name of the carton |
customrecord_orderful_carton.custrecord_orderful_carton_fulfillment | itemFulfillmentId | Item fulfillment internal ID |
customrecord_orderful_carton.custrecord_orderful_carton_length | length | Length of the carton |
customrecord_orderful_carton.custrecord_orderful_carton_width | width | Width of the carton |
customrecord_orderful_carton.custrecord_orderful_carton_height | height | Height of the carton |
customrecord_orderful_carton.custrecord_orderful_carton_weight | weight | Weight of the carton |
customrecord_orderful_carton.custrecord_orderful_carton_is_pallet | isPallet | Whether the carton is a pallet (T/F) |
customrecord_orderful_carton.custrecord_orderful_carton_pallet | parentPalletId | Parent pallet ID if this carton is on a pallet |
customrecord_orderful_carton.custrecord_orderful_carton_custom_serial | serialNumber | Custom serial number |
customrecord_orderful_carton.custrecord_orderful_carton_tracking | trackingNumber | Tracking number |
customrecord_orderful_carton.custrecord_orderful_carton_tiers | tiers | Number of tiers (for pallets) |
customrecord_orderful_carton.custrecord_orderful_carton_blocks | blocks | Number of blocks (for pallets) |
customrecord_orderful_carton.custrecord_orderful_carton_sscc18 | sscc | Serial Shipping Container Code |
| NetSuite Query Field | PackedItem Property | Description |
|---|
customrecord_orderful_shipped_item.id | internalId | Internal ID of the shipped item record |
customrecord_orderful_shipped_item.custrecord_orderful_shipped_item | itemInternalId | Item internal ID |
customrecord_orderful_shipped_item.custrecord_orderful_shipped_quantity | packedQuantity | Quantity of the item packed |
| Dataset Column Label | Carton Class Property | Description |
|---|
Fulfillment | itemFulfillmentId | Item fulfillment internal ID |
Carton | internalId | Carton identifier |
Item | items[].itemInternalId | Item internal ID |
Quantity | items[].packedQuantity | Quantity of the item packed |
Length | length | Length of the carton |
Width | width | Width of the carton |
Height | height | Height of the carton |
Weight | weight | Weight of the carton |
IsPallet | isPallet | Whether the carton is a pallet |
Parent | parentPalletId | Parent pallet ID |
Serial | serialNumber | Serial number |
Tracking | trackingNumber | Tracking number |
Tiers | tiers | Number of tiers (for pallets) |
Blocks | blocks | Number of blocks (for pallets) |
SSCC | sscc | Serial Shipping Container Code |
Lot | items[].lotSerialNumber | Lot or serial number of the item |
Expiration | items[].expirationDate | Expiration date of the item |
Below is a summary of how all the current fields are mapped from the above entities into an outbound 856.
| Level | Orderful Field | NetSuite Field | Notes |
|---|
| Header | sender.isaId | {{NetSuite: ISA or Test ISA}} | Interchange sender ID |
| Header | receiver.isaId | {{NetSuite: Partner ISA or Test ISA}} | Interchange receiver ID |
| Header | type.name | - | Fixed value: 856_SHIP_NOTICE_MANIFEST |
| Header | stream | {{NetSuite Mode}} | Test or Production |
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0] | beginningSegmentForShipNotice | transactionSetPurposeCode | '00' | Hardcoded |
TransactionSets[0] | beginningSegmentForShipNotice | shipmentIdentification | itemFulfillments[0].tranid | |
TransactionSets[0] | beginningSegmentForShipNotice | date | format(currentDate, DateTimeFormat.yyyyMMdd) | currentDate = new Date() |
TransactionSets[0] | beginningSegmentForShipNotice | time | format(currentDate, DateTimeFormat.HHmmss) | currentDate = new Date() |
TransactionSets[0] | beginningSegmentForShipNotice | hierarchicalStructureCode | '0001' | |
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0] | DTM | dateTimeQualifier | Orderful.DateTimeQualifier.Shipped | Value = '011' |
TransactionSets[0] | DTM | date | format(shipDate, DateTimeFormat.yyyyMMdd) | shipDate = itemFulfillments[0].trandate |
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.
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | HL | hierarchicalIDNumber | '1' | Fixed value "1" for shipment level |
TransactionSets[0].Hl_Loop[] | HL | hierarchicalLevelCode | 'S' | Fixed value "S" for shipment level |
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | packagingCode | PackagingCode.Pallet || PackagingCode.Carton | Value is “PLT” or “CTN” |
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | ladingQuantity | pallets.length.toString() || packs.length.toString() | Pallets or packs retrieved from carton info |
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | weightQualifier | WeightQualifier.GrossWeight | “G” |
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | weight | carton.weight | |
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | unitOrBasisForMeasurementCode | Units.Pounds | “LB” |
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | volume | sum of carton.length * carton.width * carton.height | For every carton |
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | unitOrBasisForMeasurementCode1 | Units.Inches | “IN” |
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | carrierDetailsRoutingSequenceTransitTime | routingSequenceCode | “B” | Fixed value "B" |
TransactionSets[0].Hl_Loop[] | carrierDetailsRoutingSequenceTransitTime | transportationMethodTypeCode | TransportationMethodType.Motor_Common_Carrier | Fixed value "M" |
TransactionSets[0].Hl_Loop[] | carrierDetailsRoutingSequenceTransitTime | routing | shippingLookup?.name || itemFulfillment.shippingDetails?.ediRouting || itemFulfillment.shippingDetails?.shipMethod || '' | |
TransactionSets[0].Hl_Loop[] | carrierDetailsRoutingSequenceTransitTime | shipmentOrderStatusCode | ShipmentStatus.Ship_Complete | Fixed Value “CC” |
TransactionSets[0].Hl_Loop[] | carrierDetailsRoutingSequenceTransitTime | transitDirectionCode | TransactionDirection.Seller_to_Buyer | Fixed Value “SB” |
TransactionSets[0].Hl_Loop[] | carrierDetailsRoutingSequenceTransitTime | transitTimeDirectionQualifier | “SD” | Only if shipping details has transitDays |
TransactionSets[0].Hl_Loop[] | carrierDetailsRoutingSequenceTransitTime | transitTime | itemFulfillment.shippingDetails.transitDays.toString() | |
TransactionSets[0].Hl_Loop[] | carrierDetailsRoutingSequenceTransitTime | serviceLevelCode | shippingLookup?.serviceLevelCode || itemFulfillment.shippingDetails?.ediServiceCode || ShippingService.Ground | Fallback Value is “CG” |
TransactionSets[0].Hl_Loop[] | carrierDetailsRoutingSequenceTransitTime | identificationCode | {{NetSuite: EDI Shipping Lookup - CARRIER.SCAC}} | SCAC code |
TransactionSets[0].Hl_Loop[] | carrierDetailsRoutingSequenceTransitTime | identificationCodeQualifier | IdentificationCodeQualifier.SCAC | Fixed value "2" |
Note: Up to 3 instances of the referenceInformation segment are mapped, depending on values existing for bill of lading and pro number.
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | referenceInformation | referenceIdentificationQualifier | TrackingReferenceQualifier.Warehouse | “WH” |
TransactionSets[0].Hl_Loop[] | referenceInformation | referenceIdentification | orderedItems[0].warehouseAddress.warehouseCode | |
TransactionSets[0].Hl_Loop[] | referenceInformation | referenceIdentificationQualifier | TrackingReferenceQualifier.Bill_of_Lading_Number | “BM” (only if shippingDetails.billOfLading is populated) |
TransactionSets[0].Hl_Loop[] | referenceInformation | referenceIdentification | this.shippingDetails.billOfLading | Only if shippingDetails.billOfLading is populated |
TransactionSets[0].Hl_Loop[] | referenceInformation | referenceIdentificationQualifier | TrackingReferenceQualifier.Carrier_Reference_Number | “CN” (only if shippingDetails.proNumber is populated) |
TransactionSets[0].Hl_Loop[] | referenceInformation | referenceIdentification | this.shippingDetails.proNumber | Only if shippingDetails.proNumber is populated |
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | dateTimeReference | dateTimeQualifier | DateTimeQualifier.Shipped | "011" |
TransactionSets[0].Hl_Loop[] | dateTimeReference | date | format(itemFulfillment.shipDate ?? new Date(), DateTimeFormat.yyyyMMdd) | Actual ship date |
TransactionSets[0].Hl_Loop[] | dateTimeReference | dateTimeQualifier | DateTimeQualifier.Estimated_Delivery ("017") | Only if shipDate and transitDays exist |
TransactionSets[0].Hl_Loop[] | dateTimeReference | date | itemFulfillment.shipDate + itemFulfillment.transitDays | |
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | FOBRelatedInstructions | shipmentMethodOfPaymentCode | ShipmentMethodOfPaymentCode.Collect | “CC” |
TransactionSets[0].Hl_Loop[] | FOBRelatedInstructions | locationQualifier | Location.Destination | “DE” |
TransactionSets[0].Hl_Loop[] | FOBRelatedInstructions | description | ““ | (hardcoded as an empty string) |
Note: First iteration of N1_loop uses the warehouse address that is joined to the Ordered Item.
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[].N1_loop[] | partyLocation | addressInformation | orderedItems[0].warehouseAddress.addr1 | |
TransactionSets[0].Hl_Loop[].N1_loop[] | geographicLocation | cityName | orderedItems[0].warehouseAddress.city | |
TransactionSets[0].Hl_Loop[].N1_loop[] | geographicLocation | stateOrProvinceCode | orderedItems[0].warehouseAddress.state | |
TransactionSets[0].Hl_Loop[].N1_loop[] | geographicLocation | postalCode | orderedItems[0].warehouseAddress.zip | |
TransactionSets[0].Hl_Loop[].N1_loop[] | geographicLocation | countryCode | orderedItems[0].warehouseAddress.country | |
TransactionSets[0].Hl_Loop[].N1_loop[] | geographicLocation | locationIdentifier | orderedItems[0].warehouseAddress.country | |
TransactionSets[0].Hl_Loop[].N1_loop[] | geographicLocation | locationQualifier | “CC” | |
TransactionSets[0].Hl_Loop[].N1_loop[] | partyIdentification | entityIdentifierCode | EntityIdentifier.Ship_From | “SF” |
TransactionSets[0].Hl_Loop[].N1_loop[] | partyIdentification | name | orderedItems[0].warehouseAddress.warehouseName | |
TransactionSets[0].Hl_Loop[].N1_loop[] | partyIdentification | identificationCodeQualifier | IdentificationCodeQualifier.Buyer_Assigned | “92” |
TransactionSets[0].Hl_Loop[].N1_loop[] | partyIdentification | identificationCode | orderedItems[0].warehouseAddress.warehouseCode | |
Note: Second iteration of N1_loop uses the shipping address that is attached to the item Fulfillment.
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[].N1_loop[] | partyLocation | addressInformation | itemFulfillment.shippingAddress.addr1 | |
TransactionSets[0].Hl_Loop[].N1_loop[] | geographicLocation | cityName | itemFulfillment.shippingAddress.city | |
TransactionSets[0].Hl_Loop[].N1_loop[] | geographicLocation | stateOrProvinceCode | itemFulfillment.shippingAddress.state | |
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.
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | hierarchicalLevel | hierarchicalIDNumber | shipment hierarchicalID number + 1 | Incremental counter |
TransactionSets[0].Hl_Loop[] | hierarchicalLevel | hierarchicalParentIDNumber | shipment hierarchicalID | Reference to parent HL |
TransactionSets[0].Hl_Loop[] | hierarchicalLevel | hierarchicalLevelCode | “O” | Fixed value "O" for order level |
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | purchaseOrderReference | purchaseOrderNumber | itemFulfillment.purchaseOrderNumber | |
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | packagingCode | PackagingCode.Pallet || PackagingCode.Carton | “PLT” or “CTN” based on type |
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | ladingQuantity | pallets.length.toString() || packs.length.toString() | Based on carton information |
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | weightQualifier | WeightQualifier.GrossWeight | “G” |
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | weight | carton.weight | |
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | unitOrBasisForMeasurementCode | Units.Pounds | “LB” |
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | volume | sum of carton.length * carton.width * carton.height | For every carton |
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | unitOrBasisForMeasurementCode1 | Units.Inches | “IN” |
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | referenceInformation | referenceIdentificationQualifier | Orderful.ReferenceQualifier.Internal_Vendor_Number | “IA” (Vendor ID qualifier) |
TransactionSets[0].Hl_Loop[] | referenceInformation | referenceIdentification | {{NetSuite: customer config: custentity_orderful_vendor_number}} | Vendor number |
TransactionSets[0].Hl_Loop[] | referenceInformation | referenceIdentificationQualifier | Orderful.ReferenceQualifier.Department | “DP” (Department qualifier) |
TransactionSets[0].Hl_Loop[] | referenceInformation | referenceIdentification | custentity_orderful_department_reference || 850 BDO.transaction.departmentNumber | From customer configuration or 850 |
TransactionSets[0].Hl_Loop[] | referenceInformation | referenceIdentificationQualifier | Orderful.ReferenceQualifier.Vendor_Order_Number | “VN” (Vendor order number qualifier) |
TransactionSets[0].Hl_Loop[] | referenceInformation | referenceIdentification | itemFulfillment.salesOrderNumber | |
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.
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[].N1_loop[] | partyIdentification | entityIdentifierCode | EntityIdentifier.Mark_For | “Z7” |
TransactionSets[0].Hl_Loop[].N1_loop[] | partyIdentification | name | itemsInFulfillment[0].storeNumber || itemFulfillment.shippingAddress.storeNumber | Prioritizes storeNumber from line items |
TransactionSets[0].Hl_Loop[].N1_loop[] | partyIdentification | identificationCodeQualifier | IdentificationCodeQualifier.Buyer_Assigned | “92” |
TransactionSets[0].Hl_Loop[].N1_loop[] | partyIdentification | identificationCode | itemFulfillment.shippingAddress.storeNumber | |
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | hierarchicalLevel | hierarchicalIDNumber | Order level ID + 1 | Incremental counter |
TransactionSets[0].Hl_Loop[] | hierarchicalLevel | hierarchicalParentIDNumber | ID of Parent Order Level | Reference to parent HL |
TransactionSets[0].Hl_Loop[] | hierarchicalLevel | hierarchicalLevelCode | “T” | Fixed value "T" for tare level |
Note: Up to two iterations of carrierDetailsQuantityAndWeight array depending on whether there are pallets and/or packs present in the shipment.
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | packagingCode | PackagingCode.Pallet || PackagingCode.Carton | “PLT” or “CTN” based on type |
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | ladingQuantity | pallets.length.toString() || packs.length.toString() | Based on carton information |
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | weightQualifier | WeightQualifier.GrossWeight | “G” |
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | weight | carton.weight | |
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | unitOrBasisForMeasurementCode | Units.Pounds | “LB” |
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | volume | sum of carton dimensions | Iterates for pallets and packs |
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | unitOrBasisForMeasurementCode1 | Units.Inches | “IN” |
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | marksAndNumbersInformation | marksAndNumbersQualifier | MarksAndNumbersQualifier.SSCC_18_and_Application_Identifier_Target | “GM” |
TransactionSets[0].Hl_Loop[] | marksAndNumbersInformation | marksAndNumbers | pallet.sscc | Pallet serial number |
TransactionSets[0].Hl_Loop[] | marksAndNumbersInformation | marksAndNumbersQualifier | MarksAndNumbersQualifier.Carrier_Assigned_Package_Id | “CP” |
TransactionSets[0].Hl_Loop[] | marksAndNumbersInformation | marksAndNumbers | pallet.trackingNumber | Pallet serial number |
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | palletTypeAndLoadCharacteristics | palletTiers | pallet.tiers?.toString() | |
TransactionSets[0].Hl_Loop[] | palletTypeAndLoadCharacteristics | palletBlocks | pallet.blocks?.toString() | |
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | hierarchicalLevel | hierarchicalIDNumber | If Pallet HL generated, pallet ID + 1, otherwise orderId + 1 | Incremental counter |
TransactionSets[0].Hl_Loop[] | hierarchicalLevel | hierarchicalParentIDNumber | ID of Parent Pallet, or Order Level if not using Pallets | Reference to parent HL |
TransactionSets[0].Hl_Loop[] | hierarchicalLevel | hierarchicalLevelCode | “P” | Fixed value "P" for pack level |
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.
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | packagingCode | PackagingCode.Pallet || PackagingCode.Carton | “PLT” or “CTN” based on type |
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | ladingQuantity | pallets.length.toString() || packs.length.toString() | Based on carton information |
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | weightQualifier | WeightQualifier.GrossWeight | “G” |
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | weight | carton.weight | |
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | unitOrBasisForMeasurementCode | Units.Pounds | “LB” |
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | volume | sum of carton.length * carton.width * carton.height | For every carton |
TransactionSets[0].Hl_Loop[] | carrierDetailsQuantityAndWeight | unitOrBasisForMeasurementCode1 | Units.Inches | “IN” |
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | carrierDetailsRoutingSequenceTransitTime | routingSequenceCode | - | Fixed value "B" |
TransactionSets[0].Hl_Loop[] | carrierDetailsRoutingSequenceTransitTime | transportationMethodTypeCode | TransportationMethodType.Motor_Common_Carrier | Fixed value "M" |
TransactionSets[0].Hl_Loop[] | carrierDetailsRoutingSequenceTransitTime | routing | itemFulfillment.shippingDetails?.shipMethod || '' | Empty unless populated |
TransactionSets[0].Hl_Loop[] | carrierDetailsRoutingSequenceTransitTime | shipmentOrderStatusCode | ShipmentStatus.Ship_Complete | Fixed value “CC” |
TransactionSets[0].Hl_Loop[] | carrierDetailsRoutingSequenceTransitTime | transitDirectionCode | TransactionDirection.Seller_to_Buyer | Fixed value “SB” |
TransactionSets[0].Hl_Loop[] | carrierDetailsRoutingSequenceTransitTime | transitTimeDirectionQualifier | - | “SD” (only if transitDays is populated) |
TransactionSets[0].Hl_Loop[] | carrierDetailsRoutingSequenceTransitTime | transitTime | itemFulfillment.shippingDetails.transitDays.toString() | Only if transitDays is populated |
TransactionSets[0].Hl_Loop[] | carrierDetailsRoutingSequenceTransitTime | serviceLevelCode | ShippingService.Ground | Fixed value “CG” |
TransactionSets[0].Hl_Loop[] | carrierDetailsRoutingSequenceTransitTime | identificationCode | {{NetSuite: EDI Shipping Lookup - CARRIER.SCAC}} | SCAC code |
TransactionSets[0].Hl_Loop[] | carrierDetailsRoutingSequenceTransitTime | identificationCodeQualifier | IdentificationCodeQualifier.SCAC | Fixed value "2" |
TransactionSets[0].Hl_Loop[] | carrierDetailsRoutingSequenceTransitTime | countryCode | itemFulfillment.shippingAddress.country | |
Note: First instance of this segment is populated if carton.sscc is populated, second instance is populated if carton.trackingNumber is populated.
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | marksAndNumbersInformation | marksAndNumbersQualifier | MarksAndNumbersQualifier.SSCC_18_and_Application_Identifier_Target | Value "GM" (SSCC-18 qualifier) |
TransactionSets[0].Hl_Loop[] | marksAndNumbersInformation | marksAndNumbers | carton.sscc | Package serial number |
TransactionSets[0].Hl_Loop[] | marksAndNumbersInformation | marksAndNumbersQualifier | MarksAndNumbersQualifier.Carrier_Assigned_Package_Id | Value "CP" (Tracking number qualifier) |
TransactionSets[0].Hl_Loop[] | marksAndNumbersInformation | marksAndNumbers | carton.trackingNumber | Carrier tracking number |
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | hierarchicalLevel | hierarchicalIDNumber | {{Incremental ID}} | Incremental counter, Pack level ID + other item level index in pack + 1 if sending with Packs |
TransactionSets[0].Hl_Loop[] | hierarchicalLevel | hierarchicalParentIDNumber | {{ID of Parent Pallet or Pack}} | Reference to parent HL |
TransactionSets[0].Hl_Loop[] | hierarchicalLevel | hierarchicalLevelCode | “I” | Fixed value "I" for item level |
Note: These fields would be populated into the itemIdentification segment.
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | itemIdentification | assignedIdentification | orderedItems[0].kitIdentifiers.assignedIdentification | orderedItems[0].purchaseOrderLineRef || orderedItems[0].itemId.toString() |
TransactionSets[0].Hl_Loop[] | itemIdentification | productServiceIDQualifier | orderedItems[0].kitIdentifiers.productServiceIdQualifier | ProductServiceQualifier.Vendor_Number (“VN”) |
TransactionSets[0].Hl_Loop[] | itemIdentification | productServiceID | orderedItems[0].kitIdentifiers.productServiceId | orderedItem.itemId.toString() |
TransactionSets[0].Hl_Loop[] | itemIdentification | productServiceIDQualifier1 | orderedItems[0].kitIdentifiers.productServiceIdQualifier1 | ProductServiceQualifier.UPC (“UP”) Only used if orderedItem.upcCode is populated |
TransactionSets[0].Hl_Loop[] | itemIdentification | productServiceID1 | orderedItems[0].kitIdentifiers.productServiceId1 | orderedItem.upcCode Only used if orderedItem.upcCode is populated |
TransactionSets[0].Hl_Loop[] | itemIdentification | productServiceIDQualifier2 | orderedItems[0].kitIdentifiers.productServiceQualifier2 | ProductServiceQualifier.SKU (“SK”) Only used if orderedItem.sku is populated |
TransactionSets[0].Hl_Loop[] | itemIdentification | productServiceID2 | - | orderedItem.sku Only used if orderedItem.sku is populated |
TransactionSets[0].Hl_Loop[] | itemIdentification | ... (more pairs) | - | Potentially more productServiceId<int> and productServiceIdQualifier<int> pairs |
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | itemDetailShipment | assignedIdentification | kitIdentifiers.assignedIdentification || orderedItems[0].itemId.toString() | |
TransactionSets[0].Hl_Loop[] | itemDetailShipment | numberOfUnitsShipped | packedKitsCount || packedItems[0].packedQuantity | |
TransactionSets[0].Hl_Loop[] | itemDetailShipment | unitOrBasisForMeasurementCode | Units.Each | “EA” |
TransactionSets[0].Hl_Loop[] | itemDetailShipment | quantity | orderedItems[0].kitsCount || orderedItems[0].orderedQuantity | |
TransactionSets[0].Hl_Loop[] | itemDetailShipment | unitOrBasisForMeasurementCode1 | Units.Each | “EA” |
TransactionSets[0].Hl_Loop[] | itemDetailShipment | lineItemStatusCode | AcknowledgementStatusCode.Item_Accepted | “IA |
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.
| Level | EDI Segment | EDI Element | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | sublineItemDetail | SLN01 | assignedIdentification | orderedItem.itemIdentifiers?.assignedIdentification || orderedItem.purchaseOrderLineRef || '' | |
TransactionSets[0].Hl_Loop[] | sublineItemDetail | SLN04 | quantity | packedItem.packedQuantity / packedKitsCount | packedKitsCount is the total number of kits in the shipment, so this references the number of items in a single kit. |
TransactionSets[0].Hl_Loop[] | sublineItemDetail | SLN0501 | unitOrBasisForMeasurementCode | Units.Each | “EA” |
TransactionSets[0].Hl_Loop[] | sublineItemDetail | SLN09 | productServiceIDQualifier | ProductServiceQualifier.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[] | sublineItemDetail | SLN10 | productServiceID | orderedItem.itemId | |
TransactionSets[0].Hl_Loop[] | sublineItemDetail | SLN11 | productServiceIDQualifier1 | ProductServiceQualifier.UPC (“UP”) | |
TransactionSets[0].Hl_Loop[] | sublineItemDetail | SLN12 | productServiceID1 | orderedItem.upcCode | |
TransactionSets[0].Hl_Loop[] | sublineItemDetail | SLN13 | productServiceIDQualifier2 | ProductServiceQualifier.SKU | |
TransactionSets[0].Hl_Loop[] | sublineItemDetail | SLN14 | productServiceID2 | orderedItem.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. |
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | purchaseOrderReference | purchaseOrderNumber | itemFulfillment.purchaseOrderNumber | |
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | itemPhysicalDetails | pack | “1” | Hardcoded “1” |
Note: Only populated if orderedItems[0].description has a value.
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | productItemDescription | itemDescriptionTypeCode | “F” | Hardcoded “F” |
TransactionSets[0].Hl_Loop[] | productItemDescription | productProcessCharacteristicCode | “08” | Hardcoded “08” |
TransactionSets[0].Hl_Loop[] | productItemDescription | description | orderedItems[0].description | |
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0].Hl_Loop[] | marksAndNumbersInformation | itemDescriptionTypeCode | MarksAndNumbersQualifier.Mutually_Defined | “ZZ” |
TransactionSets[0].Hl_Loop[] | marksAndNumbersInformation | marksAndNumbers | pack.trackingNumber | Hardcoded “08” |
| Level | EDI Segment | Orderful Field | NetSuite Field | Notes |
|---|
TransactionSets[0] | transactionTotals | numberOfLineItems | hlLoop.length | |
TransactionSets[0] | transactionTotals | hashTotal | getTotalUnitsFromCartons(cartons) | Sum of all packed quantities amongst all items within cartons in the entire 856. |