HANMOV Cargo/goods handling and movement message (D96B)

This is the standard EDIFACT D96B spec, with 16 loops and 71 segment positions, as OpenEDI JSON, an ediFabric C# template and an ediFabric Native model. To change it for a trading partner, customize it in the EDI Spec Builder.

Loading the spec…
The spec as an OpenAPI 3 schema with x-openedi-* extensions, for ediFabric Native, ediFabric Cloud and the EDI Spec Builder. Download OpenEDI (87 KB) Generate classes
The ediFabric .NET template, class TSHANMOV. It needs the common segments, composites and codes of EDIFACT D96B, one download for every transaction in the version. Download C# (1 KB) Common files (47 KB)
The intermediary model ediFabric Native loads with set_map. Native supports X12 today, and EDIFACT is coming. Download Native (1 KB)

Use the HANMOV spec in your code

ediFabric .NET

Add the C# template and its common files to your project, or reference the template NuGet package, and read HANMOV files into TSHANMOV objects. See ediFabric .NET.

ediFabric Native

Native supports X12 today, and EDIFACT is coming. When it's available, map version D96B to this Native model with set_map to parse HANMOV files to JSON from Python, Java, C or C#. See ediFabric Native.

OpenEDI

Select Customize in Spec Builder to copy the spec under your own name, change it for your partner, and parse files against it in EdiNation, ediFabric Native or ediFabric Cloud. Read about OpenEDI.

Generate HANMOV classes in Python, Java, Node.js, Go, Rust or C

The OpenEDI file describes each HANMOV as JSON. To work with HANMOV data as typed objects, generate classes from the OpenEDI file in your language; the root class is TSHANMOV. The classes keep the loops, segments, lengths and code lists, but not the EDI data formats. Read more in Generate a class from OpenEDI.

Python: datamodel-code-generator. Node.js: openapi-typescript. Java, Go, Rust and C: OpenAPI Generator.

HANMOV structure

Loops and segments of the standard HANMOV, with their usage and maximum repeats.

IDNameUsageMax use
UNHMessage HeaderOptional1
BGMBEGINNING OF MESSAGEMandatory1
DTMDATE/TIME/PERIODOptional9
HANHANDLING INSTRUCTIONSOptional9
FTXFREE TEXTOptional9
CNTCONTROL TOTALOptional9
Loop TCCTRANSPORT CHARGE/RATE CALCULATIONSOptional9
TCCTRANSPORT CHARGE/RATE CALCULATIONSMandatory1
LOCPLACE/LOCATION IDENTIFICATIONOptional9
FTXFREE TEXTOptional9
CUXCURRENCIESOptional9
Loop RFFREFERENCEOptional9
RFFREFERENCEMandatory1
DTMDATE/TIME/PERIODOptional9
Loop NADNAME AND ADDRESSOptional9
NADNAME AND ADDRESSMandatory1
LOCPLACE/LOCATION IDENTIFICATIONOptional9
DOCDOCUMENT/MESSAGE DETAILSOptional9
Loop RFFREFERENCEOptional9
RFFREFERENCEMandatory1
DTMDATE/TIME/PERIODOptional9
Loop CTACONTACT INFORMATIONOptional9
CTACONTACT INFORMATIONMandatory1
COMCOMMUNICATION CONTACTOptional9
Loop TDTDETAILS OF TRANSPORTOptional9
TDTDETAILS OF TRANSPORTMandatory1
DTMDATE/TIME/PERIODOptional9
LOCPLACE/LOCATION IDENTIFICATIONOptional9
RFFREFERENCEOptional9
Loop LINLINE ITEMOptional99
LINLINE ITEMMandatory1
PIAADDITIONAL PRODUCT IDOptional9
IMDITEM DESCRIPTIONOptional99
HANHANDLING INSTRUCTIONSOptional9
TCCTRANSPORT CHARGE/RATE CALCULATIONSOptional9
Loop NADNAME AND ADDRESSOptional9
NADNAME AND ADDRESSMandatory1
Loop CTACONTACT INFORMATIONOptional1
CTACONTACT INFORMATIONMandatory1
COMCOMMUNICATION CONTACTOptional9
MEAMEASUREMENTSOptional9
QTYQUANTITYOptional9
GINGOODS IDENTITY NUMBEROptional99
GIRRELATED IDENTIFICATION NUMBERSOptional99
DTMDATE/TIME/PERIODOptional9
FTXFREE TEXTOptional9
Loop RFFREFERENCEOptional9
RFFREFERENCEMandatory1
DTMDATE/TIME/PERIODOptional1
LOCPLACE/LOCATION IDENTIFICATIONOptional9
Loop PACPACKAGEOptional99
PACPACKAGEMandatory1
MEAMEASUREMENTSOptional9
QTYQUANTITYOptional9
Loop PCIPACKAGE IDENTIFICATIONOptional9
PCIPACKAGE IDENTIFICATIONMandatory1
GINGOODS IDENTITY NUMBEROptional9
Loop GIDGOODS ITEM DETAILSOptional99
GIDGOODS ITEM DETAILSMandatory1
HANHANDLING INSTRUCTIONSOptional1
CSTCUSTOMS STATUS OF GOODSOptional1
TMPTEMPERATUREOptional1
RNGRANGE DETAILSOptional1
LOCPLACE/LOCATION IDENTIFICATIONOptional9
MOAMONETARY AMOUNTOptional9
PIAADDITIONAL PRODUCT IDOptional9
FTXFREE TEXTOptional9
NADNAME AND ADDRESSOptional9
MEAMEASUREMENTSOptional9
DIMDIMENSIONSOptional9
RFFREFERENCEOptional9
PCIPACKAGE IDENTIFICATIONOptional9
Loop DOCDOCUMENT/MESSAGE DETAILSOptional9
DOCDOCUMENT/MESSAGE DETAILSMandatory1
DTMDATE/TIME/PERIODOptional9
SGPSPLIT GOODS PLACEMENTOptional9
TCCTRANSPORT CHARGE/RATE CALCULATIONSOptional9
Loop DGSDANGEROUS GOODSOptional9
DGSDANGEROUS GOODSMandatory1
FTXFREE TEXTOptional9
MEAMEASUREMENTSOptional9
Loop EQDEQUIPMENT DETAILSOptional9
EQDEQUIPMENT DETAILSMandatory1
EQNNUMBER OF UNITSOptional1
SELSEAL NUMBEROptional1
EQAATTACHED EQUIPMENTOptional99
UNTMessage TrailerOptional1