IFTMIN — Instruction Message (D.96A)
Le message IFTMIN transmet d'un donneur d'instruction vers un commissionnaire ou transporteur les instructions concernant les services de transport ou de transitaire pour un envoi, selon des conditions négociées en amont.
Objet du message
Selon la définition officielle UN/CEFACT, IFTMIN est « un message provenant de la partie émettant une instruction concernant les services de transitaire/transport pour un envoi sous des conditions convenues, vers la partie organisant les services de transitaire et/ou de transport ». Le standard précise qu'il s'agit d'un message « à un seul envoi », aligné avec les messages de booking (IFTMBP, IFTMBF, IFTMBC), de statut contractuel (IFTMCS) et d'avis d'arrivée (IFTMAN).
IFTMIN couvre tous les modes de transport (route, rail, mer, air, fluvial) et toutes les parties (consignor, consignee, forwarder, broker, carrier). C'est le message qui ferme l'instruction de transport pour un envoi : « ramassez X chez le consignor à telle heure, livrez à tel consignee, par tel itinéraire, avec tel équipement, sous telles incoterms ».
Structure segmentaire
IFTMIN D.96A est un message à structure plate, sans section formelle Header/Detail/Summary : pas de UNS, pas de section Detail délimitée. La spec UNECE enchaîne directement les segments d'en-tête, puis les groupes de parties, transport, marchandises et équipement, puis l'UNT.
Header
L'en-tête commence par les mandataires : UNH M , BGM M , puis une série de segments conditionnels au niveau message : CTA C , COM C , DTM C , TSR C , CUX C , MOA C , FTX C , CNT C , DOC C .
À noter : DTM est conditionnel dans IFTMIN (pas mandataire comme dans ORDERS). Toutefois en pratique, on attend au minimum un DTM+137 (date émission).
Parties et routage
Suivent les groupes de positionnement de l'envoi :
- SG1
LOC+DTM— lieux et dates clés (origin, destination, transbordement). LOC[0] qualifie : 9 = Place of loading, 11 = Place of discharge, 13 = Final destination, etc. - SG2
TOD+LOC— termes de livraison (Incoterm en TOD[2]). - SG3
RFF+DTM— références (booking, contrat de transport, bill of lading anticipé). - SG4
GOR+DTM+LOC+SEL+FTX— exigences gouvernementales (douane, certificats sanitaires). - SG5
DOC+DTM— documents requis. - SG6
CPI+RFF+CUX+LOC+MOA— instructions de paiement des frais (Charge Payment Instructions), avec SG7TCCpour le détail des frais. - SG8
TDT+DTM+TSR— détails du transport principal (mode, conveyance, carrier name) avec sous-groupe SG9LOC+DTMpour les escales / étapes, SG10RFF+DTMpour les références transport. - SG11
NAD+LOC+MOA— parties (mandataire, jusqu'à 99 occurrences) : consignor (CZ), consignee (CN), carrier (CA), forwarder (FW), notify (NI), etc. avec SG12CTA+COMpour les contacts, SG13DOC+DTM, SG14TCC, SG15RFF+DTM, SG16CPI, SG17TSR+RFF+LOC+TPL+FTX— exigences de service par partie.
Marchandises et équipement
Le cœur métier est porté par deux loops :
- SG18 (jusqu'à 999 occurrences)
GID+HAN+TMP+RNG+TMD+LOC+MOA+PIA+FTX— marchandises. GID M ouvre la ligne, HAN C , TMP C , PIA C . SG18 imbrique SG19NAD+DTM+GDS(parties au niveau ligne avec nature de cargaison), SG20MEA+EQN(mesures), SG21DIM+EQN(dimensions), SG22RFF+DTM, SG23PCI+RFF+DTM+GIN(identification colis avec SSCC), SG24DOC+DTM, SG25GOR+DTM+LOC+SEL+FTX(exigences douanières), SG26DOC+DTM, SG27TPL(Transport Placement), SG28MEA+EQN, SG29SGP(Split Goods Placement), SG30MEA+EQN, SG31TCC(frais ligne), SG32DGS+FTX— marchandises dangereuses. - SG37 (jusqu'à 999 occurrences)
EQD+EQN+TMD+MEA+DIM+SEL+TPL+HAN+TMP+FTX— équipement de transport : conteneur, semi-remorque, wagon. EQD M ouvre, SEL C . SG37 imbrique SG38TCC+PRI+EQN+PCD+MOA+QTY(frais équipement), SG39NAD+DTM(partie associée à l'équipement) avec SG40CTA+COM, SG41EQA+EQN(équipement attaché — châssis, groupe frigorifique).
Trailer
Après SG41 vient directement UNT M . IFTMIN n'a pas de section Summary.
Obligatoire / conditionnel
Trois éléments structurels sont strictement mandataires dans tout IFTMIN D.96A :
UNH— ouvre le message.BGM— précise la fonction (610 = Transport instruction, 13 = Request, 9 = Original...) et le numéro.- SG11 avec son
NAD— au moins un groupe parties (M dans la spec, jusqu'à 99 occurrences).
En pratique métier, il faut aussi : un DTM+137 (date émission), des
LOC+9 / LOC+11 (origin / destination), un NAD+CZ
(consignor) et NAD+CN (consignee), un NAD+CA (carrier), un
TDT pour le transport principal, et au moins un GID dans SG18
avec son MEA poids.
Exemple réel
Un ordre de transport multimodal : 10 palettes (6 tonnes) à enlever à Rouen le 20 mai, à livrer à Hambourg le 22 mai, par voie maritime sur le navire MV NORTH STAR, en conteneur 45GP scellé.
UNB+UNOC:3+5410000000123:14+5410000000999:14+260519:1500+CTRL000060'
UNH+1+IFTMIN:D:96A:UN'
BGM+610+IFTMIN-2026-0519-A+9'
DTM+137:20260519:102'
TSR+30+1'
LOC+9+FRROU+FR:::Rouen'
LOC+11+DEHAM+DE:::Hamburg'
DTM+232:202605201400:203'
DTM+17:202605221700:203'
RFF+CN:BOOKING-2026-0519-A'
TOD+6++CIF'
NAD+CZ+5410000000123::9+ACME LOGISTICS'
NAD+CN+5410000000456::9+ACME PARIS DEPOT'
NAD+CA+5410000000999::9+EUROCARRIER GMBH'
GID+1+10:PAL:67'
HAN+++FRAGILE'
MEA+WT++KGM:6000'
PIA+5+SKU-A:SA'
GDS+H'
TDT+20+VOY-1234+1+13:Sea++:::EUROCARRIER+++:MV NORTH STAR'
EQD+CN+EVRU1234567+45GP:103:5'
EQN+1'
SEL+SEAL-998877:CA'
UNT+19+1'
UNZ+1+CTRL000060' BGM+610+IFTMIN-2026-0519-A+9— fonction 610 (Transport instruction), numéro IFTMIN-2026-0519-A, statut 9.DTM+137— date émission.TSR+30+1— Service de transport : 30 (standard), priorité 1.LOC+9/LOC+11— Place of loading (Rouen, FRROU) et Place of discharge (Hambourg, DEHAM).DTM+232/DTM+17— date d'enlèvement et date de livraison demandées (qualifier 203 horodaté).RFF+CN— numéro de booking.TOD+6++CIF— Terms of Delivery : CIF Hambourg.NAD+CZ/NAD+CN/NAD+CA— Consignor, Consignee, Carrier.GID+1+10:PAL:67— 10 colis de type palette (qualifier 67 = unit load).HAN— instruction « Fragile ».MEA+WT++KGM:6000— poids : 6 000 kg.TDT+20— Transport stage 20 (Main carriage), conveyance VOY-1234, mode 1 (Maritime), navire MV NORTH STAR.EQD+CN+EVRU1234567+45GP:103:5— Equipment : conteneur n° EVRU1234567, type 45GP (40-foot high-cube), code source ISO 6346.SEL+SEAL-998877:CA— scellé n° SEAL-998877, attestant scellement par le transporteur (CA).UNT+19+1— 19 segments.
Erreurs fréquentes
- Confusion IFTMIN vs IFTMBF — IFTMIN est l'instruction (donner l'ordre de transport), IFTMBF est la confirmation de booking. Beaucoup d'implémentations TMS confondent les deux. IFTMIN s'utilise quand l'envoi est déjà booké et qu'on transmet les instructions opérationnelles détaillées.
- NAD+CA absent — pas de transporteur identifié : le destinataire ne sait pas qui doit exécuter. Le carrier est toujours requis en pratique, même si SG11 demande seulement « au moins un NAD ».
- GID sans MEA poids — un envoi sans poids est inexploitable pour la cotation, le routage et l'allocation d'équipement.
MEA+WT++KGM:<n>(ouLBR) doit toujours accompagner un GID en SG18. - EQD sans qualifier — l'
EQDdoit porter unEQD[0]clair (CN container, TT tractor + trailer, RR rail wagon). Sans qualifier, le transporteur ne sait pas quel matériel allouer. - Incoterm sans place — un
TOD+6++CIFsans uneLOC+11juste après pour préciser « CIF Hambourg » ouvre un litige sur la prise en charge des frais et risques. Incoterm + lieu sont indissociables. - Marchandises dangereuses sans DGS — pour du transport ADR/IMDG/IATA-DGR, le segment
DGS(SG32 dans SG18) est obligatoire métier. Son absence expose à des refus en douane et des amendes.
Messages liés
IFTMIN s'inscrit dans une famille messages transport « single consignment » :
- IFTSTA D.96A — le message de statut envoyé par le transporteur en retour (événements de tracking).
- DESADV D.96A — l'avis d'expédition côté flux marchand, qui référence l'IFTMIN.
- ORDERS D.96A — la commande commerciale d'origine, référencée via RFF+ON.
- IFTMBC, IFTMBP, IFTMBF — la famille booking (demande, proposition, confirmation).
- IFTMCS — le statut contractuel.
- IFTMAN — l'avis d'arrivée.
- CONTRL D.96A — l'accusé syntaxique automatique.
Équivalent JSON
Projection JSON correspondant à l'exemple ci-dessus. Ce mapping n'est pas normatif : c'est une convention ediverse pour faciliter l'intégration en TypeScript / Python.
{
"interchange": {
"controlRef": "CTRL000060",
"from": { "id": "5410000000123", "qualifier": "14" },
"to": { "id": "5410000000999", "qualifier": "14" },
"datetime": "2026-05-19T15:00:00Z",
"syntax": { "id": "UNOC", "version": "3" }
},
"message": {
"ref": "1",
"type": "IFTMIN",
"version": { "syntax": "D", "release": "96A", "agency": "UN" }
},
"transportInstruction": {
"number": "IFTMIN-2026-0519-A",
"function": "610",
"status": "9",
"issueDate": "2026-05-19",
"service": { "code": "30", "priority": "1" },
"origin": { "code": "FRROU", "country": "FR", "name": "Rouen" },
"destination": { "code": "DEHAM", "country": "DE", "name": "Hamburg" },
"pickupAt": "2026-05-20T14:00:00Z",
"deliveryAt": "2026-05-22T17:00:00Z",
"incoterm": "CIF",
"parties": {
"consignor": { "gln": "5410000000123", "name": "ACME LOGISTICS" },
"consignee": { "gln": "5410000000456", "name": "ACME PARIS DEPOT" },
"carrier": { "gln": "5410000000999", "name": "EUROCARRIER GMBH" }
},
"goods": {
"ref": 1,
"count": 10,
"packageType": "PAL",
"handling": "FRAGILE",
"weightKg": 6000,
"sku": "SKU-A",
"nature": "H"
},
"transport": {
"stage": "20",
"conveyance": "VOY-1234",
"mode": "1",
"type": "Sea",
"carrierName": "EUROCARRIER",
"vesselName": "MV NORTH STAR"
},
"equipment": {
"id": "EVRU1234567",
"type": "45GP",
"supplier": "5",
"quantity": 1,
"seal": "SEAL-998877"
},
"references": { "booking": "BOOKING-2026-0519-A" }
}
}