EANCOM IFTMIN Instruction Message Last updated: 2026-09-29
IFTMIN is the instruction message for transport. Shippers and forwarders send it to a carrier or logistics provider with everything needed to move a consignment. This sample follows EANCOM D96A.
It identifies the parties, the transport stages in TDT groups, the places of loading and delivery, and the goods items with their packages, weights and dangerous goods information.
At a glance
- Standard
- EANCOM
- Version
D96A EAN004- Sent by
- Shipper or forwarder to carrier
- Responses
- CONTRL, IFTSTA
- ediFabric .NET template
TSIFTMINinEdiFabric.Templates.Edifact- OpenEDI definition
- View IFTMIN in the spec library
IFTMIN structure
The full EANCOM IFTMIN layout from its OpenEDI definition, the same model ediFabric uses to parse, validate and generate it: 21 loops and 55 segment positions, in file order. Loops are shaded and their segments indented; Max use is how many times a segment or loop may repeat.
| Segment / loop | Name | Usage | Max use |
|---|---|---|---|
UNH | Message header | Mandatory | 1 |
BGM | Beginning of message | Mandatory | 1 |
DTM | Date/time/period | Optional | 9 |
TSR | Transport service requirements | Optional | 9 |
MOA | Monetary amount | Optional | 99 |
FTX | Free text | Optional | 99 |
CNT | Control total | Optional | 9 |
| TOD loop | Terms of delivery or transport | Optional | 2 |
TOD | Terms of delivery or transport | Mandatory | 1 |
LOC | Place/location identification | Optional | 9 |
| RFF loop | Reference | Optional | 99 |
RFF | Reference | Mandatory | 1 |
DTM | Date/time/period | Optional | 9 |
| TDT loop | Details of transport | Optional | 99 |
TDT | Details of transport | Mandatory | 1 |
DTM | Date/time/period | Optional | 9 |
| LOC loop | Place/location identification | Optional | 99 |
LOC | Place/location identification | Mandatory | 1 |
| NAD loop | Name and address | Mandatory | 99 |
NAD | Name and address | Mandatory | 1 |
| CTA loop | Contact information | Optional | 9 |
CTA | Contact information | Mandatory | 1 |
COM | Communication contact | Optional | 9 |
| DOC loop | Document/message details | Optional | 9 |
DOC | Document/message details | Mandatory | 1 |
DTM | Date/time/period | Optional | 1 |
| RFF loop | Reference | Optional | 9 |
RFF | Reference | Mandatory | 1 |
DTM | Date/time/period | Optional | 9 |
| GID loop | Goods item details | Optional | 999 |
GID | Goods item details | Mandatory | 1 |
HAN | Handling instructions | Optional | 1 |
TMP | Temperature | Optional | 1 |
RNG | Range details | Optional | 1 |
LOC | Place/location identification | Optional | 9 |
MOA | Monetary amount | Optional | 9 |
PIA | Additional product id | Optional | 9 |
FTX | Free text | Optional | 9 |
| NAD loop | Name and address | Optional | 9 |
NAD | Name and address | Mandatory | 1 |
DTM | Date/time/period | Optional | 1 |
| MEA loop | Measurements | Optional | 99 |
MEA | Measurements | Mandatory | 1 |
EQN | Number of units | Optional | 1 |
| DIM loop | Dimensions | Optional | 99 |
DIM | Dimensions | Mandatory | 1 |
EQN | Number of units | Optional | 1 |
| RFF loop | Reference | Optional | 9 |
RFF | Reference | Mandatory | 1 |
DTM | Date/time/period | Optional | 9 |
| PCI loop | Package identification | Optional | 9 |
PCI | Package identification | Mandatory | 1 |
GIN | Goods identity number | Optional | 10 |
| DOC loop | Document/message details | Optional | 9 |
DOC | Document/message details | Mandatory | 1 |
DTM | Date/time/period | Optional | 9 |
| SGP loop | Split goods placement | Optional | 999 |
SGP | Split goods placement | Mandatory | 1 |
| DGS loop | Dangerous goods | Optional | 9 |
DGS | Dangerous goods | Mandatory | 1 |
FTX | Free text | Optional | 99 |
| CTA loop | Contact information | Optional | 9 |
CTA | Contact information | Mandatory | 1 |
COM | Communication contact | Optional | 9 |
| MEA loop | Measurements | Optional | 9 |
MEA | Measurements | Mandatory | 1 |
EQN | Number of units | Optional | 1 |
| EQD loop | Equipment details | Optional | 999 |
EQD | Equipment details | Mandatory | 1 |
MEA | Measurements | Optional | 9 |
DIM | Dimensions | Optional | 9 |
SEL | Seal number | Optional | 99 |
| NAD loop | Name and address | Optional | 9 |
NAD | Name and address | Mandatory | 1 |
DTM | Date/time/period | Optional | 1 |
UNT | Message trailer | Mandatory | 1 |
Sample IFTMIN file
An EANCOM transport instruction for one consignment. Paste it into EdiNation to see every element named and validated.
UNB+UNOA:2+SID+RID+20130430:1159+I-EX1/1+++++T01' UNH+ME000001+IFTMIN:D:96A:UN:EAN004' BGM+610+569952+9' DTM+137:20020301:102' DTM+2:200203081100:203' CNT+11:1' RFF+CU:TI1284' TDT+20++30+31' DTM+133:200203051100:203' LOC+9+5412345678908::9' NAD+CZ+5412345123453::9' NAD+CA+5411234512309::9' NAD+CN+5411234444402::9' NAD+DP+5412345145660::9' GID+1+1:09::9+14:PK' HAN+EAT::9' TMP+2+000:CEL' RNG+5+CEL:-5:5' MOA+44:45000:EUR' PIA+5+5410738377117:SRV' MEA+AAE+X7E+KGM:250' PCI+33E' GIN+BJ+354123450000000014' UNT+23+ME000001' UNZ+1+I-EX1/1'
The same IFTMIN as JSON
ediFabric turns every loop, segment and element into a named field. This is the transaction from the sample, in the JSON that ediFabric Native and Cloud return and accept.
{
"UNH": {
"MessageReferenceNumber_01": "ME000001",
"MessageIdentifier_02": {
"MessageType_01": "IFTMIN",
"MessageVersionNumber_02": "D",
"MessageReleaseNumber_03": "96A",
"ControllingAgencyCoded_04": "UN",
"AssociationAssignedCode_05": "EAN004"
}
},
"BGM": {
"DOCUMENTMESSAGENAME_01": {
"Documentmessagenamecoded_01": "610"
},
"DOCUMENTMESSAGENUMBER_02": "569952",
"MESSAGEFUNCTIONCODED_03": "9"
},
"DTM": [
{
"DATETIMEPERIOD_01": {
"Datetimeperiodqualifier_01": "137",
"Datetimeperiod_02": "20020301",
"Datetimeperiodformatqualifier_03": "102"
}
},
{
"DATETIMEPERIOD_01": {
"Datetimeperiodqualifier_01": "2",
"Datetimeperiod_02": "200203081100",
"Datetimeperiodformatqualifier_03": "203"
}
}
],
"CNT": [
{
"CONTROL_01": {
"Controlqualifier_01": "11",
"Controlvalue_02": "1"
}
}
],
"RFFLoop": [
{
"RFF": {
"REFERENCE_01": {
"Referencequalifier_01": "CU",
"Referencenumber_02": "TI1284"
}
}
}
],
"TDTLoop": [
{
"TDT": {
"TRANSPORTSTAGEQUALIFIER_01": "20",
"MODEOFTRANSPORT_03": {
"Modeoftransportcoded_01": "30"
},
"TRANSPORTMEANS_04": {
"Typeofmeansoftransportidentification_01": "31"
}
},
"DTM": [
{
"DATETIMEPERIOD_01": {
"Datetimeperiodqualifier_01": "133",
"Datetimeperiod_02": "200203051100",
"Datetimeperiodformatqualifier_03": "203"
}
}
],
"LOCLoop": [
{
"LOC": {
"PLACELOCATIONQUALIFIER_01": "9",
"LOCATIONIDENTIFICATION_02": {
"Placelocationidentification_01": "5412345678908",
"Codelistresponsibleagencycoded_03": "9"
}
}
}
]
}
],
"NADLoop": [
{
"NAD": {
"PARTYQUALIFIER_01": "CZ",
"PARTYIDENTIFICATIONDETAILS_02": {
"Partyididentification_01": "5412345123453",
"Codelistresponsibleagencycoded_03": "9"
}
}
},
{
"NAD": {
"PARTYQUALIFIER_01": "CA",
"PARTYIDENTIFICATIONDETAILS_02": {
"Partyididentification_01": "5411234512309",
"Codelistresponsibleagencycoded_03": "9"
}
}
},
{
"NAD": {
"PARTYQUALIFIER_01": "CN",
"PARTYIDENTIFICATIONDETAILS_02": {
"Partyididentification_01": "5411234444402",
"Codelistresponsibleagencycoded_03": "9"
}
}
},
{
"NAD": {
"PARTYQUALIFIER_01": "DP",
"PARTYIDENTIFICATIONDETAILS_02": {
"Partyididentification_01": "5412345145660",
"Codelistresponsibleagencycoded_03": "9"
}
}
}
],
"GIDLoop": [
{
"GID": {
"GOODSITEMNUMBER_01": "1",
"NUMBERANDTYPEOFPACKAGES_02": {
"Numberofpackages_01": "1",
"Typeofpackagesidentification_02": "09",
"Codelistresponsibleagencycoded_04": "9"
},
"NUMBERANDTYPEOFPACKAGES_03": {
"Numberofpackages_01": "14",
"Typeofpackagesidentification_02": "PK"
}
},
"HAN": {
"HANDLINGINSTRUCTIONS_01": {
"Handlinginstructionscoded_01": "EAT",
"Codelistresponsibleagencycoded_03": "9"
}
},
"TMP": {
"TEMPERATUREQUALIFIER_01": "2",
"TEMPERATURESETTING_02": {
"Temperaturesetting_01": "000",
"Measureunitqualifier_02": "CEL"
}
},
"RNG": {
"RANGETYPEQUALIFIER_01": "5",
"RANGE_02": {
"Measureunitqualifier_01": "CEL",
"Rangeminimum_02": "-5",
"Rangemaximum_03": "5"
}
},
"MOA": [
{
"MONETARYAMOUNT_01": {
"Monetaryamounttypequalifier_01": "44",
"Monetaryamount_02": "45000",
"Currencycoded_03": "EUR"
}
}
],
"PIA": [
{
"PRODUCTIDFUNCTIONQUALIFIER_01": "5",
"ITEMNUMBERIDENTIFICATION_02": {
"Itemnumber_01": "5410738377117",
"Itemnumbertypecoded_02": "SRV"
}
}
],
"MEALoop": [
{
"MEA": {
"MEASUREMENTAPPLICATIONQUALIFIER_01": "AAE",
"MEASUREMENTDETAILS_02": {
"Measurementdimensioncoded_01": "X7E"
},
"VALUERANGE_03": {
"Measureunitqualifier_01": "KGM",
"Measurementvalue_02": "250"
}
}
}
],
"PCILoop": [
{
"PCI": {
"MARKINGINSTRUCTIONSCODED_01": "33E"
},
"GIN": [
{
"IDENTITYNUMBERQUALIFIER_01": "BJ",
"IDENTITYNUMBERRANGE_02": {
"Identitynumber_01": "354123450000000014"
}
}
]
}
]
}
],
"UNT": {
"NumberofSegmentsinaMessage_01": "23",
"MessageReferenceNumber_02": "ME000001"
}
}Parse and validate an IFTMIN file
Read the file into typed objects with ediFabric .NET, or post it to the ediFabric Cloud REST API from any language and get JSON back.
using EdiFabric.Templates.EdifactD96A; License.SetSerial("YOUR_SERIAL_KEY"); using (var stream = File.OpenRead(@"C:\edi\Instruction.txt")) using (var reader = new EdifactReader(stream, "EdiFabric.Templates.Edifact")) { var items = await reader.ReadToEndAsync(); foreach (var transaction in items.OfType<TSIFTMIN>()) { if (transaction.IsValid(out MessageErrorContext errors)) Console.WriteLine($"{transaction.UNH.MessageReferenceNumber_01} is valid"); else Console.WriteLine(string.Join(Environment.NewLine, errors.Flatten())); } }
curl -X POST 'https://api.edination.com/v2/edifact/read' \ -H 'Ocp-Apim-Subscription-Key: YOUR_SERIAL_KEY' \ -H 'Content-Type: application/octet-stream' \ --data-binary '@Instruction.txt'
Generate an IFTMIN file
Populate a TSIFTMIN object in .NET, or post JSON in the shape shown above to ediFabric Cloud, and get a valid IFTMIN file back.
using EdiFabric.Templates.EdifactD96A; License.SetSerial("YOUR_SERIAL_KEY"); var transaction = new TSIFTMIN(); // Message header transaction.UNH = new UNH(); transaction.UNH.MessageReferenceNumber_01 = "0001"; transaction.UNH.MessageIdentifier_02 = new S009(); transaction.UNH.MessageIdentifier_02.MessageType_01 = "IFTMIN"; transaction.UNH.MessageIdentifier_02.MessageVersionNumber_02 = "D"; transaction.UNH.MessageIdentifier_02.MessageReleaseNumber_03 = "96A"; transaction.UNH.MessageIdentifier_02.ControllingAgencyCoded_04 = "UN"; // Transport instruction number transaction.BGM = new BGM(); transaction.BGM.DOCUMENTMESSAGENAME_01 = new C002(); transaction.BGM.DOCUMENTMESSAGENAME_01.Documentmessagenamecoded_01 = "610"; transaction.BGM.Documentmessagenumber_02 = "569952"; transaction.BGM.Messagefunctioncoded_03 = "9"; // Repeating DTM transaction.DTM = new List<DTM>(); // ... set the remaining loops and segments the same way // SegmentBuilders is in the Common project of the example repository using (var stream = new MemoryStream()) { using (var writer = new EdifactWriter(stream)) { writer.Write(SegmentBuilders.BuildUnb("1")); writer.Write(transaction); } Console.WriteLine(Encoding.UTF8.GetString(stream.ToArray())); }
# the JSON returned by /read, edited or produced by your application curl -X POST 'https://api.edination.com/v2/edifact/write' \ -H 'Ocp-Apim-Subscription-Key: YOUR_SERIAL_KEY' \ -H 'Content-Type: application/json' \ --data-binary '@Instruction.json' \ -o 'Instruction.txt'
Complete ediFabric .NET example
A complete C# program for the EANCOM IFTMIN, built on TSIFTMIN in EdiFabric.Templates.Edifact. The same code is in the ediFabric .NET examples on GitHub.
using EdiFabric.Core.Model.Edi;
using EdiFabric.Framework.Readers;
using EdiFabric.Framework.Writers;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using EdiFabric.Core.Model.Edi.Edifact;
using EdiFabric.Templates.EdifactD96A;
using EdiFabric.Examples.EDIFACT.Common;
namespace EdiFabric.Examples.EDIFACT.IFTMIN
{
class Program
{
static void Main(string[] args)
{
SerialKey.Set(Common.SerialKey.Get());
Read();
Write();
}
///
/// Read Instruction
///
static void Read()
{
var ediStream = File.OpenRead(Directory.GetCurrentDirectory() + @"\..\..\..\Files\Eancom\Instruction.txt");
List ediItems;
using (var ediReader = new EdifactReader(ediStream, "EdiFabric.Templates.Edifact"))
ediItems = ediReader.ReadToEnd().ToList();
var transactions = ediItems.OfType();
foreach (var transaction in transactions)
{
if (transaction.HasErrors)
{
// partially parsed
var errors = transaction.ErrorContext.Flatten();
}
}
}
///
/// Write Instruction
///
static void Write()
{
var transaction = BuildInstruction("ME000001");
using (var stream = new MemoryStream())
{
using (var writer = new EdifactWriter(stream))
{
writer.Write(SegmentBuilders.BuildUnb("1"));
writer.Write(transaction);
}
var ediString = stream.LoadToString();
}
}
///
/// Build instruction.
/// Original from https://www.gs1.org/sites/default/files/docs/eancom/s4/iftmin.pdf
///
static TSIFTMIN BuildInstruction(string controlNumber)
{
var result = new TSIFTMIN();
// Message header
result.UNH = new UNH();
result.UNH.MessageReferenceNumber_01 = controlNumber.PadLeft(14, '0');
result.UNH.MessageIdentifier_02 = new S009();
result.UNH.MessageIdentifier_02.MessageType_01 = "IFTMIN";
result.UNH.MessageIdentifier_02.MessageVersionNumber_02 = "D";
result.UNH.MessageIdentifier_02.MessageReleaseNumber_03 = "96A";
result.UNH.MessageIdentifier_02.ControllingAgencyCoded_04 = "UN";
// Transport instruction number
result.BGM = new BGM();
result.BGM.DOCUMENTMESSAGENAME_01 = new C002();
result.BGM.DOCUMENTMESSAGENAME_01.Documentmessagenamecoded_01 = "610";
result.BGM.Documentmessagenumber_02 = "569952";
result.BGM.Messagefunctioncoded_03 = "9";
// Repeating DTM
result.DTM = new List();
// Message date/time 1st March 2002
var dtm1 = new DTM();
dtm1.DATETIMEPERIOD_01 = new C507();
dtm1.DATETIMEPERIOD_01.Datetimeperiodqualifier_01 = "137";
dtm1.DATETIMEPERIOD_01.Datetimeperiod_02 = "20020301";
dtm1.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "102";
result.DTM.Add(dtm1);
// Delivery date/time requested, 8th March 2002 at 11:00
var dtm2 = new DTM();
dtm2.DATETIMEPERIOD_01 = new C507();
dtm2.DATETIMEPERIOD_01.Datetimeperiodqualifier_01 = "2";
dtm2.DATETIMEPERIOD_01.Datetimeperiod_02 = "200203081100";
dtm2.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "203";
result.DTM.Add(dtm2);
// Repeating CNT
result.CNT = new List();
// Total number of packages 1
var cnt = new CNT();
cnt.CONTROL_01 = new C270();
cnt.CONTROL_01.Controlqualifier_01 = "11";
cnt.CONTROL_01.Controlvalue_02 = "1";
result.CNT.Add(cnt);
// Repeating RFF Groups
result.RFFLoop = new List();
// Begin RFF Group
var rffLoop1 = new Loop_RFF_IFTMIN();
// Consignor’s reference number TI1284
rffLoop1.RFF = new RFF();
rffLoop1.RFF.REFERENCE_01 = new C506();
rffLoop1.RFF.REFERENCE_01.Referencequalifier_01 = "CU";
rffLoop1.RFF.REFERENCE_01.Referencenumber_02 = "TI1284";
// End RFF Group
result.RFFLoop.Add(rffLoop1);
// Repeating TDT Groups
result.TDTLoop = new List();
// Begin TDT Group
var tdtLoop1 = new Loop_TDT_IFTMIN();
// Details of transport, by truck
tdtLoop1.TDT = new TDT();
tdtLoop1.TDT.Transportstagequalifier_01 = "20";
tdtLoop1.TDT.MODEOFTRANSPORT_03 = new C220();
tdtLoop1.TDT.MODEOFTRANSPORT_03.Modeoftransportcoded_01 = "30";
tdtLoop1.TDT.TRANSPORTMEANS_04 = new C228();
tdtLoop1.TDT.TRANSPORTMEANS_04.Typeofmeansoftransportidentification_01 = "31";
// Repeating DTM
tdtLoop1.DTM = new List();
// Estimated departure of truck 5th March 2002 at 11am
var dtmTdt1 = new DTM();
dtmTdt1.DATETIMEPERIOD_01 = new C507();
dtmTdt1.DATETIMEPERIOD_01.Datetimeperiodqualifier_01 = "133";
dtmTdt1.DATETIMEPERIOD_01.Datetimeperiod_02 = "200203051100";
dtmTdt1.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "203";
tdtLoop1.DTM.Add(dtmTdt1);
// Repeating LOC Groups
tdtLoop1.LOCLoop = new List();
// Begin LOC Group
var locTdt1 = new Loop_LOC_IFTMIN_2();
// Place of truck loading identified with GLN 5412345678908
locTdt1.LOC = new LOC();
locTdt1.LOC.Placelocationqualifier_01 = "9";
locTdt1.LOC.LOCATIONIDENTIFICATION_02 = new C517();
locTdt1.LOC.LOCATIONIDENTIFICATION_02.Placelocationidentification_01 = "5412345678908";
locTdt1.LOC.LOCATIONIDENTIFICATION_02.Codelistresponsibleagencycoded_03 = "9";
// End LOC Group
tdtLoop1.LOCLoop.Add(locTdt1);
// End TDT Group
result.TDTLoop.Add(tdtLoop1);
// Repeating NAD Groups
result.NADLoop = new List();
// Begin NAD Group 1
var nadLoop1 = new Loop_NAD_IFTMIN();
// Consignor identified with GLN 5412345123453
nadLoop1.NAD = new NAD();
nadLoop1.NAD.Partyqualifier_01 = "CZ";
nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02 = new C082();
nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02.Partyididentification_01 = "5412345123453";
nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02.Codelistresponsibleagencycoded_03 = "9";
// End NAD Group 1
result.NADLoop.Add(nadLoop1);
// Begin NAD Group 2
var nadLoop2 = new Loop_NAD_IFTMIN();
// Carrier identified with GLN 5411234512309
nadLoop2.NAD = new NAD();
nadLoop2.NAD.Partyqualifier_01 = "CA";
nadLoop2.NAD.PARTYIDENTIFICATIONDETAILS_02 = new C082();
nadLoop2.NAD.PARTYIDENTIFICATIONDETAILS_02.Partyididentification_01 = "5411234512309";
nadLoop2.NAD.PARTYIDENTIFICATIONDETAILS_02.Codelistresponsibleagencycoded_03 = "9";
// End NAD Group 2
result.NADLoop.Add(nadLoop2);
// Begin NAD Group 3
var nadLoop3 = new Loop_NAD_IFTMIN();
// Consignee identified with GLN 5411234444402
nadLoop3.NAD = new NAD();
nadLoop3.NAD.Partyqualifier_01 = "CN";
nadLoop3.NAD.PARTYIDENTIFICATIONDETAILS_02 = new C082();
nadLoop3.NAD.PARTYIDENTIFICATIONDETAILS_02.Partyididentification_01 = "5411234444402";
nadLoop3.NAD.PARTYIDENTIFICATIONDETAILS_02.Codelistresponsibleagencycoded_03 = "9";
// End NAD Group 3
result.NADLoop.Add(nadLoop3);
// Begin NAD Group 4
var nadLoop4 = new Loop_NAD_IFTMIN();
// Delivery party identified with GLN 5412345145660
nadLoop4.NAD = new NAD();
nadLoop4.NAD.Partyqualifier_01 = "DP";
nadLoop4.NAD.PARTYIDENTIFICATIONDETAILS_02 = new C082();
nadLoop4.NAD.PARTYIDENTIFICATIONDETAILS_02.Partyididentification_01 = "5412345145660";
nadLoop4.NAD.PARTYIDENTIFICATIONDETAILS_02.Codelistresponsibleagencycoded_03 = "9";
// End NAD Group 4
result.NADLoop.Add(nadLoop4);
// Repeating GID Groups
result.GIDLoop = new List();
// Begin GID Group
var gidLoop1 = new Loop_GID_IFTMIN();
// First occurrence of goods in one returnable pallet with 14 packages
gidLoop1.GID = new GID();
gidLoop1.GID.Goodsitemnumber_01 = "1";
gidLoop1.GID.NUMBERANDTYPEOFPACKAGES_02 = new C213();
gidLoop1.GID.NUMBERANDTYPEOFPACKAGES_02.Numberofpackages_01 = "1";
gidLoop1.GID.NUMBERANDTYPEOFPACKAGES_02.Typeofpackagesidentification_02 = "09";
gidLoop1.GID.NUMBERANDTYPEOFPACKAGES_02.Codelistresponsibleagencycoded_04 = "9";
gidLoop1.GID.NUMBERANDTYPEOFPACKAGES_03 = new C213();
gidLoop1.GID.NUMBERANDTYPEOFPACKAGES_03.Numberofpackages_01 = "14";
gidLoop1.GID.NUMBERANDTYPEOFPACKAGES_03.Typeofpackagesidentification_02 = "PK";
// The goods are foods stuffs
gidLoop1.HAN = new HAN();
gidLoop1.HAN.HANDLINGINSTRUCTIONS_01 = new C524();
gidLoop1.HAN.HANDLINGINSTRUCTIONS_01.Handlinginstructionscoded_01 = "EAT";
gidLoop1.HAN.HANDLINGINSTRUCTIONS_01.Codelistresponsibleagencycoded_03 = "9";
// Transport temperature 0 degrees Celsius
gidLoop1.TMP = new TMP();
gidLoop1.TMP.Temperaturequalifier_01 = "2";
gidLoop1.TMP.TEMPERATURESETTING_02 = new C239();
gidLoop1.TMP.TEMPERATURESETTING_02.Temperaturesetting_01 = "000";
gidLoop1.TMP.TEMPERATURESETTING_02.Measureunitqualifier_02 = "CEL";
// The range of temperature must be between –5 and 5 degrees Celsius
gidLoop1.RNG = new RNG();
gidLoop1.RNG.Rangetypequalifier_01 = "5";
gidLoop1.RNG.RANGE_02 = new C280();
gidLoop1.RNG.RANGE_02.Measureunitqualifier_01 = "CEL";
gidLoop1.RNG.RANGE_02.Rangeminimum_02 = "-5";
gidLoop1.RNG.RANGE_02.Rangemaximum_03 = "5";
// Repeating MOA
gidLoop1.MOA = new List();
// Declared valued of the carriage 45.000 EUR
var moaGid1 = new MOA();
moaGid1.MONETARYAMOUNT_01 = new C516();
moaGid1.MONETARYAMOUNT_01.Monetaryamounttypequalifier_01 = "44";
moaGid1.MONETARYAMOUNT_01.Monetaryamount_02 = "45000";
moaGid1.MONETARYAMOUNT_01.Currencycoded_03 = "EUR";
gidLoop1.MOA.Add(moaGid1);
// Repeating PIA
gidLoop1.PIA = new List();
// Product identification of the goods using GTIN 5410738377117
var piaGid1 = new PIA();
piaGid1.Productidfunctionqualifier_01 = "5";
piaGid1.ITEMNUMBERIDENTIFICATION_02 = new C212();
piaGid1.ITEMNUMBERIDENTIFICATION_02.Itemnumber_01 = "5410738377117";
piaGid1.ITEMNUMBERIDENTIFICATION_02.Itemnumbertypecoded_02 = "SRV";
gidLoop1.PIA.Add(piaGid1);
// Repeating MEA Groups
gidLoop1.MEALoop = new List();
// Begin MEA GID Group
var meaGid1 = new Loop_MEA_IFTMIN();
// Gross weight of returnable pallet plus 14 packages on the pallet is 250 Kilograms
meaGid1.MEA = new MEA();
meaGid1.MEA.Measurementapplicationqualifier_01 = "AAE";
meaGid1.MEA.MEASUREMENTDETAILS_02 = new C502();
meaGid1.MEA.MEASUREMENTDETAILS_02.Measurementdimensioncoded_01 = "X7E";
meaGid1.MEA.VALUERANGE_03 = new C174();
meaGid1.MEA.VALUERANGE_03.Measureunitqualifier_01 = "KGM";
meaGid1.MEA.VALUERANGE_03.Measurementvalue_02 = "250";
// End MEA GID Group
gidLoop1.MEALoop.Add(meaGid1);
// Repeating PCI Groups
gidLoop1.PCILoop = new List();
// Begin PCI GID Group
var pciGid1 = new Loop_PCI_IFTMIN();
// Marked with the EAN.UCC serial shipping container code
pciGid1.PCI = new PCI();
pciGid1.PCI.Markinginstructionscoded_01 = "33E";
// Repeating GIN
pciGid1.GIN = new List();
// Identification of marked serial shipping container code
var ginPci1 = new GIN();
ginPci1.Identitynumberqualifier_01 = "BJ";
ginPci1.IDENTITYNUMBERRANGE_02 = new C208();
ginPci1.IDENTITYNUMBERRANGE_02.Identitynumber_01 = "354123450000000014";
pciGid1.GIN.Add(ginPci1);
// End PCI GID Group
gidLoop1.PCILoop.Add(pciGid1);
// End GID Group
result.GIDLoop.Add(gidLoop1);
return result;
}
}
}More operations in ediFabric .NET
IFTMIN questions
Is IFTMIN a booking?
It is the firm instruction. Some partners use IFTMBF or IFTMBC for booking requests and confirmations, and IFTMIN once the shipment is ready.
How does the carrier report progress?
With IFTSTA status reports for each event.
What is the X12 equivalent?
The 204 motor carrier load tender, or the 404 for rail.
How do I parse and generate EANCOM IFTMIN files in .NET?
In .NET, install EdiFabric and EdiFabric.Templates.Edifact, read the file with EdifactReader into TSIFTMIN objects and write them back with EdifactWriter. From any other language, post the file to the ediFabric Cloud REST API, which returns the same structure as JSON and converts JSON back to EANCOM.
Resources
Parse your first EANCOM IFTMIN in five minutes
The Community plan is free forever and needs no credit card. It includes ediFabric .NET, Native and Cloud with one serial key.
Sign up free Validate EDI files free