Standards

Cargo-IMP vs Cargo-XML: the two languages air cargo speaks

Cargo-IMP is the decades-old positional EDI air cargo runs on. Cargo-XML is IATA's modern replacement. Most systems still speak IMP today — which is why your data has to be ready for both.

Sep 4, 2026· 5 min read· Standards

turns air waybills into clean, validated shipment records — no keying, no OCR clean-up.

Start here

Cargo-IMP and Cargo-XML are two IATA messaging standards for the same air-cargo data. Cargo-IMP is the legacy, positional EDI format — fixed fields, teletype heritage — that the industry has run on for decades. Cargo-XML is the modern XML-based replacement IATA is steering everyone toward. Most carriers and handlers still ingest Cargo-IMP today, so in practice both are in play.

The message you know as FWB (air waybill data) has a form in each: FWB in Cargo-IMP, XFWB in Cargo-XML; the house-manifest FHL becomes XFHL. Same information, two encodings. IMP is compact and unforgiving — a field is defined by its position, so a stray character shifts everything after it. XML is verbose but self-describing and easier to validate, which is a big part of why IATA has been moving the industry to it.

Why the industry is mid-migration

IATA has been steering air cargo from Cargo-IMP to Cargo-XML for years, but a global network of carriers, forwarders, and ground handlers doesn't switch all at once. Each party upgrades on its own timeline, so IMP and XML coexist — and will for a while yet. A forwarder can't assume one or the other; the partner on the receiving end decides which they accept. It's the same reason two FWB versions coexist — standards move faster than the systems that read them.

With , you can hold one clean, validated record that's ready for whatever encoding your partner accepts.

Start here

What this means for your data

The safe position is to hold one clean, validated record and emit whatever encoding a given partner needs. If your data only exists as a Cargo-IMP FWB, moving to a partner on Cargo-XML means re-deriving it; if it lives as a structured record, the encoding is just an output step. The rule is the same one that keeps every format in agreement: extract and validate once, emit to the format on the other end.

same waybill data · two IATA encodings
Cargo-IMP   → FWB    # positional EDI · legacy, still widely used
Cargo-XML   → XFWB   # XML · IATA's modern standard

# AWBGuru today: extract + validate once, then emit
# Cargo-IMP FWB/16 or FWB/17 — plus JSON · XML · CSV · XLSX from the same record

Where AWBGuru sits

AWBGuru extracts and validates a waybill into one structured record and generates the Cargo-IMP FWB — version 16 or 17 — from it today, alongside JSON, XML, CSV, and XLSX. Because everything reads from one validated record, the encoding is a formatting decision, not a re-keying one. As partners move to Cargo-XML, the thing that matters is that the underlying record is already clean and validated — the format on the wire is the last step, not the hard part.

Frequently asked

What's the difference between Cargo-IMP and Cargo-XML?

They're two IATA messaging standards for the same air-cargo data. Cargo-IMP is the legacy positional-EDI format the industry has used for decades; Cargo-XML is the modern XML-based replacement IATA is moving the industry toward. The FWB (air waybill data) message is called XFWB in Cargo-XML.

Is Cargo-IMP going away?

IATA has been steering the industry from Cargo-IMP to Cargo-XML for years, but adoption is gradual — a global network of carriers, forwarders, and handlers upgrades on its own timeline, so Cargo-IMP is still widely used today and both standards coexist.

Which does AWBGuru generate?

AWBGuru generates Cargo-IMP FWB (version 16 or 17) from a validated record today, alongside JSON, XML, CSV, and XLSX. Because everything reads from one structured record, adding an encoding is a formatting step rather than re-keying the data.

One record, whichever language they speak.

Start with 30 free scans — no card. Extract and validate a waybill once, then generate the FWB the receiving system expects.

← All resources