IFTSTA — International Multimodal Status Report Message (D.96A)
Le message IFTSTA notifie le statut d'un transport — ou un changement de statut (un événement) — entre les parties prenantes convenues, à tout point physique ou temporel de la chaîne de transport.
Objet du message
Selon la définition officielle UN/CEFACT, IFTSTA est « un message pour rapporter le statut du transport et/ou un changement de statut (i.e. un événement) entre parties convenues ». Le standard précise qu'un message de statut peut être envoyé : en réponse à une demande de statut, sur une base programmée à intervalles préétablis, à l'occurrence d'événements sélectionnés, ou à l'occurrence d'événements exceptionnels convenus entre partenaires.
En pratique, IFTSTA porte les événements de tracking en chaîne logistique multimodale : enlevé, en transit, transbordé, dédouané, livré, exception (retard, avarie). Les compagnies maritimes émettent typiquement entre 5 et 20 IFTSTA par conteneur entre prise en charge et livraison finale.
Structure segmentaire
IFTSTA D.96A est un message à structure plate, sans section formelle Header/Detail/Summary : pas de UNS. La spec UNECE enchaîne un en-tête court, puis le loop consignment SG4 qui porte les statuts par envoi, puis l'UNT.
Header
Les segments mandataires sont : UNH M , BGM M .
Les segments conditionnels du header sont : DTM C , et TSR C .
Suivent les groupes d'en-tête : SG1 NAD (parties — émetteur du
statut, destinataire), SG2 CTA+COM (contacts), SG3 RFF+DTM+LOC+FTX+CNT
(références — numéro de booking, IFTMIN d'origine, lieu, free text, totaux contrôle).
Consignment et statuts
Le cœur métier est le loop SG4 (jusqu'à 999 occurrences) construit autour de CNI M . Chaque SG4 imbrique :
- SG5
STS+RFF+DTM+DOC+FTX+NAD+LOC+PCI— le statut (mandataire dans la spec, jusqu'à 99 occurrences). STS M , DTM C , DOC C , FTX C , NAD C , LOC C , PCI C . - SG6
TDT+RFF+LOC+DTM— détails de transport (mode, conveyance, ports). Permet de rapporter le navire/vol/train/véhicule associé à l'événement. - SG7
EQD+MEA+DIM+SEL— équipement (conteneur, scellé) avec SG8EQA+SELpour l'équipement attaché. - SG9
GID+HAN— marchandises, avec SG10MEA+EQN, SG11DIM+EQN, SG12PCI+GIN— identification des colis (SSCC) si on remonte au niveau colis.
Le segment STS est qualifié par :
STS[0] Status type (1 = Status, 2 = Reason), STS[1]
Status code (selon les nomenclatures sectorielles — UN/EDIFACT, BIC, SMDG pour le
maritime, Cargo iQ pour l'aérien). Le détail des codes est porté par STS[2] (Status
reason coded) et la composite optionnelle de description libre.
Trailer
Après le loop SG4 vient directement : UNT M . Pas de section Summary.
Obligatoire / conditionnel
Quatre éléments structurels sont strictement mandataires dans tout IFTSTA D.96A :
UNH— ouvre le message.BGM— précise la fonction (77 = Status report, 23 = Request, 9 = Original...) et le numéro.- SG4 avec son
CNI— au moins un consignment suivi (C dans la spec mais business critical). - SG5 avec son
STSdans chaque SG4 — au moins un statut (M dans SG5).
En pratique métier, il faut aussi : un NAD+CA en SG1 (émetteur =
transporteur), un RFF+CN (booking) ou RFF+BM (Bill of Lading),
un DTM+334 (date occurrence) sur chaque STS pour horodater l'événement, et
un LOC+11 (place of discharge) ou LOC+9 (place of loading)
pour spatialement situer l'événement.
Exemple réel
Un statut « Departed from origin terminal » émis par un transporteur maritime pour notifier que le conteneur a quitté Rouen pour Hambourg le 21 mai à 09:00, avec ETA le 22 mai à 17:00.
UNB+UNOC:3+5410000000999:14+5410000000123:14+260521:1030+CTRL000070'
UNH+1+IFTSTA:D:96A:UN'
BGM+77+IFTSTA-2026-0521-001+9'
DTM+137:202605211030:203'
NAD+CA+5410000000999::9+EUROCARRIER GMBH'
RFF+CN:BOOKING-2026-0519-A'
CNI+1+IFTMIN-2026-0519-A'
LOC+9+FRROU+FR:::Rouen'
STS+1+1+DL:::Departed from origin terminal'
DTM+334:202605210900:203'
LOC+9+FRROU+FR:::Rouen'
PCI+13+SHIPMENT-2026-0519-A'
TDT+20+VOY-1234+1+13:Sea++:::EUROCARRIER+++:MV NORTH STAR'
LOC+9+FRROU+FR:::Rouen'
LOC+11+DEHAM+DE:::Hamburg'
DTM+133:202605221700:203'
EQD+CN+EVRU1234567+45GP:103:5'
MEA+WT++KGM:6000'
SEL+SEAL-998877:CA'
GID+1+10:PAL:67'
HAN+++FRAGILE'
UNT+22+1'
UNZ+1+CTRL000070' BGM+77+IFTSTA-2026-0521-001+9— fonction 77 (Status report), numéro IFTSTA-2026-0521-001, statut 9 (Original).DTM+137:...:203— date d'émission du statut (qualifier 203 horodaté).NAD+CA— émetteur : le transporteur EUROCARRIER GMBH.RFF+CN— numéro de booking de référence.CNI+1+IFTMIN-2026-0519-A— Consignment Information : identification de l'envoi suivi par le numéro d'instruction IFTMIN d'origine.STS+1+1+DL— Status : type 1, reason 1, code DL (Departed from origin terminal), description libre dans le composite optionnel.DTM+334— date d'occurrence du statut (qualifier 334 = Status occurrence date).TDT+20— Transport stage 20 (Main carriage), navire MV NORTH STAR, mode 1 (Sea).LOC+9/LOC+11— ports d'origine et de destination.DTM+133— ETA Hambourg.EQD+CN+SEL— conteneur EVRU1234567, scellé n° SEAL-998877.GID+1+10:PAL:67— 10 palettes, handling « Fragile ».UNT+22+1— 22 segments.
Erreurs fréquentes
- STS sans DTM+334 — un statut sans date d'occurrence est inexploitable : on ne sait pas quand l'événement s'est produit. Le DTM+137 (date émission du message) ne suffit pas : le carrier peut envoyer l'IFTSTA bien après l'événement.
- STS sans LOC — un statut sans lieu géographique force le destinataire à inférer le LOC du contexte (TDT, CNI), ce qui n'est pas toujours possible pour les événements intermédiaires (transit, transbordement).
- CNI mal référencé — le CNI[1] doit identifier de manière non ambiguë l'envoi suivi : B/L number, booking number, IFTMIN number, freight receipt. Trop d'IFTSTA portent un CNI vide ou avec une référence interne carrier impossible à matcher chez le chargeur.
- STS code propriétaire non-standard — le standard UN/EDIFACT propose les codes EDIFACT, mais l'industrie maritime utilise massivement les codes SMDG (Smart-Reefer Container Codes), l'aérien Cargo iQ, le routier ses propres conventions. Toujours préciser le code list responsibility (STS[1:1]).
- IFTSTA en lieu et place d'IFTMAN — pour les avis d'arrivée formels avant débarquement, le message dédié est IFTMAN, pas IFTSTA. IFTSTA reste un statut générique.
- Pas de UNS — IFTSTA n'a pas de UNS. Ne pas en insérer un par mimétisme avec ORDERS/INVOIC.
Messages liés
IFTSTA s'inscrit dans la famille messages transport « single consignment » :
- IFTMIN D.96A — l'instruction de transport qui a déclenché l'expédition suivie.
- DESADV D.96A — l'avis d'expédition côté flux marchand.
- RECADV D.96A — l'avis de réception finale.
- IFTMAN — l'avis d'arrivée (Arrival Notice).
- IFTMBF — la confirmation de booking ferme.
- IFTMCS — le statut contractuel de l'instruction.
- 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": "CTRL000070",
"from": { "id": "5410000000999", "qualifier": "14" },
"to": { "id": "5410000000123", "qualifier": "14" },
"datetime": "2026-05-21T10:30:00Z",
"syntax": { "id": "UNOC", "version": "3" }
},
"message": {
"ref": "1",
"type": "IFTSTA",
"version": { "syntax": "D", "release": "96A", "agency": "UN" }
},
"transportStatus": {
"number": "IFTSTA-2026-0521-001",
"function": "77",
"status": "9",
"sentAt": "2026-05-21T10:30:00Z",
"carrier": { "gln": "5410000000999", "name": "EUROCARRIER GMBH" },
"booking": "BOOKING-2026-0519-A",
"consignment": {
"ref": 1,
"id": "IFTMIN-2026-0519-A",
"lastLocation": { "code": "FRROU", "country": "FR", "name": "Rouen" }
},
"event": {
"code": "1",
"reason": "1",
"type": "DL",
"label": "Departed from origin terminal",
"occurredAt": "2026-05-21T09:00:00Z",
"location": { "code": "FRROU", "country": "FR", "name": "Rouen" }
},
"shipmentRef": "SHIPMENT-2026-0519-A",
"transport": {
"stage": "20",
"conveyance": "VOY-1234",
"mode": "1",
"type": "Sea",
"carrierName": "EUROCARRIER",
"vesselName": "MV NORTH STAR",
"from": { "code": "FRROU", "country": "FR" },
"to": { "code": "DEHAM", "country": "DE" },
"etaAt": "2026-05-22T17:00:00Z"
},
"equipment": {
"id": "EVRU1234567",
"type": "45GP",
"weightKg": 6000,
"seal": "SEAL-998877"
},
"goods": { "ref": 1, "count": 10, "packageType": "PAL", "handling": "FRAGILE" }
}
}