ediverse Explorer la plateforme

À la une PEPPOL BIS Billing 3.0 L’obligation européenne d’e-invoicing arrive : France sept 2026, Belgique janv 2026, Allemagne 2025.

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.

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+PCIle 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 SG8 EQA+SEL pour l'équipement attaché.
  • SG9 GID+HAN — marchandises, avec SG10 MEA+EQN, SG11 DIM+EQN, SG12 PCI+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 STS dans 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.

edifact iftsta-d96a-example.edi
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.

json iftsta-d96a-equivalent.json
{
  "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" }
  }
}